Update checked-in dependencies
This commit is contained in:
parent
4fad06f438
commit
40a500c743
4168 changed files with 298222 additions and 374905 deletions
12
node_modules/eslint/lib/linter/apply-disable-directives.js
generated
vendored
12
node_modules/eslint/lib/linter/apply-disable-directives.js
generated
vendored
|
|
@ -5,6 +5,16 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Typedefs
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @typedef {import("../shared/types").LintMessage} LintMessage */
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Module Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const escapeRegExp = require("escape-string-regexp");
|
||||
|
||||
/**
|
||||
|
|
@ -196,7 +206,7 @@ function processUnusedDisableDirectives(allDirectives) {
|
|||
* @param {Object} options options for applying directives. This is the same as the options
|
||||
* for the exported function, except that `reportUnusedDisableDirectives` is not supported
|
||||
* (this function always reports unused disable directives).
|
||||
* @returns {{problems: Problem[], unusedDisableDirectives: Problem[]}} An object with a list
|
||||
* @returns {{problems: LintMessage[], unusedDisableDirectives: LintMessage[]}} An object with a list
|
||||
* of problems (including suppressed ones) and unused eslint-disable directives
|
||||
*/
|
||||
function applyDirectives(options) {
|
||||
|
|
|
|||
2
node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js
generated
vendored
2
node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js
generated
vendored
|
|
@ -109,7 +109,7 @@ module.exports = {
|
|||
text += "final[label=\"\",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];\n";
|
||||
}
|
||||
if (codePath.thrownSegments.length > 0) {
|
||||
text += "thrown[label=\"✘\",shape=circle,width=0.3,height=0.3,fixedsize];\n";
|
||||
text += "thrown[label=\"✘\",shape=circle,width=0.3,height=0.3,fixedsize=true];\n";
|
||||
}
|
||||
|
||||
const traceMap = Object.create(null);
|
||||
|
|
|
|||
11
node_modules/eslint/lib/linter/config-comment-parser.js
generated
vendored
11
node_modules/eslint/lib/linter/config-comment-parser.js
generated
vendored
|
|
@ -19,6 +19,12 @@ const levn = require("levn"),
|
|||
|
||||
const debug = require("debug")("eslint:config-comment-parser");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Typedefs
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @typedef {import("../shared/types").LintMessage} LintMessage */
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Public Interface
|
||||
//------------------------------------------------------------------------------
|
||||
|
|
@ -61,7 +67,7 @@ module.exports = class ConfigCommentParser {
|
|||
* Parses a JSON-like config.
|
||||
* @param {string} string The string to parse.
|
||||
* @param {Object} location Start line and column of comments for potential error message.
|
||||
* @returns {({success: true, config: Object}|{success: false, error: Problem})} Result map object
|
||||
* @returns {({success: true, config: Object}|{success: false, error: LintMessage})} Result map object
|
||||
*/
|
||||
parseJsonConfig(string, location) {
|
||||
debug("Parsing JSON config");
|
||||
|
|
@ -109,7 +115,8 @@ module.exports = class ConfigCommentParser {
|
|||
severity: 2,
|
||||
message: `Failed to parse JSON from '${normalizedString}': ${ex.message}`,
|
||||
line: location.start.line,
|
||||
column: location.start.column + 1
|
||||
column: location.start.column + 1,
|
||||
nodeType: null
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
112
node_modules/eslint/lib/linter/linter.js
generated
vendored
112
node_modules/eslint/lib/linter/linter.js
generated
vendored
|
|
@ -364,7 +364,7 @@ function extractDirectiveComment(value) {
|
|||
* @param {ASTNode} ast The top node of the AST.
|
||||
* @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules
|
||||
* @param {string|null} warnInlineConfig If a string then it should warn directive comments as disabled. The string value is the config name what the setting came from.
|
||||
* @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: Problem[], disableDirectives: DisableDirective[]}}
|
||||
* @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: LintMessage[], disableDirectives: DisableDirective[]}}
|
||||
* A collection of the directive comments that were found, along with any problems that occurred when parsing
|
||||
*/
|
||||
function getDirectiveComments(ast, ruleMapper, warnInlineConfig) {
|
||||
|
|
@ -592,7 +592,7 @@ function findEslintEnv(text) {
|
|||
* Convert "/path/to/<text>" to "<text>".
|
||||
* `CLIEngine#executeOnText()` method gives "/path/to/<text>" if the filename
|
||||
* was omitted because `configArray.extractConfig()` requires an absolute path.
|
||||
* But the linter should pass `<text>` to `RuleContext#getFilename()` in that
|
||||
* But the linter should pass `<text>` to `RuleContext#filename` in that
|
||||
* case.
|
||||
* Also, code blocks can have their virtual filename. If the parent filename was
|
||||
* `<text>`, the virtual filename is `<text>/0_foo.js` or something like (i.e.,
|
||||
|
|
@ -775,7 +775,7 @@ function analyzeScope(ast, languageOptions, visitorKeys) {
|
|||
* @param {string} text The text to parse.
|
||||
* @param {LanguageOptions} languageOptions Options to pass to the parser
|
||||
* @param {string} filePath The path to the file being parsed.
|
||||
* @returns {{success: false, error: Problem}|{success: true, sourceCode: SourceCode}}
|
||||
* @returns {{success: false, error: LintMessage}|{success: true, sourceCode: SourceCode}}
|
||||
* An object containing the AST and parser services if parsing was successful, or the error if parsing failed
|
||||
* @private
|
||||
*/
|
||||
|
|
@ -851,69 +851,13 @@ function parse(text, languageOptions, filePath) {
|
|||
severity: 2,
|
||||
message,
|
||||
line: ex.lineNumber,
|
||||
column: ex.column
|
||||
column: ex.column,
|
||||
nodeType: null
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the scope for the current node
|
||||
* @param {ScopeManager} scopeManager The scope manager for this AST
|
||||
* @param {ASTNode} currentNode The node to get the scope of
|
||||
* @returns {eslint-scope.Scope} The scope information for this node
|
||||
*/
|
||||
function getScope(scopeManager, currentNode) {
|
||||
|
||||
// On Program node, get the outermost scope to avoid return Node.js special function scope or ES modules scope.
|
||||
const inner = currentNode.type !== "Program";
|
||||
|
||||
for (let node = currentNode; node; node = node.parent) {
|
||||
const scope = scopeManager.acquire(node, inner);
|
||||
|
||||
if (scope) {
|
||||
if (scope.type === "function-expression-name") {
|
||||
return scope.childScopes[0];
|
||||
}
|
||||
return scope;
|
||||
}
|
||||
}
|
||||
|
||||
return scopeManager.scopes[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks a variable as used in the current scope
|
||||
* @param {ScopeManager} scopeManager The scope manager for this AST. The scope may be mutated by this function.
|
||||
* @param {ASTNode} currentNode The node currently being traversed
|
||||
* @param {LanguageOptions} languageOptions The options used to parse this text
|
||||
* @param {string} name The name of the variable that should be marked as used.
|
||||
* @returns {boolean} True if the variable was found and marked as used, false if not.
|
||||
*/
|
||||
function markVariableAsUsed(scopeManager, currentNode, languageOptions, name) {
|
||||
const parserOptions = languageOptions.parserOptions;
|
||||
const sourceType = languageOptions.sourceType;
|
||||
const hasGlobalReturn =
|
||||
(parserOptions.ecmaFeatures && parserOptions.ecmaFeatures.globalReturn) ||
|
||||
sourceType === "commonjs";
|
||||
const specialScope = hasGlobalReturn || sourceType === "module";
|
||||
const currentScope = getScope(scopeManager, currentNode);
|
||||
|
||||
// Special Node.js scope means we need to start one level deeper
|
||||
const initialScope = currentScope.type === "global" && specialScope ? currentScope.childScopes[0] : currentScope;
|
||||
|
||||
for (let scope = initialScope; scope; scope = scope.upper) {
|
||||
const variable = scope.variables.find(scopeVar => scopeVar.name === name);
|
||||
|
||||
if (variable) {
|
||||
variable.eslintUsed = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs a rule, and gets its listeners
|
||||
* @param {Rule} rule A normalized rule with a `create` method
|
||||
|
|
@ -930,22 +874,6 @@ function createRuleListeners(rule, ruleContext) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all the ancestors of a given node
|
||||
* @param {ASTNode} node The node
|
||||
* @returns {ASTNode[]} All the ancestor nodes in the AST, not including the provided node, starting
|
||||
* from the root node and going inwards to the parent node.
|
||||
*/
|
||||
function getAncestors(node) {
|
||||
const ancestorsStartingAtParent = [];
|
||||
|
||||
for (let ancestor = node.parent; ancestor; ancestor = ancestor.parent) {
|
||||
ancestorsStartingAtParent.push(ancestor);
|
||||
}
|
||||
|
||||
return ancestorsStartingAtParent.reverse();
|
||||
}
|
||||
|
||||
// methods that exist on SourceCode object
|
||||
const DEPRECATED_SOURCECODE_PASSTHROUGHS = {
|
||||
getSource: "getText",
|
||||
|
|
@ -975,7 +903,7 @@ const BASE_TRAVERSAL_CONTEXT = Object.freeze(
|
|||
(contextInfo, methodName) =>
|
||||
Object.assign(contextInfo, {
|
||||
[methodName](...args) {
|
||||
return this.getSourceCode()[DEPRECATED_SOURCECODE_PASSTHROUGHS[methodName]](...args);
|
||||
return this.sourceCode[DEPRECATED_SOURCECODE_PASSTHROUGHS[methodName]](...args);
|
||||
}
|
||||
}),
|
||||
{}
|
||||
|
|
@ -994,7 +922,7 @@ const BASE_TRAVERSAL_CONTEXT = Object.freeze(
|
|||
* @param {boolean} disableFixes If true, it doesn't make `fix` properties.
|
||||
* @param {string | undefined} cwd cwd of the cli
|
||||
* @param {string} physicalFilename The full path of the file on disk without any code block information
|
||||
* @returns {Problem[]} An array of reported problems
|
||||
* @returns {LintMessage[]} An array of reported problems
|
||||
*/
|
||||
function runRules(sourceCode, configuredRules, ruleMapper, parserName, languageOptions, settings, filename, disableFixes, cwd, physicalFilename) {
|
||||
const emitter = createEmitter();
|
||||
|
|
@ -1021,14 +949,18 @@ function runRules(sourceCode, configuredRules, ruleMapper, parserName, languageO
|
|||
Object.assign(
|
||||
Object.create(BASE_TRAVERSAL_CONTEXT),
|
||||
{
|
||||
getAncestors: () => getAncestors(currentNode),
|
||||
getDeclaredVariables: sourceCode.scopeManager.getDeclaredVariables.bind(sourceCode.scopeManager),
|
||||
getAncestors: () => sourceCode.getAncestors(currentNode),
|
||||
getDeclaredVariables: node => sourceCode.getDeclaredVariables(node),
|
||||
getCwd: () => cwd,
|
||||
cwd,
|
||||
getFilename: () => filename,
|
||||
filename,
|
||||
getPhysicalFilename: () => physicalFilename || filename,
|
||||
getScope: () => getScope(sourceCode.scopeManager, currentNode),
|
||||
physicalFilename: physicalFilename || filename,
|
||||
getScope: () => sourceCode.getScope(currentNode),
|
||||
getSourceCode: () => sourceCode,
|
||||
markVariableAsUsed: name => markVariableAsUsed(sourceCode.scopeManager, currentNode, languageOptions, name),
|
||||
sourceCode,
|
||||
markVariableAsUsed: name => sourceCode.markVariableAsUsed(name, currentNode),
|
||||
parserOptions: {
|
||||
...languageOptions.parserOptions
|
||||
},
|
||||
|
|
@ -1322,7 +1254,8 @@ class Linter {
|
|||
severity: 2,
|
||||
message: `Configured parser '${config.parser}' was not found.`,
|
||||
line: 0,
|
||||
column: 0
|
||||
column: 0,
|
||||
nodeType: null
|
||||
}];
|
||||
}
|
||||
parserName = config.parser;
|
||||
|
|
@ -1533,7 +1466,8 @@ class Linter {
|
|||
severity: 2,
|
||||
message,
|
||||
line: ex.lineNumber,
|
||||
column: ex.column
|
||||
column: ex.column,
|
||||
nodeType: null
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -1798,7 +1732,8 @@ class Linter {
|
|||
severity: 1,
|
||||
message: `No matching configuration found for ${filename}.`,
|
||||
line: 0,
|
||||
column: 0
|
||||
column: 0,
|
||||
nodeType: null
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -1863,7 +1798,8 @@ class Linter {
|
|||
severity: 2,
|
||||
message,
|
||||
line: ex.lineNumber,
|
||||
column: ex.column
|
||||
column: ex.column,
|
||||
nodeType: null
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -1909,7 +1845,7 @@ class Linter {
|
|||
/**
|
||||
* Given a list of reported problems, distinguish problems between normal messages and suppressed messages.
|
||||
* The normal messages will be returned and the suppressed messages will be stored as lastSuppressedMessages.
|
||||
* @param {Problem[]} problems A list of reported problems.
|
||||
* @param {Array<LintMessage|SuppressedLintMessage>} problems A list of reported problems.
|
||||
* @returns {LintMessage[]} A list of LintMessage.
|
||||
*/
|
||||
_distinguishSuppressedMessages(problems) {
|
||||
|
|
|
|||
23
node_modules/eslint/lib/linter/report-translator.js
generated
vendored
23
node_modules/eslint/lib/linter/report-translator.js
generated
vendored
|
|
@ -17,6 +17,8 @@ const interpolate = require("./interpolate");
|
|||
// Typedefs
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @typedef {import("../shared/types").LintMessage} LintMessage */
|
||||
|
||||
/**
|
||||
* An error message description
|
||||
* @typedef {Object} MessageDescriptor
|
||||
|
|
@ -29,23 +31,6 @@ const interpolate = require("./interpolate");
|
|||
* @property {Array<{desc?: string, messageId?: string, fix: Function}>} suggest Suggestion descriptions and functions to create a the associated fixes.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Information about the report
|
||||
* @typedef {Object} ReportInfo
|
||||
* @property {string} ruleId The rule ID
|
||||
* @property {(0|1|2)} severity Severity of the error
|
||||
* @property {(string|undefined)} message The message
|
||||
* @property {(string|undefined)} [messageId] The message ID
|
||||
* @property {number} line The line number
|
||||
* @property {number} column The column number
|
||||
* @property {(number|undefined)} [endLine] The ending line number
|
||||
* @property {(number|undefined)} [endColumn] The ending column number
|
||||
* @property {(string|null)} nodeType Type of node
|
||||
* @property {string} source Source text
|
||||
* @property {({text: string, range: (number[]|null)}|null)} [fix] The fix object
|
||||
* @property {Array<{text: string, range: (number[]|null)}|null>} [suggestions] Suggestion info
|
||||
*/
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Module Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
|
@ -239,7 +224,7 @@ function mapSuggestions(descriptor, sourceCode, messages) {
|
|||
* @param {{start: SourceLocation, end: (SourceLocation|null)}} options.loc Start and end location
|
||||
* @param {{text: string, range: (number[]|null)}} options.fix The fix object
|
||||
* @param {Array<{text: string, range: (number[]|null)}>} options.suggestions The array of suggestions objects
|
||||
* @returns {function(...args): ReportInfo} Function that returns information about the report
|
||||
* @returns {LintMessage} Information about the report
|
||||
*/
|
||||
function createProblem(options) {
|
||||
const problem = {
|
||||
|
|
@ -314,7 +299,7 @@ function validateSuggestions(suggest, messages) {
|
|||
* problem for the Node.js API.
|
||||
* @param {{ruleId: string, severity: number, sourceCode: SourceCode, messageIds: Object, disableFixes: boolean}} metadata Metadata for the reported problem
|
||||
* @param {SourceCode} sourceCode The `SourceCode` instance for the text being linted
|
||||
* @returns {function(...args): ReportInfo} Function that returns information about the report
|
||||
* @returns {function(...args): LintMessage} Function that returns information about the report
|
||||
*/
|
||||
|
||||
module.exports = function createReportTranslator(metadata) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue