Update checked-in dependencies
This commit is contained in:
parent
4fad06f438
commit
40a500c743
4168 changed files with 298222 additions and 374905 deletions
7
node_modules/eslint/lib/config/default-config.js
generated
vendored
7
node_modules/eslint/lib/config/default-config.js
generated
vendored
|
|
@ -19,9 +19,6 @@ exports.defaultConfig = [
|
|||
{
|
||||
plugins: {
|
||||
"@": {
|
||||
parsers: {
|
||||
espree: require("espree")
|
||||
},
|
||||
|
||||
/*
|
||||
* Because we try to delay loading rules until absolutely
|
||||
|
|
@ -43,7 +40,7 @@ exports.defaultConfig = [
|
|||
languageOptions: {
|
||||
sourceType: "module",
|
||||
ecmaVersion: "latest",
|
||||
parser: "@/espree",
|
||||
parser: require("espree"),
|
||||
parserOptions: {}
|
||||
}
|
||||
},
|
||||
|
|
@ -51,7 +48,7 @@ exports.defaultConfig = [
|
|||
// default ignores are listed here
|
||||
{
|
||||
ignores: [
|
||||
"**/node_modules/*",
|
||||
"**/node_modules/",
|
||||
".git/"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
94
node_modules/eslint/lib/config/flat-config-array.js
generated
vendored
94
node_modules/eslint/lib/config/flat-config-array.js
generated
vendored
|
|
@ -13,7 +13,7 @@ const { ConfigArray, ConfigArraySymbol } = require("@humanwhocodes/config-array"
|
|||
const { flatConfigSchema } = require("./flat-config-schema");
|
||||
const { RuleValidator } = require("./rule-validator");
|
||||
const { defaultConfig } = require("./default-config");
|
||||
const recommendedConfig = require("../../conf/eslint-recommended");
|
||||
const jsPlugin = require("@eslint/js");
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Helpers
|
||||
|
|
@ -36,6 +36,45 @@ function splitPluginIdentifier(identifier) {
|
|||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of an object in the config by reading its `meta` key.
|
||||
* @param {Object} object The object to check.
|
||||
* @returns {string?} The name of the object if found or `null` if there
|
||||
* is no name.
|
||||
*/
|
||||
function getObjectId(object) {
|
||||
|
||||
// first check old-style name
|
||||
let name = object.name;
|
||||
|
||||
if (!name) {
|
||||
|
||||
if (!object.meta) {
|
||||
return null;
|
||||
}
|
||||
|
||||
name = object.meta.name;
|
||||
|
||||
if (!name) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// now check for old-style version
|
||||
let version = object.version;
|
||||
|
||||
if (!version) {
|
||||
version = object.meta && object.meta.version;
|
||||
}
|
||||
|
||||
// if there's a version then append that
|
||||
if (version) {
|
||||
return `${name}@${version}`;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
const originalBaseConfig = Symbol("originalBaseConfig");
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -96,17 +135,23 @@ class FlatConfigArray extends ConfigArray {
|
|||
*/
|
||||
[ConfigArraySymbol.preprocessConfig](config) {
|
||||
if (config === "eslint:recommended") {
|
||||
return recommendedConfig;
|
||||
|
||||
// if we are in a Node.js environment warn the user
|
||||
if (typeof process !== "undefined" && process.emitWarning) {
|
||||
process.emitWarning("The 'eslint:recommended' string configuration is deprecated and will be replaced by the @eslint/js package's 'recommended' config.");
|
||||
}
|
||||
|
||||
return jsPlugin.configs.recommended;
|
||||
}
|
||||
|
||||
if (config === "eslint:all") {
|
||||
|
||||
/*
|
||||
* Load `eslint-all.js` here instead of at the top level to avoid loading all rule modules
|
||||
* when it isn't necessary. `eslint-all.js` reads `meta` of rule objects to filter out deprecated ones,
|
||||
* so requiring `eslint-all.js` module loads all rule modules as a consequence.
|
||||
*/
|
||||
return require("../../conf/eslint-all");
|
||||
// if we are in a Node.js environment warn the user
|
||||
if (typeof process !== "undefined" && process.emitWarning) {
|
||||
process.emitWarning("The 'eslint:all' string configuration is deprecated and will be replaced by the @eslint/js package's 'all' config.");
|
||||
}
|
||||
|
||||
return jsPlugin.configs.all;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -145,16 +190,15 @@ class FlatConfigArray extends ConfigArray {
|
|||
|
||||
// Check parser value
|
||||
if (languageOptions && languageOptions.parser) {
|
||||
if (typeof languageOptions.parser === "string") {
|
||||
const { pluginName, objectName: localParserName } = splitPluginIdentifier(languageOptions.parser);
|
||||
const { parser } = languageOptions;
|
||||
|
||||
parserName = languageOptions.parser;
|
||||
if (typeof parser === "object") {
|
||||
parserName = getObjectId(parser);
|
||||
|
||||
if (!plugins || !plugins[pluginName] || !plugins[pluginName].parsers || !plugins[pluginName].parsers[localParserName]) {
|
||||
throw new TypeError(`Key "parser": Could not find "${localParserName}" in plugin "${pluginName}".`);
|
||||
if (!parserName) {
|
||||
invalidParser = true;
|
||||
}
|
||||
|
||||
languageOptions.parser = plugins[pluginName].parsers[localParserName];
|
||||
} else {
|
||||
invalidParser = true;
|
||||
}
|
||||
|
|
@ -172,6 +216,13 @@ class FlatConfigArray extends ConfigArray {
|
|||
}
|
||||
|
||||
config.processor = plugins[pluginName].processors[localProcessorName];
|
||||
} else if (typeof processor === "object") {
|
||||
processorName = getObjectId(processor);
|
||||
|
||||
if (!processorName) {
|
||||
invalidProcessor = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
invalidProcessor = true;
|
||||
}
|
||||
|
|
@ -185,16 +236,25 @@ class FlatConfigArray extends ConfigArray {
|
|||
value: function() {
|
||||
|
||||
if (invalidParser) {
|
||||
throw new Error("Caching is not supported when parser is an object.");
|
||||
throw new Error("Could not serialize parser object (missing 'meta' object).");
|
||||
}
|
||||
|
||||
if (invalidProcessor) {
|
||||
throw new Error("Caching is not supported when processor is an object.");
|
||||
throw new Error("Could not serialize processor object (missing 'meta' object).");
|
||||
}
|
||||
|
||||
return {
|
||||
...this,
|
||||
plugins: Object.keys(plugins),
|
||||
plugins: Object.entries(plugins).map(([namespace, plugin]) => {
|
||||
|
||||
const pluginId = getObjectId(plugin);
|
||||
|
||||
if (!pluginId) {
|
||||
return namespace;
|
||||
}
|
||||
|
||||
return `${namespace}:${pluginId}`;
|
||||
}),
|
||||
languageOptions: {
|
||||
...languageOptions,
|
||||
parser: parserName
|
||||
|
|
|
|||
120
node_modules/eslint/lib/config/flat-config-schema.js
generated
vendored
120
node_modules/eslint/lib/config/flat-config-schema.js
generated
vendored
|
|
@ -126,32 +126,65 @@ function normalizeRuleOptions(ruleOptions) {
|
|||
// Assertions
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* The error type when a rule's options are configured with an invalid type.
|
||||
*/
|
||||
class InvalidRuleOptionsError extends Error {
|
||||
|
||||
/**
|
||||
* @param {string} ruleId Rule name being configured.
|
||||
* @param {any} value The invalid value.
|
||||
*/
|
||||
constructor(ruleId, value) {
|
||||
super(`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`);
|
||||
this.messageTemplate = "invalid-rule-options";
|
||||
this.messageData = { ruleId, value };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates that a value is a valid rule options entry.
|
||||
* @param {string} ruleId Rule name being configured.
|
||||
* @param {any} value The value to check.
|
||||
* @returns {void}
|
||||
* @throws {TypeError} If the value isn't a valid rule options.
|
||||
* @throws {InvalidRuleOptionsError} If the value isn't a valid rule options.
|
||||
*/
|
||||
function assertIsRuleOptions(value) {
|
||||
|
||||
function assertIsRuleOptions(ruleId, value) {
|
||||
if (typeof value !== "string" && typeof value !== "number" && !Array.isArray(value)) {
|
||||
throw new TypeError("Expected a string, number, or array.");
|
||||
throw new InvalidRuleOptionsError(ruleId, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The error type when a rule's severity is invalid.
|
||||
*/
|
||||
class InvalidRuleSeverityError extends Error {
|
||||
|
||||
/**
|
||||
* @param {string} ruleId Rule name being configured.
|
||||
* @param {any} value The invalid value.
|
||||
*/
|
||||
constructor(ruleId, value) {
|
||||
super(`Key "${ruleId}": Expected severity of "off", 0, "warn", 1, "error", or 2.`);
|
||||
this.messageTemplate = "invalid-rule-severity";
|
||||
this.messageData = { ruleId, value };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates that a value is valid rule severity.
|
||||
* @param {string} ruleId Rule name being configured.
|
||||
* @param {any} value The value to check.
|
||||
* @returns {void}
|
||||
* @throws {TypeError} If the value isn't a valid rule severity.
|
||||
* @throws {InvalidRuleSeverityError} If the value isn't a valid rule severity.
|
||||
*/
|
||||
function assertIsRuleSeverity(value) {
|
||||
function assertIsRuleSeverity(ruleId, value) {
|
||||
const severity = typeof value === "string"
|
||||
? ruleSeverities.get(value.toLowerCase())
|
||||
: ruleSeverities.get(value);
|
||||
|
||||
if (typeof severity === "undefined") {
|
||||
throw new TypeError("Expected severity of \"off\", 0, \"warn\", 1, \"error\", or 2.");
|
||||
throw new InvalidRuleSeverityError(ruleId, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -179,18 +212,6 @@ function assertIsObject(value) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates that a value is an object or a string.
|
||||
* @param {any} value The value to check.
|
||||
* @returns {void}
|
||||
* @throws {TypeError} If the value isn't an object or a string.
|
||||
*/
|
||||
function assertIsObjectOrString(value) {
|
||||
if ((!value || typeof value !== "object") && typeof value !== "string") {
|
||||
throw new TypeError("Expected an object or string.");
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Low-Level Schemas
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -242,15 +263,13 @@ const globalsSchema = {
|
|||
const parserSchema = {
|
||||
merge: "replace",
|
||||
validate(value) {
|
||||
assertIsObjectOrString(value);
|
||||
|
||||
if (typeof value === "object" && typeof value.parse !== "function" && typeof value.parseForESLint !== "function") {
|
||||
throw new TypeError("Expected object to have a parse() or parseForESLint() method.");
|
||||
if (!value || typeof value !== "object" ||
|
||||
(typeof value.parse !== "function" && typeof value.parseForESLint !== "function")
|
||||
) {
|
||||
throw new TypeError("Expected object with parse() or parseForESLint() method.");
|
||||
}
|
||||
|
||||
if (typeof value === "string") {
|
||||
assertIsPluginMemberName(value);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -371,39 +390,28 @@ const rulesSchema = {
|
|||
validate(value) {
|
||||
assertIsObject(value);
|
||||
|
||||
let lastRuleId;
|
||||
/*
|
||||
* We are not checking the rule schema here because there is no
|
||||
* guarantee that the rule definition is present at this point. Instead
|
||||
* we wait and check the rule schema during the finalization step
|
||||
* of calculating a config.
|
||||
*/
|
||||
for (const ruleId of Object.keys(value)) {
|
||||
|
||||
// Performance: One try-catch has less overhead than one per loop iteration
|
||||
try {
|
||||
|
||||
/*
|
||||
* We are not checking the rule schema here because there is no
|
||||
* guarantee that the rule definition is present at this point. Instead
|
||||
* we wait and check the rule schema during the finalization step
|
||||
* of calculating a config.
|
||||
*/
|
||||
for (const ruleId of Object.keys(value)) {
|
||||
|
||||
// avoid hairy edge case
|
||||
if (ruleId === "__proto__") {
|
||||
continue;
|
||||
}
|
||||
|
||||
lastRuleId = ruleId;
|
||||
|
||||
const ruleOptions = value[ruleId];
|
||||
|
||||
assertIsRuleOptions(ruleOptions);
|
||||
|
||||
if (Array.isArray(ruleOptions)) {
|
||||
assertIsRuleSeverity(ruleOptions[0]);
|
||||
} else {
|
||||
assertIsRuleSeverity(ruleOptions);
|
||||
}
|
||||
// avoid hairy edge case
|
||||
if (ruleId === "__proto__") {
|
||||
continue;
|
||||
}
|
||||
|
||||
const ruleOptions = value[ruleId];
|
||||
|
||||
assertIsRuleOptions(ruleId, ruleOptions);
|
||||
|
||||
if (Array.isArray(ruleOptions)) {
|
||||
assertIsRuleSeverity(ruleId, ruleOptions[0]);
|
||||
} else {
|
||||
assertIsRuleSeverity(ruleId, ruleOptions);
|
||||
}
|
||||
} catch (error) {
|
||||
error.message = `Key "${lastRuleId}": ${error.message}`;
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue