Socket
Socket
Sign inDemoInstall

eslint

Package Overview
Dependencies
Maintainers
4
Versions
366
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint - npm Package Compare versions

Comparing version 8.39.0 to 8.40.0

messages/invalid-rule-options.js

92

lib/config/flat-config-schema.js

@@ -130,11 +130,27 @@ /**

/**
* 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);
}

@@ -144,8 +160,25 @@ }

/**
* 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"

@@ -156,3 +189,3 @@ ? ruleSeverities.get(value.toLowerCase())

if (typeof severity === "undefined") {
throw new TypeError("Expected severity of \"off\", 0, \"warn\", 1, \"error\", or 2.");
throw new InvalidRuleSeverityError(ruleId, value);
}

@@ -363,35 +396,24 @@ }

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 {
// avoid hairy edge case
if (ruleId === "__proto__") {
continue;
}
/*
* 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)) {
const ruleOptions = value[ruleId];
// avoid hairy edge case
if (ruleId === "__proto__") {
continue;
}
assertIsRuleOptions(ruleId, ruleOptions);
lastRuleId = ruleId;
const ruleOptions = value[ruleId];
assertIsRuleOptions(ruleOptions);
if (Array.isArray(ruleOptions)) {
assertIsRuleSeverity(ruleOptions[0]);
} else {
assertIsRuleSeverity(ruleOptions);
}
if (Array.isArray(ruleOptions)) {
assertIsRuleSeverity(ruleId, ruleOptions[0]);
} else {
assertIsRuleSeverity(ruleId, ruleOptions);
}
} catch (error) {
error.message = `Key "${lastRuleId}": ${error.message}`;
throw error;
}

@@ -398,0 +420,0 @@ }

@@ -324,2 +324,41 @@ /**

/**
* Determines which config file to use. This is determined by seeing if an
* override config file was passed, and if so, using it; otherwise, as long
* as override config file is not explicitly set to `false`, it will search
* upwards from the cwd for a file named `eslint.config.js`.
* @param {import("./eslint").ESLintOptions} options The ESLint instance options.
* @returns {{configFilePath:string,basePath:string,error:boolean}} Location information for
* the config file.
*/
async function locateConfigFileToUse({ configFile, cwd }) {
// determine where to load config file from
let configFilePath;
let basePath = cwd;
let error = false;
if (typeof configFile === "string") {
debug(`Override config file path is ${configFile}`);
configFilePath = path.resolve(cwd, configFile);
} else if (configFile !== false) {
debug("Searching for eslint.config.js");
configFilePath = await findFlatConfigFile(cwd);
if (configFilePath) {
basePath = path.resolve(path.dirname(configFilePath));
} else {
error = true;
}
}
return {
configFilePath,
basePath,
error
};
}
/**
* Calculates the config array for this run based on inputs.

@@ -346,21 +385,9 @@ * @param {FlatESLint} eslint The instance to create the config array for.

// determine where to load config file from
let configFilePath;
let basePath = cwd;
const { configFilePath, basePath, error } = await locateConfigFileToUse({ configFile, cwd });
if (typeof configFile === "string") {
debug(`Override config file path is ${configFile}`);
configFilePath = path.resolve(cwd, configFile);
} else if (configFile !== false) {
debug("Searching for eslint.config.js");
configFilePath = await findFlatConfigFile(cwd);
if (!configFilePath) {
throw new Error("Could not find config file.");
}
basePath = path.resolve(path.dirname(configFilePath));
// config file is required to calculate config
if (error) {
throw new Error("Could not find config file.");
}
const configs = new FlatConfigArray(baseConfig || [], { basePath, shouldIgnore });

@@ -1166,2 +1193,15 @@

/**
* Finds the config file being used by this instance based on the options
* passed to the constructor.
* @returns {string|undefined} The path to the config file being used or
* `undefined` if no config file is being used.
*/
async findConfigFile() {
const options = privateMembers.get(this).options;
const { configFilePath } = await locateConfigFileToUse(options);
return configFilePath;
}
/**
* Checks if a given path is ignored by ESLint.

@@ -1168,0 +1208,0 @@ * @param {string} filePath The path of the file to check.

@@ -145,3 +145,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/accessor-pairs"
url: "https://eslint.org/docs/latest/rules/accessor-pairs"
},

@@ -182,3 +182,3 @@

const enforceForClassMembers = config.enforceForClassMembers !== false;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -185,0 +185,0 @@ /**

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/array-bracket-newline"
url: "https://eslint.org/docs/latest/rules/array-bracket-newline"
},

@@ -60,3 +60,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -63,0 +63,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/array-bracket-spacing"
url: "https://eslint.org/docs/latest/rules/array-bracket-spacing"
},

@@ -57,3 +57,3 @@

const spaced = context.options[0] === "always",
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -60,0 +60,0 @@ /**

@@ -144,3 +144,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/array-callback-return"
url: "https://eslint.org/docs/latest/rules/array-callback-return"
},

@@ -176,3 +176,3 @@

const options = context.options[0] || { allowImplicit: false, checkForEach: false };
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -179,0 +179,0 @@ let funcInfo = {

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/array-element-newline"
url: "https://eslint.org/docs/latest/rules/array-element-newline"
},

@@ -83,3 +83,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -86,0 +86,0 @@ //----------------------------------------------------------------------

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/arrow-body-style"
url: "https://eslint.org/docs/latest/rules/arrow-body-style"
},

@@ -78,3 +78,3 @@

const requireReturnForObjectLiteral = options[1] && options[1].requireReturnForObjectLiteral;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let funcInfo = null;

@@ -81,0 +81,0 @@

@@ -38,3 +38,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/arrow-parens"
url: "https://eslint.org/docs/latest/rules/arrow-parens"
},

@@ -73,3 +73,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -76,0 +76,0 @@ /**

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/arrow-spacing"
url: "https://eslint.org/docs/latest/rules/arrow-spacing"
},

@@ -65,3 +65,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -68,0 +68,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/block-scoped-var"
url: "https://eslint.org/docs/latest/rules/block-scoped-var"
},

@@ -32,3 +32,3 @@

let stack = [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -35,0 +35,0 @@ /**

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/block-spacing"
url: "https://eslint.org/docs/latest/rules/block-spacing"
},

@@ -41,3 +41,3 @@

messageId = always ? "missing" : "extra",
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -44,0 +44,0 @@ /**

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/brace-style"
url: "https://eslint.org/docs/latest/rules/brace-style"
},

@@ -57,3 +57,3 @@

params = context.options[1] || {},
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -60,0 +60,0 @@ //--------------------------------------------------------------------------

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/callback-return"
url: "https://eslint.org/docs/latest/rules/callback-return"
},

@@ -41,3 +41,3 @@

const callbacks = context.options[0] || ["callback", "cb", "next"],
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -44,0 +44,0 @@ //--------------------------------------------------------------------------

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/camelcase"
url: "https://eslint.org/docs/latest/rules/camelcase"
},

@@ -77,3 +77,3 @@

const allow = options.allow || [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -80,0 +80,0 @@ //--------------------------------------------------------------------------

@@ -110,3 +110,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/capitalized-comments"
url: "https://eslint.org/docs/latest/rules/capitalized-comments"
},

@@ -143,3 +143,3 @@

normalizedOptions = getAllNormalizedOptions(context.options[1]),
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -146,0 +146,0 @@ createRegExpForIgnorePatterns(normalizedOptions);

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/class-methods-use-this"
url: "https://eslint.org/docs/latest/rules/class-methods-use-this"
},

@@ -137,3 +137,3 @@

node,
loc: astUtils.getFunctionHeadLoc(node, context.getSourceCode()),
loc: astUtils.getFunctionHeadLoc(node, context.sourceCode),
messageId: "missingThis",

@@ -140,0 +140,0 @@ data: {

@@ -81,3 +81,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/comma-dangle"
url: "https://eslint.org/docs/latest/rules/comma-dangle"
},

@@ -140,3 +140,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -143,0 +143,0 @@ /**

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/comma-spacing"
url: "https://eslint.org/docs/latest/rules/comma-spacing"
},

@@ -52,3 +52,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const tokensAndComments = sourceCode.tokensAndComments;

@@ -55,0 +55,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/comma-style"
url: "https://eslint.org/docs/latest/rules/comma-style"
},

@@ -55,3 +55,3 @@

const style = context.options[0] || "last",
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;
const exceptions = {

@@ -58,0 +58,0 @@ ArrayPattern: true,

@@ -28,3 +28,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/complexity"
url: "https://eslint.org/docs/latest/rules/complexity"
},

@@ -31,0 +31,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/computed-property-spacing"
url: "https://eslint.org/docs/latest/rules/computed-property-spacing"
},

@@ -53,3 +53,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const propertyNameMustBeSpaced = context.options[0] === "always"; // default is "never"

@@ -56,0 +56,0 @@ const enforceForClassMembers = !context.options[1] || context.options[1].enforceForClassMembers;

@@ -51,3 +51,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/consistent-return"
url: "https://eslint.org/docs/latest/rules/consistent-return"
},

@@ -108,3 +108,3 @@

// `=>` token
loc = context.getSourceCode().getTokenBefore(node.body, astUtils.isArrowToken).loc;
loc = context.sourceCode.getTokenBefore(node.body, astUtils.isArrowToken).loc;
} else if (

@@ -120,3 +120,3 @@ node.parent.type === "MethodDefinition" ||

// Function name or `function` keyword.
loc = (node.id || context.getSourceCode().getFirstToken(node)).loc;
loc = (node.id || context.sourceCode.getFirstToken(node)).loc;
}

@@ -123,0 +123,0 @@

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/consistent-this"
url: "https://eslint.org/docs/latest/rules/consistent-this"
},

@@ -40,3 +40,3 @@

let aliases = [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -43,0 +43,0 @@ if (context.options.length === 0) {

@@ -127,3 +127,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/constructor-super"
url: "https://eslint.org/docs/latest/rules/constructor-super"
},

@@ -130,0 +130,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/curly"
url: "https://eslint.org/docs/latest/rules/curly"
},

@@ -74,3 +74,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -77,0 +77,0 @@ //--------------------------------------------------------------------------

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/default-case-last"
url: "https://eslint.org/docs/latest/rules/default-case-last"
},

@@ -23,0 +23,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/default-case"
url: "https://eslint.org/docs/latest/rules/default-case"
},

@@ -46,3 +46,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -49,0 +49,0 @@ //--------------------------------------------------------------------------

@@ -16,3 +16,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/default-param-last"
url: "https://eslint.org/docs/latest/rules/default-param-last"
},

@@ -19,0 +19,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/dot-location"
url: "https://eslint.org/docs/latest/rules/dot-location"
},

@@ -47,3 +47,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -50,0 +50,0 @@ /**

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/dot-notation"
url: "https://eslint.org/docs/latest/rules/dot-notation"
},

@@ -63,3 +63,3 @@

const allowKeywords = options.allowKeywords === void 0 || options.allowKeywords;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -66,0 +66,0 @@ let allowPattern;

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/eol-last"
url: "https://eslint.org/docs/latest/rules/eol-last"
},

@@ -44,3 +44,3 @@

Program: function checkBadEOF(node) {
const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
src = sourceCode.getText(),

@@ -47,0 +47,0 @@ lastLine = sourceCode.lines[sourceCode.lines.length - 1],

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/eqeqeq"
url: "https://eslint.org/docs/latest/rules/eqeqeq"
},

@@ -72,3 +72,3 @@

const options = context.options[1] || {};
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -75,0 +75,0 @@ const nullOption = (config === "always")

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/for-direction"
url: "https://eslint.org/docs/latest/rules/for-direction"
},

@@ -23,0 +23,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/func-call-spacing"
url: "https://eslint.org/docs/latest/rules/func-call-spacing"
},

@@ -77,3 +77,3 @@

const allowNewlines = !never && context.options[1] && context.options[1].allowNewlines;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const text = sourceCode.getText();

@@ -80,0 +80,0 @@

@@ -79,3 +79,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/func-name-matching"
url: "https://eslint.org/docs/latest/rules/func-name-matching"
},

@@ -82,0 +82,0 @@

@@ -35,3 +35,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/func-names"
url: "https://eslint.org/docs/latest/rules/func-names"
},

@@ -73,3 +73,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -76,0 +76,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/func-style"
url: "https://eslint.org/docs/latest/rules/func-style"
},

@@ -22,0 +22,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/function-call-argument-newline"
url: "https://eslint.org/docs/latest/rules/function-call-argument-newline"
},

@@ -39,3 +39,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ const checkers = {

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/function-paren-newline"
url: "https://eslint.org/docs/latest/rules/function-paren-newline"
},

@@ -61,3 +61,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const rawOption = context.options[0] || "multiline";

@@ -64,0 +64,0 @@ const multilineOption = rawOption === "multiline";

@@ -36,3 +36,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/generator-star-spacing"
url: "https://eslint.org/docs/latest/rules/generator-star-spacing"
},

@@ -106,3 +106,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -109,0 +109,0 @@ /**

@@ -40,3 +40,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/getter-return"
url: "https://eslint.org/docs/latest/rules/getter-return"
},

@@ -68,3 +68,3 @@

const options = context.options[0] || { allowImplicit: false };
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -71,0 +71,0 @@ let funcInfo = {

@@ -64,3 +64,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/global-require"
url: "https://eslint.org/docs/latest/rules/global-require"
},

@@ -75,3 +75,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -78,0 +78,0 @@ return {

@@ -101,3 +101,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/grouped-accessor-pairs"
url: "https://eslint.org/docs/latest/rules/grouped-accessor-pairs"
},

@@ -119,3 +119,3 @@

const order = context.options[0] || "anyOrder";
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -122,0 +122,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/guard-for-in"
url: "https://eslint.org/docs/latest/rules/guard-for-in"
},

@@ -23,0 +23,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/handle-callback-err"
url: "https://eslint.org/docs/latest/rules/handle-callback-err"
},

@@ -42,3 +42,3 @@

const errorArgument = context.options[0] || "err";
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -45,0 +45,0 @@ /**

@@ -124,3 +124,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/id-blacklist"
url: "https://eslint.org/docs/latest/rules/id-blacklist"
},

@@ -144,3 +144,3 @@

const reportedNodes = new Set();
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -147,0 +147,0 @@ let globalScope;

@@ -104,3 +104,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/id-denylist"
url: "https://eslint.org/docs/latest/rules/id-denylist"
},

@@ -125,3 +125,3 @@

const reportedNodes = new Set();
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -128,0 +128,0 @@ let globalScope;

@@ -12,38 +12,5 @@ /**

//------------------------------------------------------------------------------
const GraphemeSplitter = require("grapheme-splitter");
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
const { getGraphemeCount } = require("../shared/string-utils");
/**
* Checks if the string given as argument is ASCII or not.
* @param {string} value A string that you want to know if it is ASCII or not.
* @returns {boolean} `true` if `value` is ASCII string.
*/
function isASCII(value) {
if (typeof value !== "string") {
return false;
}
return /^[\u0020-\u007f]*$/u.test(value);
}
/** @type {GraphemeSplitter | undefined} */
let splitter;
/**
* Gets the length of the string. If the string is not in ASCII, counts graphemes.
* @param {string} value A string that you want to get the length.
* @returns {number} The length of `value`.
*/
function getStringLength(value) {
if (isASCII(value)) {
return value.length;
}
if (!splitter) {
splitter = new GraphemeSplitter();
}
return splitter.countGraphemes(value);
}
//------------------------------------------------------------------------------

@@ -61,3 +28,3 @@ // Rule Definition

recommended: false,
url: "https://eslint.org/docs/rules/id-length"
url: "https://eslint.org/docs/latest/rules/id-length"
},

@@ -174,3 +141,3 @@

const nameLength = getStringLength(name);
const nameLength = getGraphemeCount(name);

@@ -177,0 +144,0 @@ const isShort = nameLength < minLength;

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/id-match"
url: "https://eslint.org/docs/latest/rules/id-match"
},

@@ -71,3 +71,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let globalScope;

@@ -74,0 +74,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/implicit-arrow-linebreak"
url: "https://eslint.org/docs/latest/rules/implicit-arrow-linebreak"
},

@@ -38,3 +38,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const option = context.options[0] || "beside";

@@ -41,0 +41,0 @@

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/indent-legacy"
url: "https://eslint.org/docs/latest/rules/indent-legacy"
},

@@ -210,3 +210,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -213,0 +213,0 @@ if (context.options.length) {

@@ -53,3 +53,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/init-declarations"
url: "https://eslint.org/docs/latest/rules/init-declarations"
},

@@ -56,0 +56,0 @@

@@ -47,3 +47,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/jsx-quotes"
url: "https://eslint.org/docs/latest/rules/jsx-quotes"
},

@@ -50,0 +50,0 @@

@@ -12,10 +12,4 @@ /**

const astUtils = require("./utils/ast-utils");
const GraphemeSplitter = require("grapheme-splitter");
const { getGraphemeCount } = require("../shared/string-utils");
const splitter = new GraphemeSplitter();
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
/**

@@ -148,3 +142,3 @@ * Checks whether a string contains a line terminator as defined in

recommended: false,
url: "https://eslint.org/docs/rules/key-spacing"
url: "https://eslint.org/docs/latest/rules/key-spacing"
},

@@ -337,3 +331,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -529,3 +523,3 @@ /**

return splitter.countGraphemes(sourceCode.getText().slice(startToken.range[0], endToken.range[1]));
return getGraphemeCount(sourceCode.getText().slice(startToken.range[0], endToken.range[1]));
}

@@ -532,0 +526,0 @@

@@ -72,3 +72,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/keyword-spacing"
url: "https://eslint.org/docs/latest/rules/keyword-spacing"
},

@@ -112,3 +112,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -115,0 +115,0 @@ const tokensToIgnore = new WeakSet();

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/line-comment-position"
url: "https://eslint.org/docs/latest/rules/line-comment-position"
},

@@ -82,3 +82,3 @@

const customIgnoreRegExp = new RegExp(ignorePattern, "u");
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -85,0 +85,0 @@ //--------------------------------------------------------------------------

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/linebreak-style"
url: "https://eslint.org/docs/latest/rules/linebreak-style"
},

@@ -44,3 +44,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -47,0 +47,0 @@ //--------------------------------------------------------------------------

@@ -60,3 +60,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/lines-around-comment"
url: "https://eslint.org/docs/latest/rules/lines-around-comment"
},

@@ -142,3 +142,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -145,0 +145,0 @@ const lines = sourceCode.lines,

@@ -23,3 +23,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/lines-around-directive"
url: "https://eslint.org/docs/latest/rules/lines-around-directive"
},

@@ -58,3 +58,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const config = context.options[0] || "always";

@@ -61,0 +61,0 @@ const expectLineBefore = typeof config === "string" ? config : config.before;

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/lines-between-class-members"
url: "https://eslint.org/docs/latest/rules/lines-between-class-members"
},

@@ -59,3 +59,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -62,0 +62,0 @@ /**

@@ -164,3 +164,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/logical-assignment-operators"
url: "https://eslint.org/docs/latest/rules/logical-assignment-operators"
},

@@ -209,3 +209,3 @@

const checkIf = mode === "always" && context.options.length > 1 && context.options[1].enforceForIfStatements;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const isStrict = sourceCode.getScope(sourceCode.ast).isStrict;

@@ -212,0 +212,0 @@

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-classes-per-file"
url: "https://eslint.org/docs/latest/rules/max-classes-per-file"
},

@@ -27,0 +27,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-depth"
url: "https://eslint.org/docs/latest/rules/max-depth"
},

@@ -23,0 +23,0 @@

@@ -74,3 +74,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-len"
url: "https://eslint.org/docs/latest/rules/max-len"
},

@@ -101,3 +101,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -104,0 +104,0 @@ /**

@@ -76,3 +76,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-lines-per-function"
url: "https://eslint.org/docs/latest/rules/max-lines-per-function"
},

@@ -89,3 +89,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const lines = sourceCode.lines;

@@ -92,0 +92,0 @@

@@ -39,3 +39,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-lines"
url: "https://eslint.org/docs/latest/rules/max-lines"
},

@@ -91,3 +91,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -94,0 +94,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-nested-callbacks"
url: "https://eslint.org/docs/latest/rules/max-nested-callbacks"
},

@@ -23,0 +23,0 @@

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-params"
url: "https://eslint.org/docs/latest/rules/max-params"
},

@@ -61,3 +61,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const option = context.options[0];

@@ -64,0 +64,0 @@ let numParams = 3;

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-statements-per-line"
url: "https://eslint.org/docs/latest/rules/max-statements-per-line"
},

@@ -49,3 +49,3 @@

const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
options = context.options[0] || {},

@@ -52,0 +52,0 @@ maxStatementsPerLine = typeof options.max !== "undefined" ? options.max : 1;

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/max-statements"
url: "https://eslint.org/docs/latest/rules/max-statements"
},

@@ -30,0 +30,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/multiline-comment-style"
url: "https://eslint.org/docs/latest/rules/multiline-comment-style"
},

@@ -69,3 +69,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const option = context.options[0] || "starred-block";

@@ -72,0 +72,0 @@ const params = context.options[1] || {};

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/multiline-ternary"
url: "https://eslint.org/docs/latest/rules/multiline-ternary"
},

@@ -43,3 +43,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const option = context.options[0];

@@ -46,0 +46,0 @@ const multiline = option !== "never";

@@ -87,3 +87,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/new-cap"
url: "https://eslint.org/docs/latest/rules/new-cap"
},

@@ -151,3 +151,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -154,0 +154,0 @@ //--------------------------------------------------------------------------

@@ -30,3 +30,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/new-parens"
url: "https://eslint.org/docs/latest/rules/new-parens"
},

@@ -50,3 +50,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -53,0 +53,0 @@ return {

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/newline-after-var"
url: "https://eslint.org/docs/latest/rules/newline-after-var"
},

@@ -47,3 +47,3 @@ schema: [

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -50,0 +50,0 @@ // Default `mode` to "always".

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/newline-before-return"
url: "https://eslint.org/docs/latest/rules/newline-before-return"
},

@@ -35,3 +35,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ //--------------------------------------------------------------------------

@@ -23,3 +23,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/newline-per-chained-call"
url: "https://eslint.org/docs/latest/rules/newline-per-chained-call"
},

@@ -51,3 +51,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -54,0 +54,0 @@ /**

@@ -93,3 +93,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-alert"
url: "https://eslint.org/docs/latest/rules/no-alert"
},

@@ -105,3 +105,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -108,0 +108,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-array-constructor"
url: "https://eslint.org/docs/latest/rules/no-array-constructor"
},

@@ -23,0 +23,0 @@

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-async-promise-executor"
url: "https://eslint.org/docs/latest/rules/no-async-promise-executor"
},

@@ -34,3 +34,3 @@

context.report({
node: context.getSourceCode().getFirstToken(node.arguments[0], token => token.value === "async"),
node: context.sourceCode.getFirstToken(node.arguments[0], token => token.value === "async"),
messageId: "async"

@@ -37,0 +37,0 @@ });

@@ -64,3 +64,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-await-in-loop"
url: "https://eslint.org/docs/latest/rules/no-await-in-loop"
},

@@ -67,0 +67,0 @@

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-bitwise"
url: "https://eslint.org/docs/latest/rules/no-bitwise"
},

@@ -34,0 +34,0 @@

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-buffer-constructor"
url: "https://eslint.org/docs/latest/rules/no-buffer-constructor"
},

@@ -27,0 +27,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-caller"
url: "https://eslint.org/docs/latest/rules/no-caller"
},

@@ -23,0 +23,0 @@

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-case-declarations"
url: "https://eslint.org/docs/latest/rules/no-case-declarations"
},

@@ -22,0 +22,0 @@

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-catch-shadow"
url: "https://eslint.org/docs/latest/rules/no-catch-shadow"
},

@@ -43,3 +43,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -46,0 +46,0 @@ //--------------------------------------------------------------------------

@@ -22,3 +22,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-class-assign"
url: "https://eslint.org/docs/latest/rules/no-class-assign"
},

@@ -35,3 +35,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-compare-neg-zero"
url: "https://eslint.org/docs/latest/rules/no-compare-neg-zero"
},

@@ -22,0 +22,0 @@

@@ -39,3 +39,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-cond-assign"
url: "https://eslint.org/docs/latest/rules/no-cond-assign"
},

@@ -61,3 +61,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -64,0 +64,0 @@ /**

@@ -36,3 +36,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-confusing-arrow"
url: "https://eslint.org/docs/latest/rules/no-confusing-arrow"
},

@@ -60,3 +60,3 @@

const onlyOneSimpleParam = config.onlyOneSimpleParam;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -63,0 +63,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-console"
url: "https://eslint.org/docs/latest/rules/no-console"
},

@@ -55,3 +55,3 @@

const allowed = options.allow || [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -58,0 +58,0 @@ /**

@@ -22,3 +22,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-const-assign"
url: "https://eslint.org/docs/latest/rules/no-const-assign"
},

@@ -35,3 +35,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ /**

@@ -444,3 +444,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-constant-binary-expression"
url: "https://eslint.org/docs/latest/rules/no-constant-binary-expression"
},

@@ -457,3 +457,3 @@ schema: [],

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -460,0 +460,0 @@ return {

@@ -26,3 +26,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-constant-condition"
url: "https://eslint.org/docs/latest/rules/no-constant-condition"
},

@@ -52,3 +52,3 @@

loopSetStack = [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -55,0 +55,0 @@ let loopsInCurrentScope = new Set();

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-constructor-return"
url: "https://eslint.org/docs/latest/rules/no-constructor-return"
},

@@ -23,0 +23,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-continue"
url: "https://eslint.org/docs/latest/rules/no-continue"
},

@@ -23,0 +23,0 @@

@@ -59,3 +59,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-control-regex"
url: "https://eslint.org/docs/latest/rules/no-control-regex"
},

@@ -62,0 +62,0 @@

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-debugger"
url: "https://eslint.org/docs/latest/rules/no-debugger"
},

@@ -23,0 +23,0 @@

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-delete-var"
url: "https://eslint.org/docs/latest/rules/no-delete-var"
},

@@ -23,0 +23,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-div-regex"
url: "https://eslint.org/docs/latest/rules/no-div-regex"
},

@@ -34,3 +34,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -37,0 +37,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-dupe-args"
url: "https://eslint.org/docs/latest/rules/no-dupe-args"
},

@@ -33,3 +33,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -36,0 +36,0 @@ //--------------------------------------------------------------------------

@@ -22,3 +22,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-dupe-class-members"
url: "https://eslint.org/docs/latest/rules/no-dupe-class-members"
},

@@ -25,0 +25,0 @@

@@ -57,3 +57,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-dupe-else-if"
url: "https://eslint.org/docs/latest/rules/no-dupe-else-if"
},

@@ -69,3 +69,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -72,0 +72,0 @@ /**

@@ -93,3 +93,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-dupe-keys"
url: "https://eslint.org/docs/latest/rules/no-dupe-keys"
},

@@ -96,0 +96,0 @@

@@ -27,3 +27,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-duplicate-case"
url: "https://eslint.org/docs/latest/rules/no-duplicate-case"
},

@@ -39,3 +39,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ /**

@@ -238,3 +238,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-duplicate-imports"
url: "https://eslint.org/docs/latest/rules/no-duplicate-imports"
},

@@ -241,0 +241,0 @@

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-else-return"
url: "https://eslint.org/docs/latest/rules/no-else-return"
},

@@ -51,3 +51,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -54,0 +54,0 @@ //--------------------------------------------------------------------------

@@ -35,3 +35,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-empty-character-class"
url: "https://eslint.org/docs/latest/rules/no-empty-character-class"
},

@@ -38,0 +38,0 @@

@@ -100,3 +100,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-empty-function"
url: "https://eslint.org/docs/latest/rules/no-empty-function"
},

@@ -127,3 +127,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -130,0 +130,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-empty-pattern"
url: "https://eslint.org/docs/latest/rules/no-empty-pattern"
},

@@ -22,0 +22,0 @@

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-empty-static-block"
url: "https://eslint.org/docs/latest/rules/no-empty-static-block"
},

@@ -31,3 +31,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -34,0 +34,0 @@ return {

@@ -26,3 +26,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-empty"
url: "https://eslint.org/docs/latest/rules/no-empty"
},

@@ -53,3 +53,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -56,0 +56,0 @@ return {

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-eq-null"
url: "https://eslint.org/docs/latest/rules/no-eq-null"
},

@@ -24,0 +24,0 @@

@@ -48,3 +48,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-eval"
url: "https://eslint.org/docs/latest/rules/no-eval"
},

@@ -72,3 +72,3 @@

);
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let funcInfo = null;

@@ -75,0 +75,0 @@

@@ -22,3 +22,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-ex-assign"
url: "https://eslint.org/docs/latest/rules/no-ex-assign"
},

@@ -35,3 +35,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ /**

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-extend-native"
url: "https://eslint.org/docs/latest/rules/no-extend-native"
},

@@ -55,3 +55,3 @@

const config = context.options[0] || {};
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const exceptions = new Set(config.exceptions || []);

@@ -58,0 +58,0 @@ const modifiedBuiltins = new Set(

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-extra-bind"
url: "https://eslint.org/docs/latest/rules/no-extra-bind"
},

@@ -44,3 +44,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let scopeInfo = null;

@@ -47,0 +47,0 @@

@@ -29,3 +29,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-extra-boolean-cast"
url: "https://eslint.org/docs/latest/rules/no-extra-boolean-cast"
},

@@ -52,3 +52,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -55,0 +55,0 @@ // Node types which have a test which will coerce values to booleans.

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-extra-label"
url: "https://eslint.org/docs/latest/rules/no-extra-label"
},

@@ -39,3 +39,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let scopeInfo = null;

@@ -42,0 +42,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-extra-parens"
url: "https://eslint.org/docs/latest/rules/no-extra-parens"
},

@@ -74,3 +74,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -77,0 +77,0 @@ const tokensToIgnore = new WeakSet();

@@ -27,3 +27,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-extra-semi"
url: "https://eslint.org/docs/latest/rules/no-extra-semi"
},

@@ -40,3 +40,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -59,3 +59,3 @@ /**

*/
return new FixTracker(fixer, context.getSourceCode())
return new FixTracker(fixer, context.sourceCode)
.retainSurroundingTokens(nodeOrToken)

@@ -62,0 +62,0 @@ .remove(nodeOrToken);

@@ -38,3 +38,3 @@ /**

function hasFallthroughComment(caseWhichFallsThrough, subsequentCase, context, fallthroughCommentPattern) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -86,3 +86,3 @@ if (caseWhichFallsThrough.consequent.length === 1 && caseWhichFallsThrough.consequent[0].type === "BlockStatement") {

recommended: true,
url: "https://eslint.org/docs/rules/no-fallthrough"
url: "https://eslint.org/docs/latest/rules/no-fallthrough"
},

@@ -115,3 +115,3 @@

let currentCodePath = null;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const allowEmptyCase = options.allowEmptyCase || false;

@@ -118,0 +118,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-floating-decimal"
url: "https://eslint.org/docs/latest/rules/no-floating-decimal"
},

@@ -39,3 +39,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ return {

@@ -22,3 +22,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-func-assign"
url: "https://eslint.org/docs/latest/rules/no-func-assign"
},

@@ -35,3 +35,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-global-assign"
url: "https://eslint.org/docs/latest/rules/no-global-assign"
},

@@ -45,3 +45,3 @@

const config = context.options[0];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const exceptions = (config && config.exceptions) || [];

@@ -48,0 +48,0 @@

@@ -196,3 +196,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-implicit-coercion"
url: "https://eslint.org/docs/latest/rules/no-implicit-coercion"
},

@@ -239,3 +239,3 @@

const options = parseOptions(context.options[0] || {});
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -242,0 +242,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-implicit-globals"
url: "https://eslint.org/docs/latest/rules/no-implicit-globals"
},

@@ -47,3 +47,3 @@

const checkLexicalBindings = context.options[0] && context.options[0].lexicalBindings === true;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -50,0 +50,0 @@ /**

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-implied-eval"
url: "https://eslint.org/docs/latest/rules/no-implied-eval"
},

@@ -41,3 +41,3 @@

const EVAL_LIKE_FUNC_PATTERN = /^(?:set(?:Interval|Timeout)|execScript)$/u;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -44,0 +44,0 @@ /**

@@ -185,3 +185,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-import-assign"
url: "https://eslint.org/docs/latest/rules/no-import-assign"
},

@@ -198,3 +198,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -201,0 +201,0 @@ return {

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-inline-comments"
url: "https://eslint.org/docs/latest/rules/no-inline-comments"
},

@@ -43,3 +43,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = context.options[0];

@@ -46,0 +46,0 @@ let customIgnoreRegExp;

@@ -53,3 +53,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-inner-declarations"
url: "https://eslint.org/docs/latest/rules/no-inner-declarations"
},

@@ -56,0 +56,0 @@

@@ -28,3 +28,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-invalid-regexp"
url: "https://eslint.org/docs/latest/rules/no-invalid-regexp"
},

@@ -31,0 +31,0 @@

@@ -41,3 +41,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-invalid-this"
url: "https://eslint.org/docs/latest/rules/no-invalid-this"
},

@@ -67,3 +67,3 @@

const stack = [],
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -70,0 +70,0 @@ /**

@@ -36,3 +36,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-irregular-whitespace"
url: "https://eslint.org/docs/latest/rules/no-irregular-whitespace"
},

@@ -82,3 +82,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const commentNodes = sourceCode.getAllComments();

@@ -85,0 +85,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-iterator"
url: "https://eslint.org/docs/latest/rules/no-iterator"
},

@@ -29,0 +29,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-label-var"
url: "https://eslint.org/docs/latest/rules/no-label-var"
},

@@ -38,3 +38,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -41,0 +41,0 @@ //--------------------------------------------------------------------------

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-labels"
url: "https://eslint.org/docs/latest/rules/no-labels"
},

@@ -28,0 +28,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-lone-blocks"
url: "https://eslint.org/docs/latest/rules/no-lone-blocks"
},

@@ -37,3 +37,3 @@

let ruleDef;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -40,0 +40,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-lonely-if"
url: "https://eslint.org/docs/latest/rules/no-lonely-if"
},

@@ -32,3 +32,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -35,0 +35,0 @@ return {

@@ -159,3 +159,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-loop-func"
url: "https://eslint.org/docs/latest/rules/no-loop-func"
},

@@ -172,3 +172,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -175,0 +175,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-loss-of-precision"
url: "https://eslint.org/docs/latest/rules/no-loss-of-precision"
},

@@ -23,0 +23,0 @@ schema: [],

@@ -37,3 +37,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-magic-numbers"
url: "https://eslint.org/docs/latest/rules/no-magic-numbers"
},

@@ -40,0 +40,0 @@

@@ -111,3 +111,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-misleading-character-class"
url: "https://eslint.org/docs/latest/rules/no-misleading-character-class"
},

@@ -129,3 +129,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const parser = new RegExpParser();

@@ -132,0 +132,0 @@

@@ -93,3 +93,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-mixed-operators"
url: "https://eslint.org/docs/latest/rules/no-mixed-operators"
},

@@ -126,3 +126,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = normalizeOptions(context.options[0]);

@@ -129,0 +129,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-mixed-requires"
url: "https://eslint.org/docs/latest/rules/no-mixed-requires"
},

@@ -28,0 +28,0 @@

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-mixed-spaces-and-tabs"
url: "https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs"
},

@@ -35,3 +35,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -38,0 +38,0 @@ let smartTabs;

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-multi-assign"
url: "https://eslint.org/docs/latest/rules/no-multi-assign"
},

@@ -24,0 +24,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-multi-spaces"
url: "https://eslint.org/docs/latest/rules/no-multi-spaces"
},

@@ -56,3 +56,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = context.options[0] || {};

@@ -59,0 +59,0 @@ const ignoreEOLComments = options.ignoreEOLComments;

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-multi-str"
url: "https://eslint.org/docs/latest/rules/no-multi-str"
},

@@ -29,0 +29,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-multiple-empty-lines"
url: "https://eslint.org/docs/latest/rules/no-multiple-empty-lines"
},

@@ -68,3 +68,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -71,0 +71,0 @@ // Swallow the final newline, as some editors add it automatically and we don't want it to cause an issue

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-native-reassign"
url: "https://eslint.org/docs/latest/rules/no-native-reassign"
},

@@ -51,3 +51,3 @@

const exceptions = (config && config.exceptions) || [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -54,0 +54,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-negated-condition"
url: "https://eslint.org/docs/latest/rules/no-negated-condition"
},

@@ -22,0 +22,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-negated-in-lhs"
url: "https://eslint.org/docs/latest/rules/no-negated-in-lhs"
},

@@ -24,0 +24,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-nested-ternary"
url: "https://eslint.org/docs/latest/rules/no-nested-ternary"
},

@@ -23,0 +23,0 @@

@@ -32,3 +32,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new-func"
url: "https://eslint.org/docs/latest/rules/no-new-func"
},

@@ -44,3 +44,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -47,0 +47,0 @@ return {

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new-native-nonconstructor"
url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
},

@@ -39,3 +39,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ return {

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new-object"
url: "https://eslint.org/docs/latest/rules/no-new-object"
},

@@ -39,3 +39,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ return {

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new-require"
url: "https://eslint.org/docs/latest/rules/no-new-require"
},

@@ -28,0 +28,0 @@

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-new-symbol"
url: "https://eslint.org/docs/latest/rules/no-new-symbol"
},

@@ -33,3 +33,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -36,0 +36,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new-wrappers"
url: "https://eslint.org/docs/latest/rules/no-new-wrappers"
},

@@ -23,0 +23,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-new"
url: "https://eslint.org/docs/latest/rules/no-new"
},

@@ -24,0 +24,0 @@

@@ -35,3 +35,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-nonoctal-decimal-escape"
url: "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape"
},

@@ -53,3 +53,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -56,0 +56,0 @@ /**

@@ -48,3 +48,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-obj-calls"
url: "https://eslint.org/docs/latest/rules/no-obj-calls"
},

@@ -62,3 +62,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -65,0 +65,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-octal-escape"
url: "https://eslint.org/docs/latest/rules/no-octal-escape"
},

@@ -23,0 +23,0 @@

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-octal"
url: "https://eslint.org/docs/latest/rules/no-octal"
},

@@ -23,0 +23,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-param-reassign"
url: "https://eslint.org/docs/latest/rules/no-param-reassign"
},

@@ -74,3 +74,3 @@

const ignoredPropertyAssignmentsForRegex = context.options[0] && context.options[0].ignorePropertyModificationsForRegex || [];
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -77,0 +77,0 @@ /**

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-path-concat"
url: "https://eslint.org/docs/latest/rules/no-path-concat"
},

@@ -27,0 +27,0 @@

@@ -56,3 +56,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-plusplus"
url: "https://eslint.org/docs/latest/rules/no-plusplus"
},

@@ -59,0 +59,0 @@

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-process-env"
url: "https://eslint.org/docs/latest/rules/no-process-env"
},

@@ -27,0 +27,0 @@

@@ -24,3 +24,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-process-exit"
url: "https://eslint.org/docs/latest/rules/no-process-exit"
},

@@ -27,0 +27,0 @@

@@ -74,3 +74,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-promise-executor-return"
url: "https://eslint.org/docs/latest/rules/no-promise-executor-return"
},

@@ -88,3 +88,3 @@

let funcInfo = null;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -91,0 +91,0 @@ /**

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-proto"
url: "https://eslint.org/docs/latest/rules/no-proto"
},

@@ -29,0 +29,0 @@

@@ -25,3 +25,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-prototype-builtins"
url: "https://eslint.org/docs/latest/rules/no-prototype-builtins"
},

@@ -28,0 +28,0 @@

@@ -26,3 +26,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-redeclare"
url: "https://eslint.org/docs/latest/rules/no-redeclare"
},

@@ -54,3 +54,3 @@

};
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -57,0 +57,0 @@ /**

@@ -44,3 +44,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-regex-spaces"
url: "https://eslint.org/docs/latest/rules/no-regex-spaces"
},

@@ -58,3 +58,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -61,0 +61,0 @@ /**

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-exports"
url: "https://eslint.org/docs/latest/rules/no-restricted-exports"
},

@@ -103,3 +103,3 @@

const restrictDefaultExports = context.options[0] && context.options[0].restrictDefaultExports;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -106,0 +106,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-globals"
url: "https://eslint.org/docs/latest/rules/no-restricted-globals"
},

@@ -54,3 +54,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -57,0 +57,0 @@ // If no globals are restricted, we don't need to do anything

@@ -101,3 +101,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-imports"
url: "https://eslint.org/docs/latest/rules/no-restricted-imports"
},

@@ -151,3 +151,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = Array.isArray(context.options) ? context.options : [];

@@ -154,0 +154,0 @@ const isPathAndPatternsObject =

@@ -54,3 +54,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-modules"
url: "https://eslint.org/docs/latest/rules/no-restricted-modules"
},

@@ -57,0 +57,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-properties"
url: "https://eslint.org/docs/latest/rules/no-restricted-properties"
},

@@ -25,0 +25,0 @@

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-restricted-syntax"
url: "https://eslint.org/docs/latest/rules/no-restricted-syntax"
},

@@ -22,0 +22,0 @@

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-return-assign"
url: "https://eslint.org/docs/latest/rules/no-return-assign"
},

@@ -49,3 +49,3 @@

const always = (context.options[0] || "except-parens") !== "except-parens";
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -52,0 +52,0 @@ return {

@@ -24,3 +24,3 @@ /**

url: "https://eslint.org/docs/rules/no-return-await"
url: "https://eslint.org/docs/latest/rules/no-return-await"
},

@@ -48,3 +48,3 @@

context.report({
node: context.getSourceCode().getFirstToken(node),
node: context.sourceCode.getFirstToken(node),
loc: node.loc,

@@ -56,3 +56,3 @@ messageId: "redundantUseOfAwait",

fix(fixer) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const [awaitToken, tokenAfterAwait] = sourceCode.getFirstTokens(node, 2);

@@ -59,0 +59,0 @@

@@ -23,3 +23,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-script-url"
url: "https://eslint.org/docs/latest/rules/no-script-url"
},

@@ -26,0 +26,0 @@

@@ -135,3 +135,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-self-assign"
url: "https://eslint.org/docs/latest/rules/no-self-assign"
},

@@ -158,3 +158,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const [{ props = true } = {}] = context.options;

@@ -161,0 +161,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-self-compare"
url: "https://eslint.org/docs/latest/rules/no-self-compare"
},

@@ -33,3 +33,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -36,0 +36,0 @@ /**

@@ -34,3 +34,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-sequences"
url: "https://eslint.org/docs/latest/rules/no-sequences"
},

@@ -55,3 +55,3 @@

const options = Object.assign({}, DEFAULT_OPTIONS, context.options[0]);
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -58,0 +58,0 @@ /**

@@ -147,3 +147,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-setter-return"
url: "https://eslint.org/docs/latest/rules/no-setter-return"
},

@@ -160,3 +160,3 @@

let funcInfo = null;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -163,0 +163,0 @@ /**

@@ -32,3 +32,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-shadow-restricted-names"
url: "https://eslint.org/docs/latest/rules/no-shadow-restricted-names"
},

@@ -47,3 +47,3 @@

const RESTRICTED = new Set(["undefined", "NaN", "Infinity", "arguments", "eval"]);
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -50,0 +50,0 @@ return {

@@ -35,3 +35,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-shadow"
url: "https://eslint.org/docs/latest/rules/no-shadow"
},

@@ -71,3 +71,3 @@

};
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -74,0 +74,0 @@ /**

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-spaced-func"
url: "https://eslint.org/docs/latest/rules/no-spaced-func"
},

@@ -39,3 +39,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-sparse-arrays"
url: "https://eslint.org/docs/latest/rules/no-sparse-arrays"
},

@@ -22,0 +22,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-sync"
url: "https://eslint.org/docs/latest/rules/no-sync"
},

@@ -28,0 +28,0 @@

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-tabs"
url: "https://eslint.org/docs/latest/rules/no-tabs"
},

@@ -47,3 +47,3 @@ schema: [{

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const allowIndentationTabs = context.options && context.options[0] && context.options[0].allowIndentationTabs;

@@ -50,0 +50,0 @@

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-template-curly-in-string"
url: "https://eslint.org/docs/latest/rules/no-template-curly-in-string"
},

@@ -22,0 +22,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-ternary"
url: "https://eslint.org/docs/latest/rules/no-ternary"
},

@@ -23,0 +23,0 @@

@@ -45,3 +45,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-this-before-super"
url: "https://eslint.org/docs/latest/rules/no-this-before-super"
},

@@ -48,0 +48,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-throw-literal"
url: "https://eslint.org/docs/latest/rules/no-throw-literal"
},

@@ -25,0 +25,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-trailing-spaces"
url: "https://eslint.org/docs/latest/rules/no-trailing-spaces"
},

@@ -54,3 +54,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -57,0 +57,0 @@ const BLANK_CLASS = "[ \t\u00a0\u2000-\u200b\u3000]",

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-undef-init"
url: "https://eslint.org/docs/latest/rules/no-undef-init"
},

@@ -36,3 +36,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -39,0 +39,0 @@ return {

@@ -34,3 +34,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-undef"
url: "https://eslint.org/docs/latest/rules/no-undef"
},

@@ -58,3 +58,3 @@

const considerTypeOf = options && options.typeof === true || false;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -61,0 +61,0 @@ return {

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-undefined"
url: "https://eslint.org/docs/latest/rules/no-undefined"
},

@@ -32,3 +32,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -35,0 +35,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-underscore-dangle"
url: "https://eslint.org/docs/latest/rules/no-underscore-dangle"
},

@@ -88,3 +88,3 @@

const allowInObjectDestructuring = typeof options.allowInObjectDestructuring !== "undefined" ? options.allowInObjectDestructuring : true;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -91,0 +91,0 @@ //-------------------------------------------------------------------------

@@ -25,3 +25,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unexpected-multiline"
url: "https://eslint.org/docs/latest/rules/no-unexpected-multiline"
},

@@ -42,3 +42,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -45,0 +45,0 @@ /**

@@ -167,3 +167,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-unmodified-loop-condition"
url: "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition"
},

@@ -179,3 +179,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let groupMap = null;

@@ -182,0 +182,0 @@

@@ -34,3 +34,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-unneeded-ternary"
url: "https://eslint.org/docs/latest/rules/no-unneeded-ternary"
},

@@ -62,3 +62,3 @@

const defaultAssignment = options.defaultAssignment !== false;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -65,0 +65,0 @@ /**

@@ -64,3 +64,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-unreachable-loop"
url: "https://eslint.org/docs/latest/rules/no-unreachable-loop"
},

@@ -67,0 +67,0 @@

@@ -116,3 +116,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unreachable"
url: "https://eslint.org/docs/latest/rules/no-unreachable"
},

@@ -134,3 +134,3 @@

/** @type {ConsecutiveRange} */
const range = new ConsecutiveRange(context.getSourceCode());
const range = new ConsecutiveRange(context.sourceCode);

@@ -137,0 +137,0 @@ /**

@@ -29,3 +29,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unsafe-finally"
url: "https://eslint.org/docs/latest/rules/no-unsafe-finally"
},

@@ -32,0 +32,0 @@

@@ -57,3 +57,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unsafe-negation"
url: "https://eslint.org/docs/latest/rules/no-unsafe-negation"
},

@@ -86,3 +86,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = context.options[0] || {};

@@ -89,0 +89,0 @@ const enforceForOrderingRelations = options.enforceForOrderingRelations === true;

@@ -29,3 +29,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unsafe-optional-chaining"
url: "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining"
},

@@ -32,0 +32,0 @@ schema: [{

@@ -35,3 +35,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-unused-expressions"
url: "https://eslint.org/docs/latest/rules/no-unused-expressions"
},

@@ -38,0 +38,0 @@

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unused-labels"
url: "https://eslint.org/docs/latest/rules/no-unused-labels"
},

@@ -34,3 +34,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let scopeInfo = null;

@@ -37,0 +37,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-unused-private-class-members"
url: "https://eslint.org/docs/latest/rules/no-unused-private-class-members"
},

@@ -23,0 +23,0 @@

@@ -38,3 +38,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-unused-vars"
url: "https://eslint.org/docs/latest/rules/no-unused-vars"
},

@@ -88,3 +88,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -91,0 +91,0 @@ const REST_PROPERTY_TYPE = /^(?:RestElement|(?:Experimental)?RestProperty)$/u;

@@ -231,3 +231,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-use-before-define"
url: "https://eslint.org/docs/latest/rules/no-use-before-define"
},

@@ -262,3 +262,3 @@

const options = parseOptions(context.options[0]);
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -265,0 +265,0 @@ /**

@@ -69,3 +69,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-useless-backreference"
url: "https://eslint.org/docs/latest/rules/no-useless-backreference"
},

@@ -86,3 +86,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -89,0 +89,0 @@ /**

@@ -60,3 +60,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-call"
url: "https://eslint.org/docs/latest/rules/no-useless-call"
},

@@ -72,3 +72,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -75,0 +75,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-useless-catch"
url: "https://eslint.org/docs/latest/rules/no-useless-catch"
},

@@ -23,0 +23,0 @@

@@ -96,3 +96,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-computed-key"
url: "https://eslint.org/docs/latest/rules/no-useless-computed-key"
},

@@ -117,3 +117,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const enforceForClassMembers = context.options[0] && context.options[0].enforceForClassMembers;

@@ -120,0 +120,0 @@

@@ -75,3 +75,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-concat"
url: "https://eslint.org/docs/latest/rules/no-useless-concat"
},

@@ -87,3 +87,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -90,0 +90,0 @@ return {

@@ -143,3 +143,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-constructor"
url: "https://eslint.org/docs/latest/rules/no-useless-constructor"
},

@@ -146,0 +146,0 @@

@@ -89,3 +89,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-useless-escape"
url: "https://eslint.org/docs/latest/rules/no-useless-escape"
},

@@ -105,3 +105,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -108,0 +108,0 @@ /**

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-rename"
url: "https://eslint.org/docs/latest/rules/no-useless-rename"
},

@@ -50,3 +50,3 @@

create(context) {
const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
options = context.options[0] || {},

@@ -53,0 +53,0 @@ ignoreDestructuring = options.ignoreDestructuring === true,

@@ -72,3 +72,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-useless-return"
url: "https://eslint.org/docs/latest/rules/no-useless-return"
},

@@ -87,3 +87,3 @@

const usedUnreachableSegments = new WeakSet();
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let scopeInfo = null;

@@ -90,0 +90,0 @@

@@ -190,3 +190,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-var"
url: "https://eslint.org/docs/latest/rules/no-var"
},

@@ -203,3 +203,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -206,0 +206,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-void"
url: "https://eslint.org/docs/latest/rules/no-void"
},

@@ -22,0 +22,0 @@

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-warning-comments"
url: "https://eslint.org/docs/latest/rules/no-warning-comments"
},

@@ -62,3 +62,3 @@

create(context) {
const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
configuration = context.options[0] || {},

@@ -65,0 +65,0 @@ warningTerms = configuration.terms || ["todo", "fixme", "xxx"],

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/no-whitespace-before-property"
url: "https://eslint.org/docs/latest/rules/no-whitespace-before-property"
},

@@ -38,3 +38,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -41,0 +41,0 @@ //--------------------------------------------------------------------------

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/no-with"
url: "https://eslint.org/docs/latest/rules/no-with"
},

@@ -23,0 +23,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/nonblock-statement-body-position"
url: "https://eslint.org/docs/latest/rules/nonblock-statement-body-position"
},

@@ -53,3 +53,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -56,0 +56,0 @@ //----------------------------------------------------------------------

@@ -155,3 +155,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/object-curly-newline"
url: "https://eslint.org/docs/latest/rules/object-curly-newline"
},

@@ -189,3 +189,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const normalizedOptions = normalizeOptions(context.options[0]);

@@ -192,0 +192,0 @@

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/object-curly-spacing"
url: "https://eslint.org/docs/latest/rules/object-curly-spacing"
},

@@ -55,3 +55,3 @@

const spaced = context.options[0] === "always",
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -86,3 +86,3 @@ /**

function reportNoBeginningSpace(node, token) {
const nextToken = context.getSourceCode().getTokenAfter(token, { includeComments: true });
const nextToken = context.sourceCode.getTokenAfter(token, { includeComments: true });

@@ -109,3 +109,3 @@ context.report({

function reportNoEndingSpace(node, token) {
const previousToken = context.getSourceCode().getTokenBefore(token, { includeComments: true });
const previousToken = context.sourceCode.getTokenBefore(token, { includeComments: true });

@@ -112,0 +112,0 @@ context.report({

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/object-property-newline"
url: "https://eslint.org/docs/latest/rules/object-property-newline"
},

@@ -57,3 +57,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -60,0 +60,0 @@ return {

@@ -33,3 +33,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/object-shorthand"
url: "https://eslint.org/docs/latest/rules/object-shorthand"
},

@@ -127,3 +127,3 @@

const AVOID_EXPLICIT_RETURN_ARROWS = !!PARAMS.avoidExplicitReturnArrows;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -130,0 +130,0 @@ //--------------------------------------------------------------------------

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/one-var-declaration-per-line"
url: "https://eslint.org/docs/latest/rules/one-var-declaration-per-line"
},

@@ -22,0 +22,0 @@

@@ -39,3 +39,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/one-var"
url: "https://eslint.org/docs/latest/rules/one-var"
},

@@ -125,3 +125,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -128,0 +128,0 @@ //--------------------------------------------------------------------------

@@ -68,3 +68,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/operator-assignment"
url: "https://eslint.org/docs/latest/rules/operator-assignment"
},

@@ -87,3 +87,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -90,0 +90,0 @@ /**

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/operator-linebreak"
url: "https://eslint.org/docs/latest/rules/operator-linebreak"
},

@@ -73,3 +73,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -76,0 +76,0 @@ //--------------------------------------------------------------------------

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/padded-blocks"
url: "https://eslint.org/docs/latest/rules/padded-blocks"
},

@@ -100,3 +100,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -103,0 +103,0 @@ /**

@@ -256,3 +256,3 @@ /**

const end = nextToken.range[0];
const text = context.getSourceCode().text
const text = context.sourceCode.text
.slice(start, end)

@@ -288,3 +288,3 @@ .replace(PADDING_LINE_SEQUENCE, replacerToRemovePaddingLines);

fix(fixer) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let prevToken = getActualLastToken(sourceCode, prevNode);

@@ -438,3 +438,3 @@ const nextToken = sourceCode.getFirstTokenBetween(

recommended: false,
url: "https://eslint.org/docs/rules/padding-line-between-statements"
url: "https://eslint.org/docs/latest/rules/padding-line-between-statements"
},

@@ -481,3 +481,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const configureList = context.options || [];

@@ -484,0 +484,0 @@ let scopeInfo = null;

@@ -156,3 +156,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-arrow-callback"
url: "https://eslint.org/docs/latest/rules/prefer-arrow-callback"
},

@@ -189,3 +189,3 @@

const allowNamedFunctions = options.allowNamedFunctions;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -192,0 +192,0 @@ /*

@@ -337,3 +337,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-const"
url: "https://eslint.org/docs/latest/rules/prefer-const"
},

@@ -360,3 +360,3 @@

const options = context.options[0] || {};
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const shouldMatchAnyDestructuredVariable = options.destructuring !== "all";

@@ -363,0 +363,0 @@ const ignoreReadBeforeAssign = options.ignoreReadBeforeAssign === true;

@@ -31,3 +31,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-destructuring"
url: "https://eslint.org/docs/latest/rules/prefer-destructuring"
},

@@ -194,3 +194,3 @@

const rightNode = node.init;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -197,0 +197,0 @@ // Don't fix if that would remove any comments. Only comments inside `rightNode.object` can be preserved.

@@ -95,3 +95,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-exponentiation-operator"
url: "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator"
},

@@ -108,3 +108,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -111,0 +111,0 @@ /**

@@ -93,3 +93,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-named-capture-group"
url: "https://eslint.org/docs/latest/rules/prefer-named-capture-group"
},

@@ -109,3 +109,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -112,0 +112,0 @@ /**

@@ -50,3 +50,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-numeric-literals"
url: "https://eslint.org/docs/latest/rules/prefer-numeric-literals"
},

@@ -64,3 +64,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -67,0 +67,0 @@ //----------------------------------------------------------------------

@@ -55,3 +55,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-object-has-own"
url: "https://eslint.org/docs/latest/rules/prefer-object-has-own"
},

@@ -66,3 +66,3 @@ schema: [],

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -69,0 +69,0 @@ return {

@@ -251,3 +251,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-object-spread"
url: "https://eslint.org/docs/latest/rules/prefer-object-spread"
},

@@ -265,3 +265,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -268,0 +268,0 @@ return {

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-promise-reject-errors"
url: "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors"
},

@@ -45,3 +45,3 @@

const ALLOW_EMPTY_REJECT = context.options.length && context.options[0].allowEmptyReject;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -48,0 +48,0 @@ //----------------------------------------------------------------------

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-reflect"
url: "https://eslint.org/docs/latest/rules/prefer-reflect"
},

@@ -23,0 +23,0 @@

@@ -127,3 +127,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-regex-literals"
url: "https://eslint.org/docs/latest/rules/prefer-regex-literals"
},

@@ -158,3 +158,3 @@

const [{ disallowRedundantWrapping = false } = {}] = context.options;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -161,0 +161,0 @@ /**

@@ -70,3 +70,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-rest-params"
url: "https://eslint.org/docs/latest/rules/prefer-rest-params"
},

@@ -83,3 +83,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -86,0 +86,0 @@ /**

@@ -54,3 +54,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-spread"
url: "https://eslint.org/docs/latest/rules/prefer-spread"
},

@@ -67,3 +67,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -70,0 +70,0 @@ return {

@@ -133,3 +133,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/prefer-template"
url: "https://eslint.org/docs/latest/rules/prefer-template"
},

@@ -146,3 +146,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let done = Object.create(null);

@@ -149,0 +149,0 @@

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/quote-props"
url: "https://eslint.org/docs/latest/rules/quote-props"
},

@@ -90,3 +90,3 @@

sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -93,0 +93,0 @@

@@ -85,3 +85,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/quotes"
url: "https://eslint.org/docs/latest/rules/quotes"
},

@@ -127,3 +127,3 @@

allowTemplateLiterals = options && options.allowTemplateLiterals === true,
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;
let avoidEscape = options && options.avoidEscape === true;

@@ -130,0 +130,0 @@

@@ -85,3 +85,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/radix"
url: "https://eslint.org/docs/latest/rules/radix"
},

@@ -108,3 +108,3 @@

const mode = context.options[0] || MODE_ALWAYS;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -111,0 +111,0 @@ /**

@@ -176,3 +176,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/require-atomic-updates"
url: "https://eslint.org/docs/latest/rules/require-atomic-updates"
},

@@ -202,3 +202,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const assignmentReferences = new Map();

@@ -205,0 +205,0 @@ const segmentInfo = new SegmentInfo();

@@ -39,3 +39,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/require-await"
url: "https://eslint.org/docs/latest/rules/require-await"
},

@@ -51,3 +51,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
let scopeInfo = null;

@@ -54,0 +54,0 @@

@@ -16,3 +16,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/require-jsdoc"
url: "https://eslint.org/docs/latest/rules/require-jsdoc"
},

@@ -65,3 +65,3 @@

create(context) {
const source = context.getSourceCode();
const source = context.sourceCode;
const DEFAULT_OPTIONS = {

@@ -68,0 +68,0 @@ FunctionDeclaration: true,

@@ -33,3 +33,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/require-unicode-regexp"
url: "https://eslint.org/docs/latest/rules/require-unicode-regexp"
},

@@ -49,3 +49,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -52,0 +52,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/require-yield"
url: "https://eslint.org/docs/latest/rules/require-yield"
},

@@ -23,0 +23,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/rest-spread-spacing"
url: "https://eslint.org/docs/latest/rules/rest-spread-spacing"
},

@@ -39,3 +39,3 @@

create(context) {
const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
alwaysSpace = context.options[0] === "always";

@@ -42,0 +42,0 @@

@@ -22,3 +22,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/semi-spacing"
url: "https://eslint.org/docs/latest/rules/semi-spacing"
},

@@ -56,3 +56,3 @@

const config = context.options[0],
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;
let requireSpaceBefore = false,

@@ -59,0 +59,0 @@ requireSpaceAfter = true;

@@ -78,3 +78,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/semi-style"
url: "https://eslint.org/docs/latest/rules/semi-style"
},

@@ -91,3 +91,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const option = context.options[0] || "last";

@@ -94,0 +94,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/semi"
url: "https://eslint.org/docs/latest/rules/semi"
},

@@ -62,3 +62,4 @@

properties: {
omitLastInOneLineBlock: { type: "boolean" }
omitLastInOneLineBlock: { type: "boolean" },
omitLastInOneLineClassBody: { type: "boolean" }
},

@@ -88,4 +89,5 @@ additionalProperties: false

const exceptOneLine = Boolean(options && options.omitLastInOneLineBlock);
const exceptOneLineClassBody = Boolean(options && options.omitLastInOneLineClassBody);
const beforeStatementContinuationChars = options && options.beforeStatementContinuationChars || "any";
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -341,2 +343,23 @@ //--------------------------------------------------------------------------

/**
* Checks a node to see if it's the last item in a one-liner `ClassBody` node.
* ClassBody is a one-liner if its braces (and consequently everything between them) are on the same line.
* @param {ASTNode} node The node to check.
* @returns {boolean} whether the node is the last item in a one-liner ClassBody.
*/
function isLastInOneLinerClassBody(node) {
const parent = node.parent;
const nextToken = sourceCode.getTokenAfter(node);
if (!nextToken || nextToken.value !== "}") {
return false;
}
if (parent.type === "ClassBody") {
return parent.loc.start.line === parent.loc.end.line;
}
return false;
}
/**
* Checks a node to see if it's followed by a semicolon.

@@ -361,6 +384,8 @@ * @param {ASTNode} node The node to check.

const oneLinerBlock = (exceptOneLine && isLastInOneLinerBlock(node));
const oneLinerClassBody = (exceptOneLineClassBody && isLastInOneLinerClassBody(node));
const oneLinerBlockOrClassBody = oneLinerBlock || oneLinerClassBody;
if (isSemi && oneLinerBlock) {
if (isSemi && oneLinerBlockOrClassBody) {
report(node, true);
} else if (!isSemi && !oneLinerBlock) {
} else if (!isSemi && !oneLinerBlockOrClassBody) {
report(node);

@@ -367,0 +392,0 @@ }

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/sort-imports"
url: "https://eslint.org/docs/latest/rules/sort-imports"
},

@@ -75,3 +75,3 @@

allowSeparatedGroups = configuration.allowSeparatedGroups || false,
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;
let previousDeclaration = null;

@@ -78,0 +78,0 @@

@@ -86,3 +86,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/sort-keys"
url: "https://eslint.org/docs/latest/rules/sort-keys"
},

@@ -139,3 +139,3 @@

let stack = null;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -142,0 +142,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/sort-vars"
url: "https://eslint.org/docs/latest/rules/sort-vars"
},

@@ -48,3 +48,3 @@

ignoreCase = configuration.ignoreCase || false,
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;

@@ -51,0 +51,0 @@ return {

@@ -45,3 +45,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/space-before-blocks"
url: "https://eslint.org/docs/latest/rules/space-before-blocks"
},

@@ -84,3 +84,3 @@

const config = context.options[0],
sourceCode = context.getSourceCode();
sourceCode = context.sourceCode;
let alwaysFunctions = true,

@@ -87,0 +87,0 @@ alwaysKeywords = true,

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/space-before-function-paren"
url: "https://eslint.org/docs/latest/rules/space-before-function-paren"
},

@@ -63,3 +63,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const baseConfig = typeof context.options[0] === "string" ? context.options[0] : "always";

@@ -66,0 +66,0 @@ const overrideConfig = typeof context.options[0] === "object" ? context.options[0] : {};

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/space-in-parens"
url: "https://eslint.org/docs/latest/rules/space-in-parens"
},

@@ -106,3 +106,3 @@

//--------------------------------------------------------------------------
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -109,0 +109,0 @@ /**

@@ -21,3 +21,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/space-infix-ops"
url: "https://eslint.org/docs/latest/rules/space-infix-ops"
},

@@ -47,3 +47,3 @@

const int32Hint = context.options[0] ? context.options[0].int32Hint === true : false;
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -50,0 +50,0 @@ /**

@@ -25,3 +25,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/space-unary-ops"
url: "https://eslint.org/docs/latest/rules/space-unary-ops"
},

@@ -66,3 +66,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -69,0 +69,0 @@ //--------------------------------------------------------------------------

@@ -157,3 +157,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/spaced-comment"
url: "https://eslint.org/docs/latest/rules/spaced-comment"
},

@@ -239,3 +239,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -242,0 +242,0 @@ // Unless the first option is never, require a space

@@ -74,3 +74,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/strict"
url: "https://eslint.org/docs/latest/rules/strict"
},

@@ -77,0 +77,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/switch-colon-spacing"
url: "https://eslint.org/docs/latest/rules/switch-colon-spacing"
},

@@ -50,3 +50,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const options = context.options[0] || {};

@@ -53,0 +53,0 @@ const beforeSpacing = options.before === true; // false by default

@@ -27,3 +27,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/symbol-description"
url: "https://eslint.org/docs/latest/rules/symbol-description"
},

@@ -39,3 +39,3 @@ fixable: null,

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -42,0 +42,0 @@ /**

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/template-curly-spacing"
url: "https://eslint.org/docs/latest/rules/template-curly-spacing"
},

@@ -44,3 +44,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const always = context.options[0] === "always";

@@ -47,0 +47,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/template-tag-spacing"
url: "https://eslint.org/docs/latest/rules/template-tag-spacing"
},

@@ -37,3 +37,3 @@

const never = context.options[0] !== "always";
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -40,0 +40,0 @@ /**

@@ -19,3 +19,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/unicode-bom"
url: "https://eslint.org/docs/latest/rules/unicode-bom"
},

@@ -46,3 +46,3 @@

const sourceCode = context.getSourceCode(),
const sourceCode = context.sourceCode,
location = { column: 0, line: 1 },

@@ -49,0 +49,0 @@ requireBOM = context.options[0] || "never";

@@ -42,3 +42,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/use-isnan"
url: "https://eslint.org/docs/latest/rules/use-isnan"
},

@@ -45,0 +45,0 @@

@@ -26,3 +26,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/valid-jsdoc"
url: "https://eslint.org/docs/latest/rules/valid-jsdoc"
},

@@ -100,3 +100,3 @@

prefer = options.prefer || {},
sourceCode = context.getSourceCode(),
sourceCode = context.sourceCode,

@@ -103,0 +103,0 @@ // these both default to true, so you have to explicitly make them false

@@ -19,3 +19,3 @@ /**

recommended: true,
url: "https://eslint.org/docs/rules/valid-typeof"
url: "https://eslint.org/docs/latest/rules/valid-typeof"
},

@@ -48,3 +48,3 @@

OPERATORS = new Set(["==", "===", "!=", "!=="]);
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;
const requireStringLiterals = context.options[0] && context.options[0].requireStringLiterals;

@@ -51,0 +51,0 @@

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/vars-on-top"
url: "https://eslint.org/docs/latest/rules/vars-on-top"
},

@@ -23,0 +23,0 @@

@@ -48,3 +48,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/wrap-iife"
url: "https://eslint.org/docs/latest/rules/wrap-iife"
},

@@ -81,3 +81,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -84,0 +84,0 @@ /**

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/wrap-regex"
url: "https://eslint.org/docs/latest/rules/wrap-regex"
},

@@ -33,3 +33,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -36,0 +36,0 @@ return {

@@ -20,3 +20,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/yield-star-spacing"
url: "https://eslint.org/docs/latest/rules/yield-star-spacing"
},

@@ -52,3 +52,3 @@

create(context) {
const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -55,0 +55,0 @@ const mode = (function(option) {

@@ -126,3 +126,3 @@ /**

recommended: false,
url: "https://eslint.org/docs/rules/yoda"
url: "https://eslint.org/docs/latest/rules/yoda"
},

@@ -166,3 +166,3 @@

const sourceCode = context.getSourceCode();
const sourceCode = context.sourceCode;

@@ -169,0 +169,0 @@ /**

@@ -8,2 +8,22 @@ /**

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const GraphemeSplitter = require("grapheme-splitter");
//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
// eslint-disable-next-line no-control-regex -- intentionally including control characters
const ASCII_REGEX = /^[\u0000-\u007f]*$/u;
/** @type {GraphemeSplitter | undefined} */
let splitter;
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
/**

@@ -21,4 +41,22 @@ * Converts the first letter of a string to uppercase.

/**
* Counts graphemes in a given string.
* @param {string} value A string to count graphemes.
* @returns {number} The number of graphemes in `value`.
*/
function getGraphemeCount(value) {
if (ASCII_REGEX.test(value)) {
return value.length;
}
if (!splitter) {
splitter = new GraphemeSplitter();
}
return splitter.countGraphemes(value);
}
module.exports = {
upperCaseFirst
upperCaseFirst,
getGraphemeCount
};
{
"name": "eslint",
"version": "8.39.0",
"version": "8.40.0",
"author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>",

@@ -65,4 +65,4 @@ "description": "An AST-based pattern checker for JavaScript.",

"@eslint-community/regexpp": "^4.4.0",
"@eslint/eslintrc": "^2.0.2",
"@eslint/js": "8.39.0",
"@eslint/eslintrc": "^2.0.3",
"@eslint/js": "8.40.0",
"@humanwhocodes/config-array": "^0.11.8",

@@ -78,4 +78,4 @@ "@humanwhocodes/module-importer": "^1.0.1",

"eslint-scope": "^7.2.0",
"eslint-visitor-keys": "^3.4.0",
"espree": "^9.5.1",
"eslint-visitor-keys": "^3.4.1",
"espree": "^9.5.2",
"esquery": "^1.4.2",

@@ -82,0 +82,0 @@ "esutils": "^2.0.2",

@@ -19,3 +19,4 @@ [![npm version](https://img.shields.io/npm/v/eslint.svg)](https://www.npmjs.com/package/eslint)

[Twitter](https://twitter.com/geteslint) |
[Discord](https://eslint.org/chat)
[Discord](https://eslint.org/chat) |
[Mastodon](https://fosstodon.org/@eslint)

@@ -285,5 +286,5 @@ ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions:

<p><a href="#"><img src="https://images.opencollective.com/2021-frameworks-fund/logo.png" alt="Chrome Frameworks Fund" height="undefined"></a> <a href="https://automattic.com"><img src="https://images.opencollective.com/automattic/d0ef3e1/logo.png" alt="Automattic" height="undefined"></a></p><h3>Gold Sponsors</h3>
<p><a href="https://ridicorp.com/career/"><img src="https://images.opencollective.com/ridi-corporation/175dcf3/logo.png" alt="RIDI" height="96"></a> <a href="https://engineering.salesforce.com"><img src="https://images.opencollective.com/salesforce/ca8f997/logo.png" alt="Salesforce" height="96"></a> <a href="https://www.airbnb.com/"><img src="https://images.opencollective.com/airbnb/d327d66/logo.png" alt="Airbnb" height="96"></a></p><h3>Silver Sponsors</h3>
<p><a href="https://engineering.salesforce.com"><img src="https://images.opencollective.com/salesforce/ca8f997/logo.png" alt="Salesforce" height="96"></a> <a href="https://www.airbnb.com/"><img src="https://images.opencollective.com/airbnb/d327d66/logo.png" alt="Airbnb" height="96"></a></p><h3>Silver Sponsors</h3>
<p><a href="https://sentry.io"><img src="https://avatars.githubusercontent.com/u/1396951?v=4" alt="Sentry" height="64"></a> <a href="https://liftoff.io/"><img src="https://images.opencollective.com/liftoff/5c4fa84/logo.png" alt="Liftoff" height="64"></a> <a href="https://americanexpress.io"><img src="https://avatars.githubusercontent.com/u/3853301?v=4" alt="American Express" height="64"></a></p><h3>Bronze Sponsors</h3>
<p><a href="https://twicsy.com/buy-instagram-likes"><img src="https://images.opencollective.com/twicsy/7af290f/avatar.png" alt="Twicsy" height="32"></a> <a href="https://paydaysay.com/"><img src="https://images.opencollective.com/payday-say-organization/9cd2467/logo.png" alt="PayDay Say" height="32"></a> <a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/d5592fe/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://nx.dev"><img src="https://images.opencollective.com/nx/0efbe42/logo.png" alt="Nx (by Nrwl)" height="32"></a> <a href="https://www.crosswordsolver.org/anagram-solver/"><img src="https://images.opencollective.com/anagram-solver/2666271/logo.png" alt="Anagram Solver" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/7fa1641/logo.png" alt="Icons8: free icons, photos, illustrations, and music" height="32"></a> <a href="https://discord.com"><img src="https://images.opencollective.com/discordapp/f9645d9/logo.png" alt="Discord" height="32"></a> <a href="https://transloadit.com/"><img src="https://avatars.githubusercontent.com/u/125754?v=4" alt="Transloadit" height="32"></a> <a href="https://www.ignitionapp.com"><img src="https://avatars.githubusercontent.com/u/5753491?v=4" alt="Ignition" height="32"></a> <a href="https://herocoders.com"><img src="https://avatars.githubusercontent.com/u/37549774?v=4" alt="HeroCoders" height="32"></a> <a href="https://quickbookstoolhub.com"><img src="https://avatars.githubusercontent.com/u/95090305?u=e5bc398ef775c9ed19f955c675cdc1fb6abf01df&v=4" alt="QuickBooks Tool hub" height="32"></a></p>
<p><a href="https://paydaysay.com/"><img src="https://images.opencollective.com/payday-say-organization/9cd2467/logo.png" alt="PayDay Say" height="32"></a> <a href="https://themeisle.com"><img src="https://images.opencollective.com/themeisle/d5592fe/logo.png" alt="ThemeIsle" height="32"></a> <a href="https://nx.dev"><img src="https://images.opencollective.com/nx/0efbe42/logo.png" alt="Nx (by Nrwl)" height="32"></a> <a href="https://www.crosswordsolver.org/anagram-solver/"><img src="https://images.opencollective.com/anagram-solver/2666271/logo.png" alt="Anagram Solver" height="32"></a> <a href="https://icons8.com"><img src="https://images.opencollective.com/icons8/7fa1641/logo.png" alt="Icons8: free icons, photos, illustrations, and music" height="32"></a> <a href="https://discord.com"><img src="https://images.opencollective.com/discordapp/f9645d9/logo.png" alt="Discord" height="32"></a> <a href="https://transloadit.com/"><img src="https://avatars.githubusercontent.com/u/125754?v=4" alt="Transloadit" height="32"></a> <a href="https://www.ignitionapp.com"><img src="https://avatars.githubusercontent.com/u/5753491?v=4" alt="Ignition" height="32"></a> <a href="https://herocoders.com"><img src="https://avatars.githubusercontent.com/u/37549774?v=4" alt="HeroCoders" height="32"></a> <a href="https://quickbookstoolhub.com"><img src="https://avatars.githubusercontent.com/u/95090305?u=e5bc398ef775c9ed19f955c675cdc1fb6abf01df&v=4" alt="QuickBooks Tool hub" height="32"></a></p>
<!--sponsorsend-->

@@ -290,0 +291,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc