From b99871b60cc54324c43c887609a0a6063cbd4cd5 Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Fri, 20 May 2022 14:00:26 -0700 Subject: [PATCH 1/8] docs: Add rules meta info to rule pages --- Makefile.js | 26 +- docs/src/_data/rules_meta.json | 8428 +++++++++++++++++ .../components/rule-categories.macro.html | 6 +- docs/src/_includes/layouts/doc.html | 16 +- 4 files changed, 8469 insertions(+), 7 deletions(-) create mode 100644 docs/src/_data/rules_meta.json diff --git a/Makefile.js b/Makefile.js index bdd3aca75bc..6ff37f15ae8 100644 --- a/Makefile.js +++ b/Makefile.js @@ -181,10 +181,14 @@ function generateFormatterExamples(formatterInfo, prereleaseVersion) { * @returns {void} */ function generateRuleIndexPage() { - const outputFile = "../website/_data/rules.yml", + const legacyWebsiteOutputFile = "../website/_data/rules.yml", + docsSiteOutputFile = "docs/src/_data/rules.json", + docsSiteMetaOutputFile = "docs/src/_data/rules_meta.json", ruleTypes = "conf/rule-type-list.json", ruleTypesData = JSON.parse(cat(path.resolve(ruleTypes))); + const meta = {}; + RULE_FILES .map(filename => [filename, path.basename(filename, ".js")]) .sort((a, b) => a[1].localeCompare(b[1])) @@ -193,6 +197,17 @@ function generateRuleIndexPage() { const basename = pair[1]; const rule = require(path.resolve(filename)); + /* + * Eleventy interprets the {{ }} in messages as being variables, + * which can cause an error if there's syntax it doesn't expect. + * Because we don't use this info in the website anyway, it's safer + * to just remove it. + */ + meta[basename] = { + ...rule.meta, + messages: void 0 + }; + if (rule.meta.deprecated) { ruleTypesData.deprecated.rules.push({ name: basename, @@ -219,9 +234,12 @@ function generateRuleIndexPage() { // `.rules` will be `undefined` if all rules in category are deprecated. ruleTypesData.types = ruleTypesData.types.filter(ruleType => !!ruleType.rules); - const output = yaml.dump(ruleTypesData, { sortKeys: true }); + JSON.stringify(ruleTypesData, null, 4).to(docsSiteOutputFile); + JSON.stringify(meta, null, 4).to(docsSiteMetaOutputFile); + + const legacyOutput = yaml.dump(ruleTypesData, { sortKeys: true }); - output.to(outputFile); + legacyOutput.to(legacyWebsiteOutputFile); } /** @@ -782,6 +800,8 @@ target.gensite = function(prereleaseVersion) { echo("Done generating eslint.org"); }; +target.generateRuleIndexPage = generateRuleIndexPage; + target.webpack = function(mode = "none") { exec(`${getBinFile("webpack")} --mode=${mode} --output-path=${BUILD_DIR}`); }; diff --git a/docs/src/_data/rules_meta.json b/docs/src/_data/rules_meta.json new file mode 100644 index 00000000000..e33e569ccad --- /dev/null +++ b/docs/src/_data/rules_meta.json @@ -0,0 +1,8428 @@ +{ + "accessor-pairs": { + "type": "suggestion", + "docs": { + "description": "enforce getter and setter pairs in objects and classes", + "recommended": false, + "url": "https://eslint.org/docs/rules/accessor-pairs" + }, + "schema": [ + { + "type": "object", + "properties": { + "getWithoutSet": { + "type": "boolean", + "default": false + }, + "setWithoutGet": { + "type": "boolean", + "default": true + }, + "enforceForClassMembers": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "array-bracket-newline": { + "type": "layout", + "docs": { + "description": "enforce linebreaks after opening and before closing array brackets", + "recommended": false, + "url": "https://eslint.org/docs/rules/array-bracket-newline" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never", + "consistent" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minItems": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "array-bracket-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing inside array brackets", + "recommended": false, + "url": "https://eslint.org/docs/rules/array-bracket-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "singleValue": { + "type": "boolean" + }, + "objectsInArrays": { + "type": "boolean" + }, + "arraysInArrays": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "array-callback-return": { + "type": "problem", + "docs": { + "description": "enforce `return` statements in callbacks of array methods", + "recommended": false, + "url": "https://eslint.org/docs/rules/array-callback-return" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowImplicit": { + "type": "boolean", + "default": false + }, + "checkForEach": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "array-element-newline": { + "type": "layout", + "docs": { + "description": "enforce line breaks after each array element", + "recommended": false, + "url": "https://eslint.org/docs/rules/array-element-newline" + }, + "fixable": "whitespace", + "schema": { + "definitions": { + "basicConfig": { + "oneOf": [ + { + "enum": [ + "always", + "never", + "consistent" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minItems": { + "type": [ + "integer", + "null" + ], + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + }, + "items": [ + { + "oneOf": [ + { + "$ref": "#/definitions/basicConfig" + }, + { + "type": "object", + "properties": { + "ArrayExpression": { + "$ref": "#/definitions/basicConfig" + }, + "ArrayPattern": { + "$ref": "#/definitions/basicConfig" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + } + ] + } + }, + "arrow-body-style": { + "type": "suggestion", + "docs": { + "description": "require braces around arrow function bodies", + "recommended": false, + "url": "https://eslint.org/docs/rules/arrow-body-style" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "never" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "as-needed" + ] + }, + { + "type": "object", + "properties": { + "requireReturnForObjectLiteral": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + }, + "fixable": "code" + }, + "arrow-parens": { + "type": "layout", + "docs": { + "description": "require parentheses around arrow function arguments", + "recommended": false, + "url": "https://eslint.org/docs/rules/arrow-parens" + }, + "fixable": "code", + "schema": [ + { + "enum": [ + "always", + "as-needed" + ] + }, + { + "type": "object", + "properties": { + "requireForBlockBody": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "arrow-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before and after the arrow in arrow functions", + "recommended": false, + "url": "https://eslint.org/docs/rules/arrow-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "before": { + "type": "boolean", + "default": true + }, + "after": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "block-scoped-var": { + "type": "suggestion", + "docs": { + "description": "enforce the use of variables within the scope they are defined", + "recommended": false, + "url": "https://eslint.org/docs/rules/block-scoped-var" + }, + "schema": [] + }, + "block-spacing": { + "type": "layout", + "docs": { + "description": "disallow or enforce spaces inside of blocks after opening block and before closing block", + "recommended": false, + "url": "https://eslint.org/docs/rules/block-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ] + }, + "brace-style": { + "type": "layout", + "docs": { + "description": "enforce consistent brace style for blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/brace-style" + }, + "schema": [ + { + "enum": [ + "1tbs", + "stroustrup", + "allman" + ] + }, + { + "type": "object", + "properties": { + "allowSingleLine": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "whitespace" + }, + "callback-return": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "require `return` statements after callbacks", + "recommended": false, + "url": "https://eslint.org/docs/rules/callback-return" + }, + "schema": [ + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "camelcase": { + "type": "suggestion", + "docs": { + "description": "enforce camelcase naming convention", + "recommended": false, + "url": "https://eslint.org/docs/rules/camelcase" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignoreDestructuring": { + "type": "boolean", + "default": false + }, + "ignoreImports": { + "type": "boolean", + "default": false + }, + "ignoreGlobals": { + "type": "boolean", + "default": false + }, + "properties": { + "enum": [ + "always", + "never" + ] + }, + "allow": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 0, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "capitalized-comments": { + "type": "suggestion", + "docs": { + "description": "enforce or disallow capitalization of the first letter of a comment", + "recommended": false, + "url": "https://eslint.org/docs/rules/capitalized-comments" + }, + "fixable": "code", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "oneOf": [ + { + "type": "object", + "properties": { + "ignorePattern": { + "type": "string" + }, + "ignoreInlineComments": { + "type": "boolean" + }, + "ignoreConsecutiveComments": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "line": { + "type": "object", + "properties": { + "ignorePattern": { + "type": "string" + }, + "ignoreInlineComments": { + "type": "boolean" + }, + "ignoreConsecutiveComments": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "block": { + "type": "object", + "properties": { + "ignorePattern": { + "type": "string" + }, + "ignoreInlineComments": { + "type": "boolean" + }, + "ignoreConsecutiveComments": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "class-methods-use-this": { + "type": "suggestion", + "docs": { + "description": "enforce that class methods utilize `this`", + "recommended": false, + "url": "https://eslint.org/docs/rules/class-methods-use-this" + }, + "schema": [ + { + "type": "object", + "properties": { + "exceptMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "enforceForClassFields": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "comma-dangle": { + "type": "layout", + "docs": { + "description": "require or disallow trailing commas", + "recommended": false, + "url": "https://eslint.org/docs/rules/comma-dangle" + }, + "fixable": "code", + "schema": { + "definitions": { + "value": { + "enum": [ + "always-multiline", + "always", + "never", + "only-multiline" + ] + }, + "valueWithIgnore": { + "enum": [ + "always-multiline", + "always", + "ignore", + "never", + "only-multiline" + ] + } + }, + "type": "array", + "items": [ + { + "oneOf": [ + { + "$ref": "#/definitions/value" + }, + { + "type": "object", + "properties": { + "arrays": { + "$ref": "#/definitions/valueWithIgnore" + }, + "objects": { + "$ref": "#/definitions/valueWithIgnore" + }, + "imports": { + "$ref": "#/definitions/valueWithIgnore" + }, + "exports": { + "$ref": "#/definitions/valueWithIgnore" + }, + "functions": { + "$ref": "#/definitions/valueWithIgnore" + } + }, + "additionalProperties": false + } + ] + } + ], + "additionalItems": false + } + }, + "comma-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before and after commas", + "recommended": false, + "url": "https://eslint.org/docs/rules/comma-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "before": { + "type": "boolean", + "default": false + }, + "after": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "comma-style": { + "type": "layout", + "docs": { + "description": "enforce consistent comma style", + "recommended": false, + "url": "https://eslint.org/docs/rules/comma-style" + }, + "fixable": "code", + "schema": [ + { + "enum": [ + "first", + "last" + ] + }, + { + "type": "object", + "properties": { + "exceptions": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "additionalProperties": false + } + ] + }, + "complexity": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum cyclomatic complexity allowed in a program", + "recommended": false, + "url": "https://eslint.org/docs/rules/complexity" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "maximum": { + "type": "integer", + "minimum": 0 + }, + "max": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "computed-property-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing inside computed property brackets", + "recommended": false, + "url": "https://eslint.org/docs/rules/computed-property-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "enforceForClassMembers": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "consistent-return": { + "type": "suggestion", + "docs": { + "description": "require `return` statements to either always or never specify values", + "recommended": false, + "url": "https://eslint.org/docs/rules/consistent-return" + }, + "schema": [ + { + "type": "object", + "properties": { + "treatUndefinedAsUnspecified": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "consistent-this": { + "type": "suggestion", + "docs": { + "description": "enforce consistent naming when capturing the current execution context", + "recommended": false, + "url": "https://eslint.org/docs/rules/consistent-this" + }, + "schema": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "uniqueItems": true + } + }, + "constructor-super": { + "type": "problem", + "docs": { + "description": "require `super()` calls in constructors", + "recommended": true, + "url": "https://eslint.org/docs/rules/constructor-super" + }, + "schema": [] + }, + "curly": { + "type": "suggestion", + "docs": { + "description": "enforce consistent brace style for all control statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/curly" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "all" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "multi", + "multi-line", + "multi-or-nest" + ] + }, + { + "enum": [ + "consistent" + ] + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + }, + "fixable": "code" + }, + "default-case": { + "type": "suggestion", + "docs": { + "description": "require `default` cases in `switch` statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/default-case" + }, + "schema": [ + { + "type": "object", + "properties": { + "commentPattern": { + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "default-case-last": { + "type": "suggestion", + "docs": { + "description": "enforce default clauses in switch statements to be last", + "recommended": false, + "url": "https://eslint.org/docs/rules/default-case-last" + }, + "schema": [] + }, + "default-param-last": { + "type": "suggestion", + "docs": { + "description": "enforce default parameters to be last", + "recommended": false, + "url": "https://eslint.org/docs/rules/default-param-last" + }, + "schema": [] + }, + "dot-location": { + "type": "layout", + "docs": { + "description": "enforce consistent newlines before and after dots", + "recommended": false, + "url": "https://eslint.org/docs/rules/dot-location" + }, + "schema": [ + { + "enum": [ + "object", + "property" + ] + } + ], + "fixable": "code" + }, + "dot-notation": { + "type": "suggestion", + "docs": { + "description": "enforce dot notation whenever possible", + "recommended": false, + "url": "https://eslint.org/docs/rules/dot-notation" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowKeywords": { + "type": "boolean", + "default": true + }, + "allowPattern": { + "type": "string", + "default": "" + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "eol-last": { + "type": "layout", + "docs": { + "description": "require or disallow newline at the end of files", + "recommended": false, + "url": "https://eslint.org/docs/rules/eol-last" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never", + "unix", + "windows" + ] + } + ] + }, + "eqeqeq": { + "type": "suggestion", + "docs": { + "description": "require the use of `===` and `!==`", + "recommended": false, + "url": "https://eslint.org/docs/rules/eqeqeq" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always" + ] + }, + { + "type": "object", + "properties": { + "null": { + "enum": [ + "always", + "never", + "ignore" + ] + } + }, + "additionalProperties": false + } + ], + "additionalItems": false + }, + { + "type": "array", + "items": [ + { + "enum": [ + "smart", + "allow-null" + ] + } + ], + "additionalItems": false + } + ] + }, + "fixable": "code" + }, + "for-direction": { + "type": "problem", + "docs": { + "description": "enforce \"for\" loop update clause moving the counter in the right direction.", + "recommended": true, + "url": "https://eslint.org/docs/rules/for-direction" + }, + "fixable": null, + "schema": [] + }, + "func-call-spacing": { + "type": "layout", + "docs": { + "description": "require or disallow spacing between function identifiers and their invocations", + "recommended": false, + "url": "https://eslint.org/docs/rules/func-call-spacing" + }, + "fixable": "whitespace", + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "never" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "always" + ] + }, + { + "type": "object", + "properties": { + "allowNewlines": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + } + }, + "func-name-matching": { + "type": "suggestion", + "docs": { + "description": "require function names to match the name of the variable or property to which they are assigned", + "recommended": false, + "url": "https://eslint.org/docs/rules/func-name-matching" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "additionalItems": false, + "items": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "considerPropertyDescriptor": { + "type": "boolean" + }, + "includeCommonJSModuleExports": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + { + "type": "array", + "additionalItems": false, + "items": [ + { + "type": "object", + "properties": { + "considerPropertyDescriptor": { + "type": "boolean" + }, + "includeCommonJSModuleExports": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + } + }, + "func-names": { + "type": "suggestion", + "docs": { + "description": "require or disallow named `function` expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/func-names" + }, + "schema": { + "definitions": { + "value": { + "enum": [ + "always", + "as-needed", + "never" + ] + } + }, + "items": [ + { + "$ref": "#/definitions/value" + }, + { + "type": "object", + "properties": { + "generators": { + "$ref": "#/definitions/value" + } + }, + "additionalProperties": false + } + ] + } + }, + "func-style": { + "type": "suggestion", + "docs": { + "description": "enforce the consistent use of either `function` declarations or expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/func-style" + }, + "schema": [ + { + "enum": [ + "declaration", + "expression" + ] + }, + { + "type": "object", + "properties": { + "allowArrowFunctions": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "function-call-argument-newline": { + "type": "layout", + "docs": { + "description": "enforce line breaks between arguments of a function call", + "recommended": false, + "url": "https://eslint.org/docs/rules/function-call-argument-newline" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never", + "consistent" + ] + } + ] + }, + "function-paren-newline": { + "type": "layout", + "docs": { + "description": "enforce consistent line breaks inside function parentheses", + "recommended": false, + "url": "https://eslint.org/docs/rules/function-paren-newline" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never", + "consistent", + "multiline", + "multiline-arguments" + ] + }, + { + "type": "object", + "properties": { + "minItems": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "generator-star-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing around `*` operators in generator functions", + "recommended": false, + "url": "https://eslint.org/docs/rules/generator-star-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "before", + "after", + "both", + "neither" + ] + }, + { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + }, + "named": { + "oneOf": [ + { + "enum": [ + "before", + "after", + "both", + "neither" + ] + }, + { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "anonymous": { + "oneOf": [ + { + "enum": [ + "before", + "after", + "both", + "neither" + ] + }, + { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "method": { + "oneOf": [ + { + "enum": [ + "before", + "after", + "both", + "neither" + ] + }, + { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "getter-return": { + "type": "problem", + "docs": { + "description": "enforce `return` statements in getters", + "recommended": true, + "url": "https://eslint.org/docs/rules/getter-return" + }, + "fixable": null, + "schema": [ + { + "type": "object", + "properties": { + "allowImplicit": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "global-require": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "require `require()` calls to be placed at top-level module scope", + "recommended": false, + "url": "https://eslint.org/docs/rules/global-require" + }, + "schema": [] + }, + "grouped-accessor-pairs": { + "type": "suggestion", + "docs": { + "description": "require grouped accessor pairs in object literals and classes", + "recommended": false, + "url": "https://eslint.org/docs/rules/grouped-accessor-pairs" + }, + "schema": [ + { + "enum": [ + "anyOrder", + "getBeforeSet", + "setBeforeGet" + ] + } + ] + }, + "guard-for-in": { + "type": "suggestion", + "docs": { + "description": "require `for-in` loops to include an `if` statement", + "recommended": false, + "url": "https://eslint.org/docs/rules/guard-for-in" + }, + "schema": [] + }, + "handle-callback-err": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "require error handling in callbacks", + "recommended": false, + "url": "https://eslint.org/docs/rules/handle-callback-err" + }, + "schema": [ + { + "type": "string" + } + ] + }, + "id-blacklist": { + "deprecated": true, + "replacedBy": [ + "id-denylist" + ], + "type": "suggestion", + "docs": { + "description": "disallow specified identifiers", + "recommended": false, + "url": "https://eslint.org/docs/rules/id-blacklist" + }, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "id-denylist": { + "type": "suggestion", + "docs": { + "description": "disallow specified identifiers", + "recommended": false, + "url": "https://eslint.org/docs/rules/id-denylist" + }, + "schema": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "id-length": { + "type": "suggestion", + "docs": { + "description": "enforce minimum and maximum identifier lengths", + "recommended": false, + "url": "https://eslint.org/docs/rules/id-length" + }, + "schema": [ + { + "type": "object", + "properties": { + "min": { + "type": "integer", + "default": 2 + }, + "max": { + "type": "integer" + }, + "exceptions": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "exceptionPatterns": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "properties": { + "enum": [ + "always", + "never" + ] + } + }, + "additionalProperties": false + } + ] + }, + "id-match": { + "type": "suggestion", + "docs": { + "description": "require identifiers to match a specified regular expression", + "recommended": false, + "url": "https://eslint.org/docs/rules/id-match" + }, + "schema": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "boolean", + "default": false + }, + "classFields": { + "type": "boolean", + "default": false + }, + "onlyDeclarations": { + "type": "boolean", + "default": false + }, + "ignoreDestructuring": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "implicit-arrow-linebreak": { + "type": "layout", + "docs": { + "description": "enforce the location of arrow function bodies", + "recommended": false, + "url": "https://eslint.org/docs/rules/implicit-arrow-linebreak" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "beside", + "below" + ] + } + ] + }, + "indent": { + "type": "layout", + "docs": { + "description": "enforce consistent indentation", + "recommended": false, + "url": "https://eslint.org/docs/rules/indent" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "tab" + ] + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + { + "type": "object", + "properties": { + "SwitchCase": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "VariableDeclarator": { + "oneOf": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + { + "type": "object", + "properties": { + "var": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "let": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "const": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + } + }, + "additionalProperties": false + } + ] + }, + "outerIIFEBody": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "off" + ] + } + ] + }, + "MemberExpression": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "off" + ] + } + ] + }, + "FunctionDeclaration": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "body": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "FunctionExpression": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "body": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "StaticBlock": { + "type": "object", + "properties": { + "body": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + }, + "CallExpression": { + "type": "object", + "properties": { + "arguments": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + } + }, + "additionalProperties": false + }, + "ArrayExpression": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "ObjectExpression": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "ImportDeclaration": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first", + "off" + ] + } + ] + }, + "flatTernaryExpressions": { + "type": "boolean", + "default": false + }, + "offsetTernaryExpressions": { + "type": "boolean", + "default": false + }, + "ignoredNodes": { + "type": "array", + "items": { + "type": "string", + "not": { + "pattern": ":exit$" + } + } + }, + "ignoreComments": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "indent-legacy": { + "type": "layout", + "docs": { + "description": "enforce consistent indentation", + "recommended": false, + "url": "https://eslint.org/docs/rules/indent-legacy" + }, + "deprecated": true, + "replacedBy": [ + "indent" + ], + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "tab" + ] + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + { + "type": "object", + "properties": { + "SwitchCase": { + "type": "integer", + "minimum": 0 + }, + "VariableDeclarator": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "var": { + "type": "integer", + "minimum": 0 + }, + "let": { + "type": "integer", + "minimum": 0 + }, + "const": { + "type": "integer", + "minimum": 0 + } + } + } + ] + }, + "outerIIFEBody": { + "type": "integer", + "minimum": 0 + }, + "MemberExpression": { + "type": "integer", + "minimum": 0 + }, + "FunctionDeclaration": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first" + ] + } + ] + }, + "body": { + "type": "integer", + "minimum": 0 + } + } + }, + "FunctionExpression": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first" + ] + } + ] + }, + "body": { + "type": "integer", + "minimum": 0 + } + } + }, + "CallExpression": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first" + ] + } + ] + } + } + }, + "ArrayExpression": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first" + ] + } + ] + }, + "ObjectExpression": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "enum": [ + "first" + ] + } + ] + } + }, + "additionalProperties": false + } + ] + }, + "init-declarations": { + "type": "suggestion", + "docs": { + "description": "require or disallow initialization in variable declarations", + "recommended": false, + "url": "https://eslint.org/docs/rules/init-declarations" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "never" + ] + }, + { + "type": "object", + "properties": { + "ignoreForLoopInit": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + } + }, + "jsx-quotes": { + "type": "layout", + "docs": { + "description": "enforce the consistent use of either double or single quotes in JSX attributes", + "recommended": false, + "url": "https://eslint.org/docs/rules/jsx-quotes" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "prefer-single", + "prefer-double" + ] + } + ] + }, + "key-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing between keys and values in object literal properties", + "recommended": false, + "url": "https://eslint.org/docs/rules/key-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "anyOf": [ + { + "type": "object", + "properties": { + "align": { + "anyOf": [ + { + "enum": [ + "colon", + "value" + ] + }, + { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "on": { + "enum": [ + "colon", + "value" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "singleLine": { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "multiLine": { + "type": "object", + "properties": { + "align": { + "anyOf": [ + { + "enum": [ + "colon", + "value" + ] + }, + { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "on": { + "enum": [ + "colon", + "value" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "singleLine": { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "multiLine": { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "align": { + "type": "object", + "properties": { + "mode": { + "enum": [ + "strict", + "minimum" + ] + }, + "on": { + "enum": [ + "colon", + "value" + ] + }, + "beforeColon": { + "type": "boolean" + }, + "afterColon": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "keyword-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before and after keywords", + "recommended": false, + "url": "https://eslint.org/docs/rules/keyword-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "before": { + "type": "boolean", + "default": true + }, + "after": { + "type": "boolean", + "default": true + }, + "overrides": { + "type": "object", + "properties": { + "abstract": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "as": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "async": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "await": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "boolean": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "break": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "byte": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "case": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "catch": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "char": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "class": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "const": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "continue": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "debugger": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "default": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "delete": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "do": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "double": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "else": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "enum": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "export": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "extends": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "false": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "final": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "finally": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "float": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "for": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "from": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "function": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "get": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "goto": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "if": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "implements": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "import": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "in": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "instanceof": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "int": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "interface": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "let": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "long": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "native": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "new": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "null": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "of": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "package": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "private": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "protected": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "public": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "return": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "set": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "short": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "static": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "super": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "switch": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "synchronized": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "this": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "throw": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "throws": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "transient": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "true": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "try": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "typeof": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "var": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "void": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "volatile": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "while": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "with": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "yield": { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "line-comment-position": { + "type": "layout", + "docs": { + "description": "enforce position of line comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/line-comment-position" + }, + "schema": [ + { + "oneOf": [ + { + "enum": [ + "above", + "beside" + ] + }, + { + "type": "object", + "properties": { + "position": { + "enum": [ + "above", + "beside" + ] + }, + "ignorePattern": { + "type": "string" + }, + "applyDefaultPatterns": { + "type": "boolean" + }, + "applyDefaultIgnorePatterns": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "linebreak-style": { + "type": "layout", + "docs": { + "description": "enforce consistent linebreak style", + "recommended": false, + "url": "https://eslint.org/docs/rules/linebreak-style" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "unix", + "windows" + ] + } + ] + }, + "lines-around-comment": { + "type": "layout", + "docs": { + "description": "require empty lines around comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/lines-around-comment" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "beforeBlockComment": { + "type": "boolean", + "default": true + }, + "afterBlockComment": { + "type": "boolean", + "default": false + }, + "beforeLineComment": { + "type": "boolean", + "default": false + }, + "afterLineComment": { + "type": "boolean", + "default": false + }, + "allowBlockStart": { + "type": "boolean", + "default": false + }, + "allowBlockEnd": { + "type": "boolean", + "default": false + }, + "allowClassStart": { + "type": "boolean" + }, + "allowClassEnd": { + "type": "boolean" + }, + "allowObjectStart": { + "type": "boolean" + }, + "allowObjectEnd": { + "type": "boolean" + }, + "allowArrayStart": { + "type": "boolean" + }, + "allowArrayEnd": { + "type": "boolean" + }, + "ignorePattern": { + "type": "string" + }, + "applyDefaultIgnorePatterns": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "lines-around-directive": { + "type": "layout", + "docs": { + "description": "require or disallow newlines around directives", + "recommended": false, + "url": "https://eslint.org/docs/rules/lines-around-directive" + }, + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "before": { + "enum": [ + "always", + "never" + ] + }, + "after": { + "enum": [ + "always", + "never" + ] + } + }, + "additionalProperties": false, + "minProperties": 2 + } + ] + } + ], + "fixable": "whitespace", + "deprecated": true, + "replacedBy": [ + "padding-line-between-statements" + ] + }, + "lines-between-class-members": { + "type": "layout", + "docs": { + "description": "require or disallow an empty line between class members", + "recommended": false, + "url": "https://eslint.org/docs/rules/lines-between-class-members" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "exceptAfterSingleLine": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "max-classes-per-file": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum number of classes per file", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-classes-per-file" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "type": "object", + "properties": { + "ignoreExpressions": { + "type": "boolean" + }, + "max": { + "type": "integer", + "minimum": 1 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "max-depth": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum depth that blocks can be nested", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-depth" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "maximum": { + "type": "integer", + "minimum": 0 + }, + "max": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "max-len": { + "type": "layout", + "docs": { + "description": "enforce a maximum line length", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-len" + }, + "schema": [ + { + "anyOf": [ + { + "type": "object", + "properties": { + "code": { + "type": "integer", + "minimum": 0 + }, + "comments": { + "type": "integer", + "minimum": 0 + }, + "tabWidth": { + "type": "integer", + "minimum": 0 + }, + "ignorePattern": { + "type": "string" + }, + "ignoreComments": { + "type": "boolean" + }, + "ignoreStrings": { + "type": "boolean" + }, + "ignoreUrls": { + "type": "boolean" + }, + "ignoreTemplateLiterals": { + "type": "boolean" + }, + "ignoreRegExpLiterals": { + "type": "boolean" + }, + "ignoreTrailingComments": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + { + "anyOf": [ + { + "type": "object", + "properties": { + "code": { + "type": "integer", + "minimum": 0 + }, + "comments": { + "type": "integer", + "minimum": 0 + }, + "tabWidth": { + "type": "integer", + "minimum": 0 + }, + "ignorePattern": { + "type": "string" + }, + "ignoreComments": { + "type": "boolean" + }, + "ignoreStrings": { + "type": "boolean" + }, + "ignoreUrls": { + "type": "boolean" + }, + "ignoreTemplateLiterals": { + "type": "boolean" + }, + "ignoreRegExpLiterals": { + "type": "boolean" + }, + "ignoreTrailingComments": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "integer", + "minimum": 0 + } + ] + }, + { + "type": "object", + "properties": { + "code": { + "type": "integer", + "minimum": 0 + }, + "comments": { + "type": "integer", + "minimum": 0 + }, + "tabWidth": { + "type": "integer", + "minimum": 0 + }, + "ignorePattern": { + "type": "string" + }, + "ignoreComments": { + "type": "boolean" + }, + "ignoreStrings": { + "type": "boolean" + }, + "ignoreUrls": { + "type": "boolean" + }, + "ignoreTemplateLiterals": { + "type": "boolean" + }, + "ignoreRegExpLiterals": { + "type": "boolean" + }, + "ignoreTrailingComments": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "max-lines": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum number of lines per file", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-lines" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "max": { + "type": "integer", + "minimum": 0 + }, + "skipComments": { + "type": "boolean" + }, + "skipBlankLines": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "max-lines-per-function": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum number of lines of code in a function", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-lines-per-function" + }, + "schema": [ + { + "oneOf": [ + { + "type": "object", + "properties": { + "max": { + "type": "integer", + "minimum": 0 + }, + "skipComments": { + "type": "boolean" + }, + "skipBlankLines": { + "type": "boolean" + }, + "IIFEs": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "integer", + "minimum": 1 + } + ] + } + ] + }, + "max-nested-callbacks": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum depth that callbacks can be nested", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-nested-callbacks" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "maximum": { + "type": "integer", + "minimum": 0 + }, + "max": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "max-params": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum number of parameters in function definitions", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-params" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "maximum": { + "type": "integer", + "minimum": 0 + }, + "max": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "max-statements": { + "type": "suggestion", + "docs": { + "description": "enforce a maximum number of statements allowed in function blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-statements" + }, + "schema": [ + { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "type": "object", + "properties": { + "maximum": { + "type": "integer", + "minimum": 0 + }, + "max": { + "type": "integer", + "minimum": 0 + } + }, + "additionalProperties": false + } + ] + }, + { + "type": "object", + "properties": { + "ignoreTopLevelFunctions": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "max-statements-per-line": { + "type": "layout", + "docs": { + "description": "enforce a maximum number of statements allowed per line", + "recommended": false, + "url": "https://eslint.org/docs/rules/max-statements-per-line" + }, + "schema": [ + { + "type": "object", + "properties": { + "max": { + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "additionalProperties": false + } + ] + }, + "multiline-comment-style": { + "type": "suggestion", + "docs": { + "description": "enforce a particular style for multiline comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/multiline-comment-style" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "starred-block", + "separate-lines", + "bare-block" + ] + } + ] + }, + "multiline-ternary": { + "type": "layout", + "docs": { + "description": "enforce newlines between operands of ternary expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/multiline-ternary" + }, + "schema": [ + { + "enum": [ + "always", + "always-multiline", + "never" + ] + } + ], + "fixable": "whitespace" + }, + "new-cap": { + "type": "suggestion", + "docs": { + "description": "require constructor names to begin with a capital letter", + "recommended": false, + "url": "https://eslint.org/docs/rules/new-cap" + }, + "schema": [ + { + "type": "object", + "properties": { + "newIsCap": { + "type": "boolean", + "default": true + }, + "capIsNew": { + "type": "boolean", + "default": true + }, + "newIsCapExceptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "newIsCapExceptionPattern": { + "type": "string" + }, + "capIsNewExceptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "capIsNewExceptionPattern": { + "type": "string" + }, + "properties": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "new-parens": { + "type": "layout", + "docs": { + "description": "enforce or disallow parentheses when invoking a constructor with no arguments", + "recommended": false, + "url": "https://eslint.org/docs/rules/new-parens" + }, + "fixable": "code", + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "never" + ] + } + ], + "minItems": 0, + "maxItems": 1 + } + ] + } + }, + "newline-after-var": { + "type": "layout", + "docs": { + "description": "require or disallow an empty line after variable declarations", + "recommended": false, + "url": "https://eslint.org/docs/rules/newline-after-var" + }, + "schema": [ + { + "enum": [ + "never", + "always" + ] + } + ], + "fixable": "whitespace", + "deprecated": true, + "replacedBy": [ + "padding-line-between-statements" + ] + }, + "newline-before-return": { + "type": "layout", + "docs": { + "description": "require an empty line before `return` statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/newline-before-return" + }, + "fixable": "whitespace", + "schema": [], + "deprecated": true, + "replacedBy": [ + "padding-line-between-statements" + ] + }, + "newline-per-chained-call": { + "type": "layout", + "docs": { + "description": "require a newline after each call in a method chain", + "recommended": false, + "url": "https://eslint.org/docs/rules/newline-per-chained-call" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "ignoreChainWithDepth": { + "type": "integer", + "minimum": 1, + "maximum": 10, + "default": 2 + } + }, + "additionalProperties": false + } + ] + }, + "no-alert": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `alert`, `confirm`, and `prompt`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-alert" + }, + "schema": [] + }, + "no-array-constructor": { + "type": "suggestion", + "docs": { + "description": "disallow `Array` constructors", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-array-constructor" + }, + "schema": [] + }, + "no-async-promise-executor": { + "type": "problem", + "docs": { + "description": "disallow using an async function as a Promise executor", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-async-promise-executor" + }, + "fixable": null, + "schema": [] + }, + "no-await-in-loop": { + "type": "problem", + "docs": { + "description": "disallow `await` inside of loops", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-await-in-loop" + }, + "schema": [] + }, + "no-bitwise": { + "type": "suggestion", + "docs": { + "description": "disallow bitwise operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-bitwise" + }, + "schema": [ + { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "enum": [ + "^", + "|", + "&", + "<<", + ">>", + ">>>", + "^=", + "|=", + "&=", + "<<=", + ">>=", + ">>>=", + "~" + ] + }, + "uniqueItems": true + }, + "int32Hint": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-buffer-constructor": { + "deprecated": true, + "replacedBy": [], + "type": "problem", + "docs": { + "description": "disallow use of the `Buffer()` constructor", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-buffer-constructor" + }, + "schema": [] + }, + "no-caller": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `arguments.caller` or `arguments.callee`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-caller" + }, + "schema": [] + }, + "no-case-declarations": { + "type": "suggestion", + "docs": { + "description": "disallow lexical declarations in case clauses", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-case-declarations" + }, + "schema": [] + }, + "no-catch-shadow": { + "type": "suggestion", + "docs": { + "description": "disallow `catch` clause parameters from shadowing variables in the outer scope", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-catch-shadow" + }, + "replacedBy": [ + "no-shadow" + ], + "deprecated": true, + "schema": [] + }, + "no-class-assign": { + "type": "problem", + "docs": { + "description": "disallow reassigning class members", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-class-assign" + }, + "schema": [] + }, + "no-compare-neg-zero": { + "type": "problem", + "docs": { + "description": "disallow comparing against -0", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-compare-neg-zero" + }, + "fixable": null, + "schema": [] + }, + "no-cond-assign": { + "type": "problem", + "docs": { + "description": "disallow assignment operators in conditional expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-cond-assign" + }, + "schema": [ + { + "enum": [ + "except-parens", + "always" + ] + } + ] + }, + "no-confusing-arrow": { + "type": "suggestion", + "docs": { + "description": "disallow arrow functions where they could be confused with comparisons", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-confusing-arrow" + }, + "fixable": "code", + "schema": [ + { + "type": "object", + "properties": { + "allowParens": { + "type": "boolean", + "default": true + }, + "onlyOneSimpleParam": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-console": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `console`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-console" + }, + "schema": [ + { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-const-assign": { + "type": "problem", + "docs": { + "description": "disallow reassigning `const` variables", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-const-assign" + }, + "schema": [] + }, + "no-constant-binary-expression": { + "type": "problem", + "docs": { + "description": "disallow expressions where the operation doesn't affect the value", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-constant-binary-expression" + }, + "schema": [] + }, + "no-constant-condition": { + "type": "problem", + "docs": { + "description": "disallow constant expressions in conditions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-constant-condition" + }, + "schema": [ + { + "type": "object", + "properties": { + "checkLoops": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-constructor-return": { + "type": "problem", + "docs": { + "description": "disallow returning value from constructor", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-constructor-return" + }, + "schema": {}, + "fixable": null + }, + "no-continue": { + "type": "suggestion", + "docs": { + "description": "disallow `continue` statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-continue" + }, + "schema": [] + }, + "no-control-regex": { + "type": "problem", + "docs": { + "description": "disallow control characters in regular expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-control-regex" + }, + "schema": [] + }, + "no-debugger": { + "type": "problem", + "docs": { + "description": "disallow the use of `debugger`", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-debugger" + }, + "fixable": null, + "schema": [] + }, + "no-delete-var": { + "type": "suggestion", + "docs": { + "description": "disallow deleting variables", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-delete-var" + }, + "schema": [] + }, + "no-div-regex": { + "type": "suggestion", + "docs": { + "description": "disallow division operators explicitly at the beginning of regular expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-div-regex" + }, + "fixable": "code", + "schema": [] + }, + "no-dupe-args": { + "type": "problem", + "docs": { + "description": "disallow duplicate arguments in `function` definitions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-dupe-args" + }, + "schema": [] + }, + "no-dupe-class-members": { + "type": "problem", + "docs": { + "description": "disallow duplicate class members", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-dupe-class-members" + }, + "schema": [] + }, + "no-dupe-else-if": { + "type": "problem", + "docs": { + "description": "disallow duplicate conditions in if-else-if chains", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-dupe-else-if" + }, + "schema": [] + }, + "no-dupe-keys": { + "type": "problem", + "docs": { + "description": "disallow duplicate keys in object literals", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-dupe-keys" + }, + "schema": [] + }, + "no-duplicate-case": { + "type": "problem", + "docs": { + "description": "disallow duplicate case labels", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-duplicate-case" + }, + "schema": [] + }, + "no-duplicate-imports": { + "type": "problem", + "docs": { + "description": "disallow duplicate module imports", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-duplicate-imports" + }, + "schema": [ + { + "type": "object", + "properties": { + "includeExports": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-else-return": { + "type": "suggestion", + "docs": { + "description": "disallow `else` blocks after `return` statements in `if` statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-else-return" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowElseIf": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "no-empty": { + "type": "suggestion", + "docs": { + "description": "disallow empty block statements", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-empty" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowEmptyCatch": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-empty-character-class": { + "type": "problem", + "docs": { + "description": "disallow empty character classes in regular expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-empty-character-class" + }, + "schema": [] + }, + "no-empty-function": { + "type": "suggestion", + "docs": { + "description": "disallow empty functions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-empty-function" + }, + "schema": [ + { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "enum": [ + "functions", + "arrowFunctions", + "generatorFunctions", + "methods", + "generatorMethods", + "getters", + "setters", + "constructors", + "asyncFunctions", + "asyncMethods" + ] + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-empty-pattern": { + "type": "problem", + "docs": { + "description": "disallow empty destructuring patterns", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-empty-pattern" + }, + "schema": [] + }, + "no-eq-null": { + "type": "suggestion", + "docs": { + "description": "disallow `null` comparisons without type-checking operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-eq-null" + }, + "schema": [] + }, + "no-eval": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `eval()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-eval" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowIndirect": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-ex-assign": { + "type": "problem", + "docs": { + "description": "disallow reassigning exceptions in `catch` clauses", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-ex-assign" + }, + "schema": [] + }, + "no-extend-native": { + "type": "suggestion", + "docs": { + "description": "disallow extending native types", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-extend-native" + }, + "schema": [ + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-extra-bind": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary calls to `.bind()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-extra-bind" + }, + "schema": [], + "fixable": "code" + }, + "no-extra-boolean-cast": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary boolean casts", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-extra-boolean-cast" + }, + "schema": [ + { + "type": "object", + "properties": { + "enforceForLogicalOperands": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "no-extra-label": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary labels", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-extra-label" + }, + "schema": [], + "fixable": "code" + }, + "no-extra-parens": { + "type": "layout", + "docs": { + "description": "disallow unnecessary parentheses", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-extra-parens" + }, + "fixable": "code", + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "functions" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "all" + ] + }, + { + "type": "object", + "properties": { + "conditionalAssign": { + "type": "boolean" + }, + "nestedBinaryExpressions": { + "type": "boolean" + }, + "returnAssign": { + "type": "boolean" + }, + "ignoreJSX": { + "enum": [ + "none", + "all", + "single-line", + "multi-line" + ] + }, + "enforceForArrowConditionals": { + "type": "boolean" + }, + "enforceForSequenceExpressions": { + "type": "boolean" + }, + "enforceForNewInMemberExpressions": { + "type": "boolean" + }, + "enforceForFunctionPrototypeMethods": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + } + }, + "no-extra-semi": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary semicolons", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-extra-semi" + }, + "fixable": "code", + "schema": [] + }, + "no-fallthrough": { + "type": "problem", + "docs": { + "description": "disallow fallthrough of `case` statements", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-fallthrough" + }, + "schema": [ + { + "type": "object", + "properties": { + "commentPattern": { + "type": "string", + "default": "" + } + }, + "additionalProperties": false + } + ] + }, + "no-floating-decimal": { + "type": "suggestion", + "docs": { + "description": "disallow leading or trailing decimal points in numeric literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-floating-decimal" + }, + "schema": [], + "fixable": "code" + }, + "no-func-assign": { + "type": "problem", + "docs": { + "description": "disallow reassigning `function` declarations", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-func-assign" + }, + "schema": [] + }, + "no-global-assign": { + "type": "suggestion", + "docs": { + "description": "disallow assignments to native objects or read-only global variables", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-global-assign" + }, + "schema": [ + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-implicit-coercion": { + "type": "suggestion", + "docs": { + "description": "disallow shorthand type conversions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-implicit-coercion" + }, + "fixable": "code", + "schema": [ + { + "type": "object", + "properties": { + "boolean": { + "type": "boolean", + "default": true + }, + "number": { + "type": "boolean", + "default": true + }, + "string": { + "type": "boolean", + "default": true + }, + "disallowTemplateShorthand": { + "type": "boolean", + "default": false + }, + "allow": { + "type": "array", + "items": { + "enum": [ + "~", + "!!", + "+", + "*" + ] + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-implicit-globals": { + "type": "suggestion", + "docs": { + "description": "disallow declarations in the global scope", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-implicit-globals" + }, + "schema": [ + { + "type": "object", + "properties": { + "lexicalBindings": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-implied-eval": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `eval()`-like methods", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-implied-eval" + }, + "schema": [] + }, + "no-import-assign": { + "type": "problem", + "docs": { + "description": "disallow assigning to imported bindings", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-import-assign" + }, + "schema": [] + }, + "no-inline-comments": { + "type": "suggestion", + "docs": { + "description": "disallow inline comments after code", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-inline-comments" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignorePattern": { + "type": "string" + } + }, + "additionalProperties": false + } + ] + }, + "no-inner-declarations": { + "type": "problem", + "docs": { + "description": "disallow variable or `function` declarations in nested blocks", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-inner-declarations" + }, + "schema": [ + { + "enum": [ + "functions", + "both" + ] + } + ] + }, + "no-invalid-regexp": { + "type": "problem", + "docs": { + "description": "disallow invalid regular expression strings in `RegExp` constructors", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-invalid-regexp" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowConstructorFlags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + } + ] + }, + "no-invalid-this": { + "type": "suggestion", + "docs": { + "description": "disallow use of `this` in contexts where the value of `this` is `undefined`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-invalid-this" + }, + "schema": [ + { + "type": "object", + "properties": { + "capIsConstructor": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-irregular-whitespace": { + "type": "problem", + "docs": { + "description": "disallow irregular whitespace", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-irregular-whitespace" + }, + "schema": [ + { + "type": "object", + "properties": { + "skipComments": { + "type": "boolean", + "default": false + }, + "skipStrings": { + "type": "boolean", + "default": true + }, + "skipTemplates": { + "type": "boolean", + "default": false + }, + "skipRegExps": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-iterator": { + "type": "suggestion", + "docs": { + "description": "disallow the use of the `__iterator__` property", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-iterator" + }, + "schema": [] + }, + "no-label-var": { + "type": "suggestion", + "docs": { + "description": "disallow labels that share a name with a variable", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-label-var" + }, + "schema": [] + }, + "no-labels": { + "type": "suggestion", + "docs": { + "description": "disallow labeled statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-labels" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowLoop": { + "type": "boolean", + "default": false + }, + "allowSwitch": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-lone-blocks": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary nested blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-lone-blocks" + }, + "schema": [] + }, + "no-lonely-if": { + "type": "suggestion", + "docs": { + "description": "disallow `if` statements as the only statement in `else` blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-lonely-if" + }, + "schema": [], + "fixable": "code" + }, + "no-loop-func": { + "type": "suggestion", + "docs": { + "description": "disallow function declarations that contain unsafe references inside loop statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-loop-func" + }, + "schema": [] + }, + "no-loss-of-precision": { + "type": "problem", + "docs": { + "description": "disallow literal numbers that lose precision", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-loss-of-precision" + }, + "schema": [] + }, + "no-magic-numbers": { + "type": "suggestion", + "docs": { + "description": "disallow magic numbers", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-magic-numbers" + }, + "schema": [ + { + "type": "object", + "properties": { + "detectObjects": { + "type": "boolean", + "default": false + }, + "enforceConst": { + "type": "boolean", + "default": false + }, + "ignore": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "pattern": "^[+-]?(?:0|[1-9][0-9]*)n$" + } + ] + }, + "uniqueItems": true + }, + "ignoreArrayIndexes": { + "type": "boolean", + "default": false + }, + "ignoreDefaultValues": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-misleading-character-class": { + "type": "problem", + "docs": { + "description": "disallow characters which are made with multiple code points in character class syntax", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-misleading-character-class" + }, + "hasSuggestions": true, + "schema": [] + }, + "no-mixed-operators": { + "type": "suggestion", + "docs": { + "description": "disallow mixed binary operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-mixed-operators" + }, + "schema": [ + { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "type": "array", + "items": { + "enum": [ + "+", + "-", + "*", + "/", + "%", + "**", + "&", + "|", + "^", + "~", + "<<", + ">>", + ">>>", + "==", + "!=", + "===", + "!==", + ">", + ">=", + "<", + "<=", + "&&", + "||", + "in", + "instanceof", + "?:", + "??" + ] + }, + "minItems": 2, + "uniqueItems": true + }, + "uniqueItems": true + }, + "allowSamePrecedence": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-mixed-requires": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow `require` calls to be mixed with regular variable declarations", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-mixed-requires" + }, + "schema": [ + { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "properties": { + "grouping": { + "type": "boolean" + }, + "allowCall": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "no-mixed-spaces-and-tabs": { + "type": "layout", + "docs": { + "description": "disallow mixed spaces and tabs for indentation", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-mixed-spaces-and-tabs" + }, + "schema": [ + { + "enum": [ + "smart-tabs", + true, + false + ] + } + ] + }, + "no-multi-assign": { + "type": "suggestion", + "docs": { + "description": "disallow use of chained assignment expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-multi-assign" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignoreNonDeclaration": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-multi-spaces": { + "type": "layout", + "docs": { + "description": "disallow multiple spaces", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-multi-spaces" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "exceptions": { + "type": "object", + "patternProperties": { + "^([A-Z][a-z]*)+$": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "ignoreEOLComments": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-multi-str": { + "type": "suggestion", + "docs": { + "description": "disallow multiline strings", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-multi-str" + }, + "schema": [] + }, + "no-multiple-empty-lines": { + "type": "layout", + "docs": { + "description": "disallow multiple empty lines", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-multiple-empty-lines" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "max": { + "type": "integer", + "minimum": 0 + }, + "maxEOF": { + "type": "integer", + "minimum": 0 + }, + "maxBOF": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "max" + ], + "additionalProperties": false + } + ] + }, + "no-native-reassign": { + "type": "suggestion", + "docs": { + "description": "disallow assignments to native objects or read-only global variables", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-native-reassign" + }, + "deprecated": true, + "replacedBy": [ + "no-global-assign" + ], + "schema": [ + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-negated-condition": { + "type": "suggestion", + "docs": { + "description": "disallow negated conditions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-negated-condition" + }, + "schema": [] + }, + "no-negated-in-lhs": { + "type": "problem", + "docs": { + "description": "disallow negating the left operand in `in` expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-negated-in-lhs" + }, + "replacedBy": [ + "no-unsafe-negation" + ], + "deprecated": true, + "schema": [] + }, + "no-nested-ternary": { + "type": "suggestion", + "docs": { + "description": "disallow nested ternary expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-nested-ternary" + }, + "schema": [] + }, + "no-new": { + "type": "suggestion", + "docs": { + "description": "disallow `new` operators outside of assignments or comparisons", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-new" + }, + "schema": [] + }, + "no-new-func": { + "type": "suggestion", + "docs": { + "description": "disallow `new` operators with the `Function` object", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-new-func" + }, + "schema": [] + }, + "no-new-object": { + "type": "suggestion", + "docs": { + "description": "disallow `Object` constructors", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-new-object" + }, + "schema": [] + }, + "no-new-require": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow `new` operators with calls to `require`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-new-require" + }, + "schema": [] + }, + "no-new-symbol": { + "type": "problem", + "docs": { + "description": "disallow `new` operators with the `Symbol` object", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-new-symbol" + }, + "schema": [] + }, + "no-new-wrappers": { + "type": "suggestion", + "docs": { + "description": "disallow `new` operators with the `String`, `Number`, and `Boolean` objects", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-new-wrappers" + }, + "schema": [] + }, + "no-nonoctal-decimal-escape": { + "type": "suggestion", + "docs": { + "description": "disallow `\\8` and `\\9` escape sequences in string literals", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-nonoctal-decimal-escape" + }, + "hasSuggestions": true, + "schema": [] + }, + "no-obj-calls": { + "type": "problem", + "docs": { + "description": "disallow calling global object properties as functions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-obj-calls" + }, + "schema": [] + }, + "no-octal": { + "type": "suggestion", + "docs": { + "description": "disallow octal literals", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-octal" + }, + "schema": [] + }, + "no-octal-escape": { + "type": "suggestion", + "docs": { + "description": "disallow octal escape sequences in string literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-octal-escape" + }, + "schema": [] + }, + "no-param-reassign": { + "type": "suggestion", + "docs": { + "description": "disallow reassigning `function` parameters", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-param-reassign" + }, + "schema": [ + { + "oneOf": [ + { + "type": "object", + "properties": { + "props": { + "enum": [ + false + ] + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "props": { + "enum": [ + true + ] + }, + "ignorePropertyModificationsFor": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "ignorePropertyModificationsForRegex": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "no-path-concat": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow string concatenation with `__dirname` and `__filename`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-path-concat" + }, + "schema": [] + }, + "no-plusplus": { + "type": "suggestion", + "docs": { + "description": "disallow the unary operators `++` and `--`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-plusplus" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowForLoopAfterthoughts": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-process-env": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow the use of `process.env`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-process-env" + }, + "schema": [] + }, + "no-process-exit": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow the use of `process.exit()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-process-exit" + }, + "schema": [] + }, + "no-promise-executor-return": { + "type": "problem", + "docs": { + "description": "disallow returning values from Promise executor functions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-promise-executor-return" + }, + "schema": [] + }, + "no-proto": { + "type": "suggestion", + "docs": { + "description": "disallow the use of the `__proto__` property", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-proto" + }, + "schema": [] + }, + "no-prototype-builtins": { + "type": "problem", + "docs": { + "description": "disallow calling some `Object.prototype` methods directly on objects", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-prototype-builtins" + }, + "schema": [] + }, + "no-redeclare": { + "type": "suggestion", + "docs": { + "description": "disallow variable redeclaration", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-redeclare" + }, + "schema": [ + { + "type": "object", + "properties": { + "builtinGlobals": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-regex-spaces": { + "type": "suggestion", + "docs": { + "description": "disallow multiple spaces in regular expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-regex-spaces" + }, + "schema": [], + "fixable": "code" + }, + "no-restricted-exports": { + "type": "suggestion", + "docs": { + "description": "disallow specified names in exports", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-exports" + }, + "schema": [ + { + "type": "object", + "properties": { + "restrictedNamedExports": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-restricted-globals": { + "type": "suggestion", + "docs": { + "description": "disallow specified global variables", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-globals" + }, + "schema": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "name" + ], + "additionalProperties": false + } + ] + }, + "uniqueItems": true, + "minItems": 0 + } + }, + "no-restricted-imports": { + "type": "suggestion", + "docs": { + "description": "disallow specified modules when loaded by `import`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-imports" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string", + "minLength": 1 + }, + "importNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + ] + }, + "uniqueItems": true + }, + { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string", + "minLength": 1 + }, + "importNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + ] + }, + "uniqueItems": true + }, + "patterns": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "group": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "uniqueItems": true + }, + "message": { + "type": "string", + "minLength": 1 + }, + "caseSensitive": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "group" + ] + }, + "uniqueItems": true + } + ] + } + }, + "additionalProperties": false + } + ], + "additionalItems": false + } + ] + } + }, + "no-restricted-modules": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow specified modules when loaded by `require`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-modules" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + ] + }, + "uniqueItems": true + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "message": { + "type": "string", + "minLength": 1 + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + } + ] + }, + "uniqueItems": true + }, + "patterns": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + }, + "additionalProperties": false + }, + "additionalItems": false + } + ] + } + }, + "no-restricted-properties": { + "type": "suggestion", + "docs": { + "description": "disallow certain properties on certain objects", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-properties" + }, + "schema": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "object": { + "type": "string" + }, + "property": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "object" + ] + }, + { + "type": "object", + "properties": { + "object": { + "type": "string" + }, + "property": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "property" + ] + } + ] + }, + "uniqueItems": true + } + }, + "no-restricted-syntax": { + "type": "suggestion", + "docs": { + "description": "disallow specified syntax", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-restricted-syntax" + }, + "schema": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "selector": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "selector" + ], + "additionalProperties": false + } + ] + }, + "uniqueItems": true, + "minItems": 0 + } + }, + "no-return-assign": { + "type": "suggestion", + "docs": { + "description": "disallow assignment operators in `return` statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-return-assign" + }, + "schema": [ + { + "enum": [ + "except-parens", + "always" + ] + } + ] + }, + "no-return-await": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary `return await`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-return-await" + }, + "fixable": null, + "schema": [] + }, + "no-script-url": { + "type": "suggestion", + "docs": { + "description": "disallow `javascript:` urls", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-script-url" + }, + "schema": [] + }, + "no-self-assign": { + "type": "problem", + "docs": { + "description": "disallow assignments where both sides are exactly the same", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-self-assign" + }, + "schema": [ + { + "type": "object", + "properties": { + "props": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-self-compare": { + "type": "problem", + "docs": { + "description": "disallow comparisons where both sides are exactly the same", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-self-compare" + }, + "schema": [] + }, + "no-sequences": { + "type": "suggestion", + "docs": { + "description": "disallow comma operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-sequences" + }, + "schema": [ + { + "properties": { + "allowInParentheses": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "no-setter-return": { + "type": "problem", + "docs": { + "description": "disallow returning values from setters", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-setter-return" + }, + "schema": [] + }, + "no-shadow": { + "type": "suggestion", + "docs": { + "description": "disallow variable declarations from shadowing variables declared in the outer scope", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-shadow" + }, + "schema": [ + { + "type": "object", + "properties": { + "builtinGlobals": { + "type": "boolean", + "default": false + }, + "hoist": { + "enum": [ + "all", + "functions", + "never" + ], + "default": "functions" + }, + "allow": { + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreOnInitialization": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-shadow-restricted-names": { + "type": "suggestion", + "docs": { + "description": "disallow identifiers from shadowing restricted names", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-shadow-restricted-names" + }, + "schema": [] + }, + "no-spaced-func": { + "type": "layout", + "docs": { + "description": "disallow spacing between function identifiers and their applications (deprecated)", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-spaced-func" + }, + "deprecated": true, + "replacedBy": [ + "func-call-spacing" + ], + "fixable": "whitespace", + "schema": [] + }, + "no-sparse-arrays": { + "type": "problem", + "docs": { + "description": "disallow sparse arrays", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-sparse-arrays" + }, + "schema": [] + }, + "no-sync": { + "deprecated": true, + "replacedBy": [], + "type": "suggestion", + "docs": { + "description": "disallow synchronous methods", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-sync" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowAtRootLevel": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-tabs": { + "type": "layout", + "docs": { + "description": "disallow all tabs", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-tabs" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowIndentationTabs": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-template-curly-in-string": { + "type": "problem", + "docs": { + "description": "disallow template literal placeholder syntax in regular strings", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-template-curly-in-string" + }, + "schema": [] + }, + "no-ternary": { + "type": "suggestion", + "docs": { + "description": "disallow ternary operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-ternary" + }, + "schema": [] + }, + "no-this-before-super": { + "type": "problem", + "docs": { + "description": "disallow `this`/`super` before calling `super()` in constructors", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-this-before-super" + }, + "schema": [] + }, + "no-throw-literal": { + "type": "suggestion", + "docs": { + "description": "disallow throwing literals as exceptions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-throw-literal" + }, + "schema": [] + }, + "no-trailing-spaces": { + "type": "layout", + "docs": { + "description": "disallow trailing whitespace at the end of lines", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-trailing-spaces" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "skipBlankLines": { + "type": "boolean", + "default": false + }, + "ignoreComments": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-undef": { + "type": "problem", + "docs": { + "description": "disallow the use of undeclared variables unless mentioned in `/*global */` comments", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-undef" + }, + "schema": [ + { + "type": "object", + "properties": { + "typeof": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-undef-init": { + "type": "suggestion", + "docs": { + "description": "disallow initializing variables to `undefined`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-undef-init" + }, + "schema": [], + "fixable": "code" + }, + "no-undefined": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `undefined` as an identifier", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-undefined" + }, + "schema": [] + }, + "no-underscore-dangle": { + "type": "suggestion", + "docs": { + "description": "disallow dangling underscores in identifiers", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-underscore-dangle" + }, + "schema": [ + { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string" + } + }, + "allowAfterThis": { + "type": "boolean", + "default": false + }, + "allowAfterSuper": { + "type": "boolean", + "default": false + }, + "allowAfterThisConstructor": { + "type": "boolean", + "default": false + }, + "enforceInMethodNames": { + "type": "boolean", + "default": false + }, + "allowFunctionParams": { + "type": "boolean", + "default": true + }, + "enforceInClassFields": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-unexpected-multiline": { + "type": "problem", + "docs": { + "description": "disallow confusing multiline expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unexpected-multiline" + }, + "schema": [] + }, + "no-unmodified-loop-condition": { + "type": "problem", + "docs": { + "description": "disallow unmodified loop conditions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-unmodified-loop-condition" + }, + "schema": [] + }, + "no-unneeded-ternary": { + "type": "suggestion", + "docs": { + "description": "disallow ternary operators when simpler alternatives exist", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-unneeded-ternary" + }, + "schema": [ + { + "type": "object", + "properties": { + "defaultAssignment": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "no-unreachable": { + "type": "problem", + "docs": { + "description": "disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unreachable" + }, + "schema": [] + }, + "no-unreachable-loop": { + "type": "problem", + "docs": { + "description": "disallow loops with a body that allows only one iteration", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-unreachable-loop" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignore": { + "type": "array", + "items": { + "enum": [ + "WhileStatement", + "DoWhileStatement", + "ForStatement", + "ForInStatement", + "ForOfStatement" + ] + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "no-unsafe-finally": { + "type": "problem", + "docs": { + "description": "disallow control flow statements in `finally` blocks", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unsafe-finally" + }, + "schema": [] + }, + "no-unsafe-negation": { + "type": "problem", + "docs": { + "description": "disallow negating the left operand of relational operators", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unsafe-negation" + }, + "hasSuggestions": true, + "schema": [ + { + "type": "object", + "properties": { + "enforceForOrderingRelations": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": null + }, + "no-unsafe-optional-chaining": { + "type": "problem", + "docs": { + "description": "disallow use of optional chaining in contexts where the `undefined` value is not allowed", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unsafe-optional-chaining" + }, + "schema": [ + { + "type": "object", + "properties": { + "disallowArithmeticOperators": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": null + }, + "no-unused-expressions": { + "type": "suggestion", + "docs": { + "description": "disallow unused expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-unused-expressions" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowShortCircuit": { + "type": "boolean", + "default": false + }, + "allowTernary": { + "type": "boolean", + "default": false + }, + "allowTaggedTemplates": { + "type": "boolean", + "default": false + }, + "enforceForJSX": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-unused-labels": { + "type": "suggestion", + "docs": { + "description": "disallow unused labels", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unused-labels" + }, + "schema": [], + "fixable": "code" + }, + "no-unused-private-class-members": { + "type": "problem", + "docs": { + "description": "disallow unused private class members", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-unused-private-class-members" + }, + "schema": [] + }, + "no-unused-vars": { + "type": "problem", + "docs": { + "description": "disallow unused variables", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-unused-vars" + }, + "schema": [ + { + "oneOf": [ + { + "enum": [ + "all", + "local" + ] + }, + { + "type": "object", + "properties": { + "vars": { + "enum": [ + "all", + "local" + ] + }, + "varsIgnorePattern": { + "type": "string" + }, + "args": { + "enum": [ + "all", + "after-used", + "none" + ] + }, + "ignoreRestSiblings": { + "type": "boolean" + }, + "argsIgnorePattern": { + "type": "string" + }, + "caughtErrors": { + "enum": [ + "all", + "none" + ] + }, + "caughtErrorsIgnorePattern": { + "type": "string" + }, + "destructuredArrayIgnorePattern": { + "type": "string" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "no-use-before-define": { + "type": "problem", + "docs": { + "description": "disallow the use of variables before they are defined", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-use-before-define" + }, + "schema": [ + { + "oneOf": [ + { + "enum": [ + "nofunc" + ] + }, + { + "type": "object", + "properties": { + "functions": { + "type": "boolean" + }, + "classes": { + "type": "boolean" + }, + "variables": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "no-useless-backreference": { + "type": "problem", + "docs": { + "description": "disallow useless backreferences in regular expressions", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-useless-backreference" + }, + "schema": [] + }, + "no-useless-call": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary calls to `.call()` and `.apply()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-call" + }, + "schema": [] + }, + "no-useless-catch": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary `catch` clauses", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-useless-catch" + }, + "schema": [] + }, + "no-useless-computed-key": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary computed property keys in objects and classes", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-computed-key" + }, + "schema": [ + { + "type": "object", + "properties": { + "enforceForClassMembers": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "no-useless-concat": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary concatenation of literals or template literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-concat" + }, + "schema": [] + }, + "no-useless-constructor": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary constructors", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-constructor" + }, + "schema": [] + }, + "no-useless-escape": { + "type": "suggestion", + "docs": { + "description": "disallow unnecessary escape characters", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-useless-escape" + }, + "hasSuggestions": true, + "schema": [] + }, + "no-useless-rename": { + "type": "suggestion", + "docs": { + "description": "disallow renaming import, export, and destructured assignments to the same name", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-rename" + }, + "fixable": "code", + "schema": [ + { + "type": "object", + "properties": { + "ignoreDestructuring": { + "type": "boolean", + "default": false + }, + "ignoreImport": { + "type": "boolean", + "default": false + }, + "ignoreExport": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-useless-return": { + "type": "suggestion", + "docs": { + "description": "disallow redundant return statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-useless-return" + }, + "fixable": "code", + "schema": [] + }, + "no-var": { + "type": "suggestion", + "docs": { + "description": "require `let` or `const` instead of `var`", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-var" + }, + "schema": [], + "fixable": "code" + }, + "no-void": { + "type": "suggestion", + "docs": { + "description": "disallow `void` operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-void" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowAsStatement": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "no-warning-comments": { + "type": "suggestion", + "docs": { + "description": "disallow specified warning terms in comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-warning-comments" + }, + "schema": [ + { + "type": "object", + "properties": { + "terms": { + "type": "array", + "items": { + "type": "string" + } + }, + "location": { + "enum": [ + "start", + "anywhere" + ] + } + }, + "additionalProperties": false + } + ] + }, + "no-whitespace-before-property": { + "type": "layout", + "docs": { + "description": "disallow whitespace before properties", + "recommended": false, + "url": "https://eslint.org/docs/rules/no-whitespace-before-property" + }, + "fixable": "whitespace", + "schema": [] + }, + "no-with": { + "type": "suggestion", + "docs": { + "description": "disallow `with` statements", + "recommended": true, + "url": "https://eslint.org/docs/rules/no-with" + }, + "schema": [] + }, + "nonblock-statement-body-position": { + "type": "layout", + "docs": { + "description": "enforce the location of single-line statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/nonblock-statement-body-position" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "beside", + "below", + "any" + ] + }, + { + "properties": { + "overrides": { + "properties": { + "if": { + "enum": [ + "beside", + "below", + "any" + ] + }, + "else": { + "enum": [ + "beside", + "below", + "any" + ] + }, + "while": { + "enum": [ + "beside", + "below", + "any" + ] + }, + "do": { + "enum": [ + "beside", + "below", + "any" + ] + }, + "for": { + "enum": [ + "beside", + "below", + "any" + ] + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "object-curly-newline": { + "type": "layout", + "docs": { + "description": "enforce consistent line breaks after opening and before closing braces", + "recommended": false, + "url": "https://eslint.org/docs/rules/object-curly-newline" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minProperties": { + "type": "integer", + "minimum": 0 + }, + "consistent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + }, + { + "type": "object", + "properties": { + "ObjectExpression": { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minProperties": { + "type": "integer", + "minimum": 0 + }, + "consistent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + }, + "ObjectPattern": { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minProperties": { + "type": "integer", + "minimum": 0 + }, + "consistent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + }, + "ImportDeclaration": { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minProperties": { + "type": "integer", + "minimum": 0 + }, + "consistent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + }, + "ExportDeclaration": { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "multiline": { + "type": "boolean" + }, + "minProperties": { + "type": "integer", + "minimum": 0 + }, + "consistent": { + "type": "boolean" + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + } + ] + }, + "object-curly-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing inside braces", + "recommended": false, + "url": "https://eslint.org/docs/rules/object-curly-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "arraysInObjects": { + "type": "boolean" + }, + "objectsInObjects": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "object-property-newline": { + "type": "layout", + "docs": { + "description": "enforce placing object properties on separate lines", + "recommended": false, + "url": "https://eslint.org/docs/rules/object-property-newline" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowAllPropertiesOnSameLine": { + "type": "boolean", + "default": false + }, + "allowMultiplePropertiesPerLine": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "whitespace" + }, + "object-shorthand": { + "type": "suggestion", + "docs": { + "description": "require or disallow method and property shorthand syntax for object literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/object-shorthand" + }, + "fixable": "code", + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "methods", + "properties", + "never", + "consistent", + "consistent-as-needed" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "methods", + "properties" + ] + }, + { + "type": "object", + "properties": { + "avoidQuotes": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "methods" + ] + }, + { + "type": "object", + "properties": { + "ignoreConstructors": { + "type": "boolean" + }, + "avoidQuotes": { + "type": "boolean" + }, + "avoidExplicitReturnArrows": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + } + }, + "one-var": { + "type": "suggestion", + "docs": { + "description": "enforce variables to be declared either together or separately in functions", + "recommended": false, + "url": "https://eslint.org/docs/rules/one-var" + }, + "fixable": "code", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never", + "consecutive" + ] + }, + { + "type": "object", + "properties": { + "separateRequires": { + "type": "boolean" + }, + "var": { + "enum": [ + "always", + "never", + "consecutive" + ] + }, + "let": { + "enum": [ + "always", + "never", + "consecutive" + ] + }, + "const": { + "enum": [ + "always", + "never", + "consecutive" + ] + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "initialized": { + "enum": [ + "always", + "never", + "consecutive" + ] + }, + "uninitialized": { + "enum": [ + "always", + "never", + "consecutive" + ] + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "one-var-declaration-per-line": { + "type": "suggestion", + "docs": { + "description": "require or disallow newlines around variable declarations", + "recommended": false, + "url": "https://eslint.org/docs/rules/one-var-declaration-per-line" + }, + "schema": [ + { + "enum": [ + "always", + "initializations" + ] + } + ], + "fixable": "whitespace" + }, + "operator-assignment": { + "type": "suggestion", + "docs": { + "description": "require or disallow assignment operator shorthand where possible", + "recommended": false, + "url": "https://eslint.org/docs/rules/operator-assignment" + }, + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ], + "fixable": "code" + }, + "operator-linebreak": { + "type": "layout", + "docs": { + "description": "enforce consistent linebreak style for operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/operator-linebreak" + }, + "schema": [ + { + "enum": [ + "after", + "before", + "none", + null + ] + }, + { + "type": "object", + "properties": { + "overrides": { + "type": "object", + "additionalProperties": { + "enum": [ + "after", + "before", + "none", + "ignore" + ] + } + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "padded-blocks": { + "type": "layout", + "docs": { + "description": "require or disallow padding within blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/padded-blocks" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "blocks": { + "enum": [ + "always", + "never" + ] + }, + "switches": { + "enum": [ + "always", + "never" + ] + }, + "classes": { + "enum": [ + "always", + "never" + ] + } + }, + "additionalProperties": false, + "minProperties": 1 + } + ] + }, + { + "type": "object", + "properties": { + "allowSingleLineBlocks": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "padding-line-between-statements": { + "type": "layout", + "docs": { + "description": "require or disallow padding lines between statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/padding-line-between-statements" + }, + "fixable": "whitespace", + "schema": { + "definitions": { + "paddingType": { + "enum": [ + "any", + "never", + "always" + ] + }, + "statementType": { + "anyOf": [ + { + "enum": [ + "*", + "block-like", + "cjs-export", + "cjs-import", + "directive", + "expression", + "iife", + "multiline-block-like", + "multiline-expression", + "multiline-const", + "multiline-let", + "multiline-var", + "singleline-const", + "singleline-let", + "singleline-var", + "block", + "empty", + "function", + "break", + "case", + "class", + "const", + "continue", + "debugger", + "default", + "do", + "export", + "for", + "if", + "import", + "let", + "return", + "switch", + "throw", + "try", + "var", + "while", + "with" + ] + }, + { + "type": "array", + "items": { + "enum": [ + "*", + "block-like", + "cjs-export", + "cjs-import", + "directive", + "expression", + "iife", + "multiline-block-like", + "multiline-expression", + "multiline-const", + "multiline-let", + "multiline-var", + "singleline-const", + "singleline-let", + "singleline-var", + "block", + "empty", + "function", + "break", + "case", + "class", + "const", + "continue", + "debugger", + "default", + "do", + "export", + "for", + "if", + "import", + "let", + "return", + "switch", + "throw", + "try", + "var", + "while", + "with" + ] + }, + "minItems": 1, + "uniqueItems": true + } + ] + } + }, + "type": "array", + "items": { + "type": "object", + "properties": { + "blankLine": { + "$ref": "#/definitions/paddingType" + }, + "prev": { + "$ref": "#/definitions/statementType" + }, + "next": { + "$ref": "#/definitions/statementType" + } + }, + "additionalProperties": false, + "required": [ + "blankLine", + "prev", + "next" + ] + } + } + }, + "prefer-arrow-callback": { + "type": "suggestion", + "docs": { + "description": "require using arrow functions for callbacks", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-arrow-callback" + }, + "schema": [ + { + "type": "object", + "properties": { + "allowNamedFunctions": { + "type": "boolean", + "default": false + }, + "allowUnboundThis": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "prefer-const": { + "type": "suggestion", + "docs": { + "description": "require `const` declarations for variables that are never reassigned after declared", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-const" + }, + "fixable": "code", + "schema": [ + { + "type": "object", + "properties": { + "destructuring": { + "enum": [ + "any", + "all" + ], + "default": "any" + }, + "ignoreReadBeforeAssign": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "prefer-destructuring": { + "type": "suggestion", + "docs": { + "description": "require destructuring from arrays and/or objects", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-destructuring" + }, + "fixable": "code", + "schema": [ + { + "oneOf": [ + { + "type": "object", + "properties": { + "VariableDeclarator": { + "type": "object", + "properties": { + "array": { + "type": "boolean" + }, + "object": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "AssignmentExpression": { + "type": "object", + "properties": { + "array": { + "type": "boolean" + }, + "object": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "array": { + "type": "boolean" + }, + "object": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + { + "type": "object", + "properties": { + "enforceForRenamedProperties": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + }, + "prefer-exponentiation-operator": { + "type": "suggestion", + "docs": { + "description": "disallow the use of `Math.pow` in favor of the `**` operator", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-exponentiation-operator" + }, + "schema": [], + "fixable": "code" + }, + "prefer-named-capture-group": { + "type": "suggestion", + "docs": { + "description": "enforce using named capture group in regular expression", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-named-capture-group" + }, + "schema": [] + }, + "prefer-numeric-literals": { + "type": "suggestion", + "docs": { + "description": "disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-numeric-literals" + }, + "schema": [], + "fixable": "code" + }, + "prefer-object-has-own": { + "type": "suggestion", + "docs": { + "description": "disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-object-has-own" + }, + "schema": [], + "fixable": "code" + }, + "prefer-object-spread": { + "type": "suggestion", + "docs": { + "description": "disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-object-spread" + }, + "schema": [], + "fixable": "code" + }, + "prefer-promise-reject-errors": { + "type": "suggestion", + "docs": { + "description": "require using Error objects as Promise rejection reasons", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-promise-reject-errors" + }, + "fixable": null, + "schema": [ + { + "type": "object", + "properties": { + "allowEmptyReject": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "prefer-reflect": { + "type": "suggestion", + "docs": { + "description": "require `Reflect` methods where applicable", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-reflect" + }, + "deprecated": true, + "replacedBy": [], + "schema": [ + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "enum": [ + "apply", + "call", + "delete", + "defineProperty", + "getOwnPropertyDescriptor", + "getPrototypeOf", + "setPrototypeOf", + "isExtensible", + "getOwnPropertyNames", + "preventExtensions" + ] + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "prefer-regex-literals": { + "type": "suggestion", + "docs": { + "description": "disallow use of the `RegExp` constructor in favor of regular expression literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-regex-literals" + }, + "hasSuggestions": true, + "schema": [ + { + "type": "object", + "properties": { + "disallowRedundantWrapping": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "prefer-rest-params": { + "type": "suggestion", + "docs": { + "description": "require rest parameters instead of `arguments`", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-rest-params" + }, + "schema": [] + }, + "prefer-spread": { + "type": "suggestion", + "docs": { + "description": "require spread operators instead of `.apply()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-spread" + }, + "schema": [], + "fixable": null + }, + "prefer-template": { + "type": "suggestion", + "docs": { + "description": "require template literals instead of string concatenation", + "recommended": false, + "url": "https://eslint.org/docs/rules/prefer-template" + }, + "schema": [], + "fixable": "code" + }, + "quote-props": { + "type": "suggestion", + "docs": { + "description": "require quotes around object literal property names", + "recommended": false, + "url": "https://eslint.org/docs/rules/quote-props" + }, + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "as-needed", + "consistent", + "consistent-as-needed" + ] + } + ], + "minItems": 0, + "maxItems": 1 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "always", + "as-needed", + "consistent", + "consistent-as-needed" + ] + }, + { + "type": "object", + "properties": { + "keywords": { + "type": "boolean" + }, + "unnecessary": { + "type": "boolean" + }, + "numbers": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + }, + "fixable": "code" + }, + "quotes": { + "type": "layout", + "docs": { + "description": "enforce the consistent use of either backticks, double, or single quotes", + "recommended": false, + "url": "https://eslint.org/docs/rules/quotes" + }, + "fixable": "code", + "schema": [ + { + "enum": [ + "single", + "double", + "backtick" + ] + }, + { + "anyOf": [ + { + "enum": [ + "avoid-escape" + ] + }, + { + "type": "object", + "properties": { + "avoidEscape": { + "type": "boolean" + }, + "allowTemplateLiterals": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "radix": { + "type": "suggestion", + "docs": { + "description": "enforce the consistent use of the radix argument when using `parseInt()`", + "recommended": false, + "url": "https://eslint.org/docs/rules/radix" + }, + "hasSuggestions": true, + "schema": [ + { + "enum": [ + "always", + "as-needed" + ] + } + ] + }, + "require-atomic-updates": { + "type": "problem", + "docs": { + "description": "disallow assignments that can lead to race conditions due to usage of `await` or `yield`", + "recommended": false, + "url": "https://eslint.org/docs/rules/require-atomic-updates" + }, + "fixable": null, + "schema": [ + { + "type": "object", + "properties": { + "allowProperties": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "require-await": { + "type": "suggestion", + "docs": { + "description": "disallow async functions which have no `await` expression", + "recommended": false, + "url": "https://eslint.org/docs/rules/require-await" + }, + "schema": [] + }, + "require-jsdoc": { + "type": "suggestion", + "docs": { + "description": "require JSDoc comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/require-jsdoc" + }, + "schema": [ + { + "type": "object", + "properties": { + "require": { + "type": "object", + "properties": { + "ClassDeclaration": { + "type": "boolean", + "default": false + }, + "MethodDefinition": { + "type": "boolean", + "default": false + }, + "FunctionDeclaration": { + "type": "boolean", + "default": true + }, + "ArrowFunctionExpression": { + "type": "boolean", + "default": false + }, + "FunctionExpression": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false, + "default": {} + } + }, + "additionalProperties": false + } + ], + "deprecated": true, + "replacedBy": [] + }, + "require-unicode-regexp": { + "type": "suggestion", + "docs": { + "description": "enforce the use of `u` flag on RegExp", + "recommended": false, + "url": "https://eslint.org/docs/rules/require-unicode-regexp" + }, + "schema": [] + }, + "require-yield": { + "type": "suggestion", + "docs": { + "description": "require generator functions to contain `yield`", + "recommended": true, + "url": "https://eslint.org/docs/rules/require-yield" + }, + "schema": [] + }, + "rest-spread-spacing": { + "type": "layout", + "docs": { + "description": "enforce spacing between rest and spread operators and their expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/rest-spread-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ] + }, + "semi": { + "type": "layout", + "docs": { + "description": "require or disallow semicolons instead of ASI", + "recommended": false, + "url": "https://eslint.org/docs/rules/semi" + }, + "fixable": "code", + "schema": { + "anyOf": [ + { + "type": "array", + "items": [ + { + "enum": [ + "never" + ] + }, + { + "type": "object", + "properties": { + "beforeStatementContinuationChars": { + "enum": [ + "always", + "any", + "never" + ] + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + }, + { + "type": "array", + "items": [ + { + "enum": [ + "always" + ] + }, + { + "type": "object", + "properties": { + "omitLastInOneLineBlock": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "minItems": 0, + "maxItems": 2 + } + ] + } + }, + "semi-spacing": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before and after semicolons", + "recommended": false, + "url": "https://eslint.org/docs/rules/semi-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "before": { + "type": "boolean", + "default": false + }, + "after": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ] + }, + "semi-style": { + "type": "layout", + "docs": { + "description": "enforce location of semicolons", + "recommended": false, + "url": "https://eslint.org/docs/rules/semi-style" + }, + "schema": [ + { + "enum": [ + "last", + "first" + ] + } + ], + "fixable": "whitespace" + }, + "sort-imports": { + "type": "suggestion", + "docs": { + "description": "enforce sorted import declarations within modules", + "recommended": false, + "url": "https://eslint.org/docs/rules/sort-imports" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignoreCase": { + "type": "boolean", + "default": false + }, + "memberSyntaxSortOrder": { + "type": "array", + "items": { + "enum": [ + "none", + "all", + "multiple", + "single" + ] + }, + "uniqueItems": true, + "minItems": 4, + "maxItems": 4 + }, + "ignoreDeclarationSort": { + "type": "boolean", + "default": false + }, + "ignoreMemberSort": { + "type": "boolean", + "default": false + }, + "allowSeparatedGroups": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "sort-keys": { + "type": "suggestion", + "docs": { + "description": "require object keys to be sorted", + "recommended": false, + "url": "https://eslint.org/docs/rules/sort-keys" + }, + "schema": [ + { + "enum": [ + "asc", + "desc" + ] + }, + { + "type": "object", + "properties": { + "caseSensitive": { + "type": "boolean", + "default": true + }, + "natural": { + "type": "boolean", + "default": false + }, + "minKeys": { + "type": "integer", + "minimum": 2, + "default": 2 + } + }, + "additionalProperties": false + } + ] + }, + "sort-vars": { + "type": "suggestion", + "docs": { + "description": "require variables within the same declaration block to be sorted", + "recommended": false, + "url": "https://eslint.org/docs/rules/sort-vars" + }, + "schema": [ + { + "type": "object", + "properties": { + "ignoreCase": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "space-before-blocks": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before blocks", + "recommended": false, + "url": "https://eslint.org/docs/rules/space-before-blocks" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "keywords": { + "enum": [ + "always", + "never", + "off" + ] + }, + "functions": { + "enum": [ + "always", + "never", + "off" + ] + }, + "classes": { + "enum": [ + "always", + "never", + "off" + ] + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "space-before-function-paren": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before `function` definition opening parenthesis", + "recommended": false, + "url": "https://eslint.org/docs/rules/space-before-function-paren" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "anonymous": { + "enum": [ + "always", + "never", + "ignore" + ] + }, + "named": { + "enum": [ + "always", + "never", + "ignore" + ] + }, + "asyncArrow": { + "enum": [ + "always", + "never", + "ignore" + ] + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "space-in-parens": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing inside parentheses", + "recommended": false, + "url": "https://eslint.org/docs/rules/space-in-parens" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "enum": [ + "{}", + "[]", + "()", + "empty" + ] + }, + "uniqueItems": true + } + }, + "additionalProperties": false + } + ] + }, + "space-infix-ops": { + "type": "layout", + "docs": { + "description": "require spacing around infix operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/space-infix-ops" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "int32Hint": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "space-unary-ops": { + "type": "layout", + "docs": { + "description": "enforce consistent spacing before or after unary operators", + "recommended": false, + "url": "https://eslint.org/docs/rules/space-unary-ops" + }, + "fixable": "whitespace", + "schema": [ + { + "type": "object", + "properties": { + "words": { + "type": "boolean", + "default": true + }, + "nonwords": { + "type": "boolean", + "default": false + }, + "overrides": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "additionalProperties": false + } + ] + }, + "spaced-comment": { + "type": "suggestion", + "docs": { + "description": "enforce consistent spacing after the `//` or `/*` in a comment", + "recommended": false, + "url": "https://eslint.org/docs/rules/spaced-comment" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "markers": { + "type": "array", + "items": { + "type": "string" + } + }, + "line": { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "markers": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "block": { + "type": "object", + "properties": { + "exceptions": { + "type": "array", + "items": { + "type": "string" + } + }, + "markers": { + "type": "array", + "items": { + "type": "string" + } + }, + "balanced": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + } + ] + }, + "strict": { + "type": "suggestion", + "docs": { + "description": "require or disallow strict mode directives", + "recommended": false, + "url": "https://eslint.org/docs/rules/strict" + }, + "schema": [ + { + "enum": [ + "never", + "global", + "function", + "safe" + ] + } + ], + "fixable": "code" + }, + "switch-colon-spacing": { + "type": "layout", + "docs": { + "description": "enforce spacing around colons of switch statements", + "recommended": false, + "url": "https://eslint.org/docs/rules/switch-colon-spacing" + }, + "schema": [ + { + "type": "object", + "properties": { + "before": { + "type": "boolean", + "default": false + }, + "after": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ], + "fixable": "whitespace" + }, + "symbol-description": { + "type": "suggestion", + "docs": { + "description": "require symbol descriptions", + "recommended": false, + "url": "https://eslint.org/docs/rules/symbol-description" + }, + "fixable": null, + "schema": [] + }, + "template-curly-spacing": { + "type": "layout", + "docs": { + "description": "require or disallow spacing around embedded expressions of template strings", + "recommended": false, + "url": "https://eslint.org/docs/rules/template-curly-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ] + }, + "template-tag-spacing": { + "type": "layout", + "docs": { + "description": "require or disallow spacing between template tags and their literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/template-tag-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ] + }, + "unicode-bom": { + "type": "layout", + "docs": { + "description": "require or disallow Unicode byte order mark (BOM)", + "recommended": false, + "url": "https://eslint.org/docs/rules/unicode-bom" + }, + "fixable": "whitespace", + "schema": [ + { + "enum": [ + "always", + "never" + ] + } + ] + }, + "use-isnan": { + "type": "problem", + "docs": { + "description": "require calls to `isNaN()` when checking for `NaN`", + "recommended": true, + "url": "https://eslint.org/docs/rules/use-isnan" + }, + "schema": [ + { + "type": "object", + "properties": { + "enforceForSwitchCase": { + "type": "boolean", + "default": true + }, + "enforceForIndexOf": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "valid-jsdoc": { + "type": "suggestion", + "docs": { + "description": "enforce valid JSDoc comments", + "recommended": false, + "url": "https://eslint.org/docs/rules/valid-jsdoc" + }, + "schema": [ + { + "type": "object", + "properties": { + "prefer": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "preferType": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "requireReturn": { + "type": "boolean", + "default": true + }, + "requireParamDescription": { + "type": "boolean", + "default": true + }, + "requireReturnDescription": { + "type": "boolean", + "default": true + }, + "matchDescription": { + "type": "string" + }, + "requireReturnType": { + "type": "boolean", + "default": true + }, + "requireParamType": { + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + } + ], + "fixable": "code", + "deprecated": true, + "replacedBy": [] + }, + "valid-typeof": { + "type": "problem", + "docs": { + "description": "enforce comparing `typeof` expressions against valid strings", + "recommended": true, + "url": "https://eslint.org/docs/rules/valid-typeof" + }, + "hasSuggestions": true, + "schema": [ + { + "type": "object", + "properties": { + "requireStringLiterals": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ] + }, + "vars-on-top": { + "type": "suggestion", + "docs": { + "description": "require `var` declarations be placed at the top of their containing scope", + "recommended": false, + "url": "https://eslint.org/docs/rules/vars-on-top" + }, + "schema": [] + }, + "wrap-iife": { + "type": "layout", + "docs": { + "description": "require parentheses around immediate `function` invocations", + "recommended": false, + "url": "https://eslint.org/docs/rules/wrap-iife" + }, + "schema": [ + { + "enum": [ + "outside", + "inside", + "any" + ] + }, + { + "type": "object", + "properties": { + "functionPrototypeMethods": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + }, + "wrap-regex": { + "type": "layout", + "docs": { + "description": "require parenthesis around regex literals", + "recommended": false, + "url": "https://eslint.org/docs/rules/wrap-regex" + }, + "schema": [], + "fixable": "code" + }, + "yield-star-spacing": { + "type": "layout", + "docs": { + "description": "require or disallow spacing around the `*` in `yield*` expressions", + "recommended": false, + "url": "https://eslint.org/docs/rules/yield-star-spacing" + }, + "fixable": "whitespace", + "schema": [ + { + "oneOf": [ + { + "enum": [ + "before", + "after", + "both", + "neither" + ] + }, + { + "type": "object", + "properties": { + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + ] + }, + "yoda": { + "type": "suggestion", + "docs": { + "description": "require or disallow \"Yoda\" conditions", + "recommended": false, + "url": "https://eslint.org/docs/rules/yoda" + }, + "schema": [ + { + "enum": [ + "always", + "never" + ] + }, + { + "type": "object", + "properties": { + "exceptRange": { + "type": "boolean", + "default": false + }, + "onlyEquality": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + } + ], + "fixable": "code" + } +} \ No newline at end of file diff --git a/docs/src/_includes/components/rule-categories.macro.html b/docs/src/_includes/components/rule-categories.macro.html index bdccc0fe40e..350ef32915f 100644 --- a/docs/src/_includes/components/rule-categories.macro.html +++ b/docs/src/_includes/components/rule-categories.macro.html @@ -5,7 +5,7 @@
✅ Recommended

- if the "extends": "eslint:recommended" property in a configuration file enables the rule + The "extends": "eslint:recommended" property in a configuration file enables this rule

{%- endif -%} @@ -13,7 +13,7 @@
🛠 Fixable

- if some problems reported by the rule are automatically fixable by the --fix command line option + Some problems reported by this rule are automatically fixable by the --fix command line option

{%- endif -%} @@ -21,7 +21,7 @@
💡 hasSuggestions

- if some problems reported by the rule are manually fixable by editor suggestions + Some problems reported by this rule are manually fixable by editor suggestions

{%- endif -%} diff --git a/docs/src/_includes/layouts/doc.html b/docs/src/_includes/layouts/doc.html index 608d68cfcfc..0383fdca846 100644 --- a/docs/src/_includes/layouts/doc.html +++ b/docs/src/_includes/layouts/doc.html @@ -3,6 +3,7 @@ --- {% include "partials/docs-header.html" %} +{% from 'components/rule-categories.macro.html' import ruleCategories %}
@@ -12,8 +13,9 @@ {% include 'components/docs-index.html' %}
- {# Add in related rules and further reading sections to content so TOC is accurate #} + {# Add in various sections to content so TOC is accurate #} {% set all_content = content %} + {% if related_rules %} {% set related_rules_content %} @@ -45,11 +47,23 @@

Resources

{% set all_content = [all_content, resources_content] | join %} {% endif %} + {% set rule_meta = rules_meta[title] %} +

{{ title }}

+ {% if rule_meta %} +

{{ rule_meta.docs.description | markdown | safe }}

+ {{ ruleCategories({ + recommended: rule_meta.docs.recommended, + fixable: rule_meta.fixable, + hasSuggestions: rule_meta.hasSuggestions + }) }} + {% endif %} + {% include 'components/docs-toc.html' %} + {{ all_content | safe }}
From 75981ad1dff9ea02487eeeb779307629649da116 Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Mon, 30 May 2022 10:46:49 -0700 Subject: [PATCH 2/8] Address feedback --- Makefile.js | 3 + docs/src/_data/rules.json | 4195 +++++------ docs/src/_data/rules_meta.json | 6397 +---------------- .../components/rule-categories.macro.html | 2 +- 4 files changed, 2333 insertions(+), 8264 deletions(-) diff --git a/Makefile.js b/Makefile.js index 6ff37f15ae8..142618dcb53 100644 --- a/Makefile.js +++ b/Makefile.js @@ -202,9 +202,12 @@ function generateRuleIndexPage() { * which can cause an error if there's syntax it doesn't expect. * Because we don't use this info in the website anyway, it's safer * to just remove it. + * + * Also removing the schema because we don't need it. */ meta[basename] = { ...rule.meta, + schema: void 0, messages: void 0 }; diff --git a/docs/src/_data/rules.json b/docs/src/_data/rules.json index ce800095f3e..76430c547de 100644 --- a/docs/src/_data/rules.json +++ b/docs/src/_data/rules.json @@ -1,2098 +1,2105 @@ { - "deprecated": { - "description": "These rules have been deprecated in accordance with the deprecation policy, and replaced by newer rules:", - "name": "Deprecated", - "rules": [ - { - "name": "callback-return", - "replacedBy": [] - }, - { - "name": "global-require", - "replacedBy": [] - }, - { - "name": "handle-callback-err", - "replacedBy": [] - }, - { - "name": "id-blacklist", - "replacedBy": [ - "id-denylist" - ] - }, - { - "name": "indent-legacy", - "replacedBy": [ - "indent" - ] - }, - { - "name": "lines-around-directive", - "replacedBy": [ - "padding-line-between-statements" - ] - }, - { - "name": "newline-after-var", - "replacedBy": [ - "padding-line-between-statements" - ] - }, - { - "name": "newline-before-return", - "replacedBy": [ - "padding-line-between-statements" - ] - }, - { - "name": "no-buffer-constructor", - "replacedBy": [] - }, - { - "name": "no-catch-shadow", - "replacedBy": [ - "no-shadow" - ] - }, - { - "name": "no-mixed-requires", - "replacedBy": [] - }, - { - "name": "no-native-reassign", - "replacedBy": [ - "no-global-assign" - ] - }, - { - "name": "no-negated-in-lhs", - "replacedBy": [ - "no-unsafe-negation" - ] - }, - { - "name": "no-new-require", - "replacedBy": [] - }, - { - "name": "no-path-concat", - "replacedBy": [] - }, - { - "name": "no-process-env", - "replacedBy": [] - }, - { - "name": "no-process-exit", - "replacedBy": [] - }, - { - "name": "no-restricted-modules", - "replacedBy": [] - }, - { - "name": "no-spaced-func", - "replacedBy": [ - "func-call-spacing" - ] - }, - { - "name": "no-sync", - "replacedBy": [] - }, - { - "name": "prefer-reflect", - "replacedBy": [] - }, - { - "name": "require-jsdoc", - "replacedBy": [] - }, - { - "name": "valid-jsdoc", - "replacedBy": [] - } - ] - }, - "removed": { - "description": "These rules from older versions of ESLint (before the deprecation policy existed) have been replaced by newer rules:", - "name": "Removed", - "rules": [ - { - "removed": "generator-star", - "replacedBy": [ - "generator-star-spacing" - ] - }, - { - "removed": "global-strict", - "replacedBy": [ - "strict" - ] - }, - { - "removed": "no-arrow-condition", - "replacedBy": [ - "no-confusing-arrow", - "no-constant-condition" - ] - }, - { - "removed": "no-comma-dangle", - "replacedBy": [ - "comma-dangle" - ] - }, - { - "removed": "no-empty-class", - "replacedBy": [ - "no-empty-character-class" - ] - }, - { - "removed": "no-empty-label", - "replacedBy": [ - "no-labels" - ] - }, - { - "removed": "no-extra-strict", - "replacedBy": [ - "strict" - ] - }, - { - "removed": "no-reserved-keys", - "replacedBy": [ - "quote-props" - ] - }, - { - "removed": "no-space-before-semi", - "replacedBy": [ - "semi-spacing" - ] - }, - { - "removed": "no-wrap-func", - "replacedBy": [ - "no-extra-parens" - ] - }, - { - "removed": "space-after-function-name", - "replacedBy": [ - "space-before-function-paren" - ] - }, - { - "removed": "space-after-keywords", - "replacedBy": [ - "keyword-spacing" - ] - }, - { - "removed": "space-before-function-parentheses", - "replacedBy": [ - "space-before-function-paren" - ] - }, - { - "removed": "space-before-keywords", - "replacedBy": [ - "keyword-spacing" - ] - }, - { - "removed": "space-in-brackets", - "replacedBy": [ - "object-curly-spacing", - "array-bracket-spacing" - ] - }, - { - "removed": "space-return-throw-case", - "replacedBy": [ - "keyword-spacing" - ] - }, - { - "removed": "space-unary-word-ops", - "replacedBy": [ - "space-unary-ops" - ] - }, - { - "removed": "spaced-line-comment", - "replacedBy": [ - "spaced-comment" - ] - } - ] - }, - "types": [ - { - "description": "These rules relate to possible logic errors in code:", - "displayName": "Possible Problems", - "name": "problem", - "rules": [ - { - "description": "enforce `return` statements in callbacks of array methods", - "fixable": false, - "hasSuggestions": false, - "name": "array-callback-return", - "recommended": false - }, - { - "description": "require `super()` calls in constructors", - "fixable": false, - "hasSuggestions": false, - "name": "constructor-super", - "recommended": true - }, - { - "description": "enforce \"for\" loop update clause moving the counter in the right direction.", - "fixable": false, - "hasSuggestions": false, - "name": "for-direction", - "recommended": true - }, - { - "description": "enforce `return` statements in getters", - "fixable": false, - "hasSuggestions": false, - "name": "getter-return", - "recommended": true - }, - { - "description": "disallow using an async function as a Promise executor", - "fixable": false, - "hasSuggestions": false, - "name": "no-async-promise-executor", - "recommended": true - }, - { - "description": "disallow `await` inside of loops", - "fixable": false, - "hasSuggestions": false, - "name": "no-await-in-loop", - "recommended": false - }, - { - "description": "disallow reassigning class members", - "fixable": false, - "hasSuggestions": false, - "name": "no-class-assign", - "recommended": true - }, - { - "description": "disallow comparing against -0", - "fixable": false, - "hasSuggestions": false, - "name": "no-compare-neg-zero", - "recommended": true - }, - { - "description": "disallow assignment operators in conditional expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-cond-assign", - "recommended": true - }, - { - "description": "disallow reassigning `const` variables", - "fixable": false, - "hasSuggestions": false, - "name": "no-const-assign", - "recommended": true - }, - { - "description": "disallow constant expressions in conditions", - "fixable": false, - "hasSuggestions": false, - "name": "no-constant-condition", - "recommended": true - }, - { - "description": "disallow returning value from constructor", - "fixable": false, - "hasSuggestions": false, - "name": "no-constructor-return", - "recommended": false - }, - { - "description": "disallow control characters in regular expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-control-regex", - "recommended": true - }, - { - "description": "disallow the use of `debugger`", - "fixable": false, - "hasSuggestions": false, - "name": "no-debugger", - "recommended": true - }, - { - "description": "disallow duplicate arguments in `function` definitions", - "fixable": false, - "hasSuggestions": false, - "name": "no-dupe-args", - "recommended": true - }, - { - "description": "disallow duplicate class members", - "fixable": false, - "hasSuggestions": false, - "name": "no-dupe-class-members", - "recommended": true - }, - { - "description": "disallow duplicate conditions in if-else-if chains", - "fixable": false, - "hasSuggestions": false, - "name": "no-dupe-else-if", - "recommended": true - }, - { - "description": "disallow duplicate keys in object literals", - "fixable": false, - "hasSuggestions": false, - "name": "no-dupe-keys", - "recommended": true - }, - { - "description": "disallow duplicate case labels", - "fixable": false, - "hasSuggestions": false, - "name": "no-duplicate-case", - "recommended": true - }, - { - "description": "disallow duplicate module imports", - "fixable": false, - "hasSuggestions": false, - "name": "no-duplicate-imports", - "recommended": false - }, - { - "description": "disallow empty character classes in regular expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-empty-character-class", - "recommended": true - }, - { - "description": "disallow empty destructuring patterns", - "fixable": false, - "hasSuggestions": false, - "name": "no-empty-pattern", - "recommended": true - }, - { - "description": "disallow reassigning exceptions in `catch` clauses", - "fixable": false, - "hasSuggestions": false, - "name": "no-ex-assign", - "recommended": true - }, - { - "description": "disallow fallthrough of `case` statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-fallthrough", - "recommended": true - }, - { - "description": "disallow reassigning `function` declarations", - "fixable": false, - "hasSuggestions": false, - "name": "no-func-assign", - "recommended": true - }, - { - "description": "disallow assigning to imported bindings", - "fixable": false, - "hasSuggestions": false, - "name": "no-import-assign", - "recommended": true - }, - { - "description": "disallow variable or `function` declarations in nested blocks", - "fixable": false, - "hasSuggestions": false, - "name": "no-inner-declarations", - "recommended": true - }, - { - "description": "disallow invalid regular expression strings in `RegExp` constructors", - "fixable": false, - "hasSuggestions": false, - "name": "no-invalid-regexp", - "recommended": true - }, - { - "description": "disallow irregular whitespace", - "fixable": false, - "hasSuggestions": false, - "name": "no-irregular-whitespace", - "recommended": true - }, - { - "description": "disallow literal numbers that lose precision", - "fixable": false, - "hasSuggestions": false, - "name": "no-loss-of-precision", - "recommended": true - }, - { - "description": "disallow characters which are made with multiple code points in character class syntax", - "fixable": false, - "hasSuggestions": false, - "name": "no-misleading-character-class", - "recommended": true - }, - { - "description": "disallow `new` operators with the `Symbol` object", - "fixable": false, - "hasSuggestions": false, - "name": "no-new-symbol", - "recommended": true - }, - { - "description": "disallow calling global object properties as functions", - "fixable": false, - "hasSuggestions": false, - "name": "no-obj-calls", - "recommended": true - }, - { - "description": "disallow returning values from Promise executor functions", - "fixable": false, - "hasSuggestions": false, - "name": "no-promise-executor-return", - "recommended": false - }, - { - "description": "disallow calling some `Object.prototype` methods directly on objects", - "fixable": false, - "hasSuggestions": false, - "name": "no-prototype-builtins", - "recommended": true - }, - { - "description": "disallow assignments where both sides are exactly the same", - "fixable": false, - "hasSuggestions": false, - "name": "no-self-assign", - "recommended": true - }, - { - "description": "disallow comparisons where both sides are exactly the same", - "fixable": false, - "hasSuggestions": false, - "name": "no-self-compare", - "recommended": false - }, - { - "description": "disallow returning values from setters", - "fixable": false, - "hasSuggestions": false, - "name": "no-setter-return", - "recommended": true - }, - { - "description": "disallow sparse arrays", - "fixable": false, - "hasSuggestions": false, - "name": "no-sparse-arrays", - "recommended": true - }, - { - "description": "disallow template literal placeholder syntax in regular strings", - "fixable": false, - "hasSuggestions": false, - "name": "no-template-curly-in-string", - "recommended": false - }, - { - "description": "disallow `this`/`super` before calling `super()` in constructors", - "fixable": false, - "hasSuggestions": false, - "name": "no-this-before-super", - "recommended": true - }, - { - "description": "disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "fixable": false, - "hasSuggestions": false, - "name": "no-undef", - "recommended": true - }, - { - "description": "disallow confusing multiline expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-unexpected-multiline", - "recommended": true - }, - { - "description": "disallow unmodified loop conditions", - "fixable": false, - "hasSuggestions": false, - "name": "no-unmodified-loop-condition", - "recommended": false - }, - { - "description": "disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-unreachable", - "recommended": true - }, - { - "description": "disallow loops with a body that allows only one iteration", - "fixable": false, - "hasSuggestions": false, - "name": "no-unreachable-loop", - "recommended": false - }, - { - "description": "disallow control flow statements in `finally` blocks", - "fixable": false, - "hasSuggestions": false, - "name": "no-unsafe-finally", - "recommended": true - }, - { - "description": "disallow negating the left operand of relational operators", - "fixable": false, - "hasSuggestions": true, - "name": "no-unsafe-negation", - "recommended": true - }, - { - "description": "disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "fixable": false, - "hasSuggestions": false, - "name": "no-unsafe-optional-chaining", - "recommended": true - }, - { - "description": "disallow unused private class members", - "fixable": false, - "hasSuggestions": false, - "name": "no-unused-private-class-members", - "recommended": false - }, - { - "description": "disallow unused variables", - "fixable": false, - "hasSuggestions": false, - "name": "no-unused-vars", - "recommended": true - }, - { - "description": "disallow the use of variables before they are defined", - "fixable": false, - "hasSuggestions": false, - "name": "no-use-before-define", - "recommended": false - }, - { - "description": "disallow useless backreferences in regular expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-useless-backreference", - "recommended": true - }, - { - "description": "disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "fixable": false, - "hasSuggestions": false, - "name": "require-atomic-updates", - "recommended": false - }, - { - "description": "require calls to `isNaN()` when checking for `NaN`", - "fixable": false, - "hasSuggestions": false, - "name": "use-isnan", - "recommended": true - }, - { - "description": "enforce comparing `typeof` expressions against valid strings", - "fixable": false, - "hasSuggestions": false, - "name": "valid-typeof", - "recommended": true - } - ] - }, - { - "description": "These rules suggest alternate ways of doing things:", - "displayName": "Suggestions", - "name": "suggestion", - "rules": [ - { - "description": "enforce getter and setter pairs in objects and classes", - "fixable": false, - "hasSuggestions": false, - "name": "accessor-pairs", - "recommended": false - }, - { - "description": "require braces around arrow function bodies", - "fixable": true, - "hasSuggestions": false, - "name": "arrow-body-style", - "recommended": false - }, - { - "description": "enforce the use of variables within the scope they are defined", - "fixable": false, - "hasSuggestions": false, - "name": "block-scoped-var", - "recommended": false - }, - { - "description": "enforce camelcase naming convention", - "fixable": false, - "hasSuggestions": false, - "name": "camelcase", - "recommended": false - }, - { - "description": "enforce or disallow capitalization of the first letter of a comment", - "fixable": true, - "hasSuggestions": false, - "name": "capitalized-comments", - "recommended": false - }, - { - "description": "enforce that class methods utilize `this`", - "fixable": false, - "hasSuggestions": false, - "name": "class-methods-use-this", - "recommended": false - }, - { - "description": "enforce a maximum cyclomatic complexity allowed in a program", - "fixable": false, - "hasSuggestions": false, - "name": "complexity", - "recommended": false - }, - { - "description": "require `return` statements to either always or never specify values", - "fixable": false, - "hasSuggestions": false, - "name": "consistent-return", - "recommended": false - }, - { - "description": "enforce consistent naming when capturing the current execution context", - "fixable": false, - "hasSuggestions": false, - "name": "consistent-this", - "recommended": false - }, - { - "description": "enforce consistent brace style for all control statements", - "fixable": true, - "hasSuggestions": false, - "name": "curly", - "recommended": false - }, - { - "description": "require `default` cases in `switch` statements", - "fixable": false, - "hasSuggestions": false, - "name": "default-case", - "recommended": false - }, - { - "description": "enforce default clauses in switch statements to be last", - "fixable": false, - "hasSuggestions": false, - "name": "default-case-last", - "recommended": false - }, - { - "description": "enforce default parameters to be last", - "fixable": false, - "hasSuggestions": false, - "name": "default-param-last", - "recommended": false - }, - { - "description": "enforce dot notation whenever possible", - "fixable": true, - "hasSuggestions": false, - "name": "dot-notation", - "recommended": false - }, - { - "description": "require the use of `===` and `!==`", - "fixable": true, - "hasSuggestions": false, - "name": "eqeqeq", - "recommended": false - }, - { - "description": "require function names to match the name of the variable or property to which they are assigned", - "fixable": false, - "hasSuggestions": false, - "name": "func-name-matching", - "recommended": false - }, - { - "description": "require or disallow named `function` expressions", - "fixable": false, - "hasSuggestions": false, - "name": "func-names", - "recommended": false - }, - { - "description": "enforce the consistent use of either `function` declarations or expressions", - "fixable": false, - "hasSuggestions": false, - "name": "func-style", - "recommended": false - }, - { - "description": "require grouped accessor pairs in object literals and classes", - "fixable": false, - "hasSuggestions": false, - "name": "grouped-accessor-pairs", - "recommended": false - }, - { - "description": "require `for-in` loops to include an `if` statement", - "fixable": false, - "hasSuggestions": false, - "name": "guard-for-in", - "recommended": false - }, - { - "description": "disallow specified identifiers", - "fixable": false, - "hasSuggestions": false, - "name": "id-denylist", - "recommended": false - }, - { - "description": "enforce minimum and maximum identifier lengths", - "fixable": false, - "hasSuggestions": false, - "name": "id-length", - "recommended": false - }, - { - "description": "require identifiers to match a specified regular expression", - "fixable": false, - "hasSuggestions": false, - "name": "id-match", - "recommended": false - }, - { - "description": "require or disallow initialization in variable declarations", - "fixable": false, - "hasSuggestions": false, - "name": "init-declarations", - "recommended": false - }, - { - "description": "enforce a maximum number of classes per file", - "fixable": false, - "hasSuggestions": false, - "name": "max-classes-per-file", - "recommended": false - }, - { - "description": "enforce a maximum depth that blocks can be nested", - "fixable": false, - "hasSuggestions": false, - "name": "max-depth", - "recommended": false - }, - { - "description": "enforce a maximum number of lines per file", - "fixable": false, - "hasSuggestions": false, - "name": "max-lines", - "recommended": false - }, - { - "description": "enforce a maximum number of lines of code in a function", - "fixable": false, - "hasSuggestions": false, - "name": "max-lines-per-function", - "recommended": false - }, - { - "description": "enforce a maximum depth that callbacks can be nested", - "fixable": false, - "hasSuggestions": false, - "name": "max-nested-callbacks", - "recommended": false - }, - { - "description": "enforce a maximum number of parameters in function definitions", - "fixable": false, - "hasSuggestions": false, - "name": "max-params", - "recommended": false - }, - { - "description": "enforce a maximum number of statements allowed in function blocks", - "fixable": false, - "hasSuggestions": false, - "name": "max-statements", - "recommended": false - }, - { - "description": "enforce a particular style for multiline comments", - "fixable": true, - "hasSuggestions": false, - "name": "multiline-comment-style", - "recommended": false - }, - { - "description": "require constructor names to begin with a capital letter", - "fixable": false, - "hasSuggestions": false, - "name": "new-cap", - "recommended": false - }, - { - "description": "disallow the use of `alert`, `confirm`, and `prompt`", - "fixable": false, - "hasSuggestions": false, - "name": "no-alert", - "recommended": false - }, - { - "description": "disallow `Array` constructors", - "fixable": false, - "hasSuggestions": false, - "name": "no-array-constructor", - "recommended": false - }, - { - "description": "disallow bitwise operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-bitwise", - "recommended": false - }, - { - "description": "disallow the use of `arguments.caller` or `arguments.callee`", - "fixable": false, - "hasSuggestions": false, - "name": "no-caller", - "recommended": false - }, - { - "description": "disallow lexical declarations in case clauses", - "fixable": false, - "hasSuggestions": false, - "name": "no-case-declarations", - "recommended": true - }, - { - "description": "disallow arrow functions where they could be confused with comparisons", - "fixable": true, - "hasSuggestions": false, - "name": "no-confusing-arrow", - "recommended": false - }, - { - "description": "disallow the use of `console`", - "fixable": false, - "hasSuggestions": false, - "name": "no-console", - "recommended": false - }, - { - "description": "disallow `continue` statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-continue", - "recommended": false - }, - { - "description": "disallow deleting variables", - "fixable": false, - "hasSuggestions": false, - "name": "no-delete-var", - "recommended": true - }, - { - "description": "disallow division operators explicitly at the beginning of regular expressions", - "fixable": true, - "hasSuggestions": false, - "name": "no-div-regex", - "recommended": false - }, - { - "description": "disallow `else` blocks after `return` statements in `if` statements", - "fixable": true, - "hasSuggestions": false, - "name": "no-else-return", - "recommended": false - }, - { - "description": "disallow empty block statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-empty", - "recommended": true - }, - { - "description": "disallow empty functions", - "fixable": false, - "hasSuggestions": false, - "name": "no-empty-function", - "recommended": false - }, - { - "description": "disallow `null` comparisons without type-checking operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-eq-null", - "recommended": false - }, - { - "description": "disallow the use of `eval()`", - "fixable": false, - "hasSuggestions": false, - "name": "no-eval", - "recommended": false - }, - { - "description": "disallow extending native types", - "fixable": false, - "hasSuggestions": false, - "name": "no-extend-native", - "recommended": false - }, - { - "description": "disallow unnecessary calls to `.bind()`", - "fixable": true, - "hasSuggestions": false, - "name": "no-extra-bind", - "recommended": false - }, - { - "description": "disallow unnecessary boolean casts", - "fixable": true, - "hasSuggestions": false, - "name": "no-extra-boolean-cast", - "recommended": true - }, - { - "description": "disallow unnecessary labels", - "fixable": true, - "hasSuggestions": false, - "name": "no-extra-label", - "recommended": false - }, - { - "description": "disallow unnecessary semicolons", - "fixable": true, - "hasSuggestions": false, - "name": "no-extra-semi", - "recommended": true - }, - { - "description": "disallow leading or trailing decimal points in numeric literals", - "fixable": true, - "hasSuggestions": false, - "name": "no-floating-decimal", - "recommended": false - }, - { - "description": "disallow assignments to native objects or read-only global variables", - "fixable": false, - "hasSuggestions": false, - "name": "no-global-assign", - "recommended": true - }, - { - "description": "disallow shorthand type conversions", - "fixable": true, - "hasSuggestions": false, - "name": "no-implicit-coercion", - "recommended": false - }, - { - "description": "disallow declarations in the global scope", - "fixable": false, - "hasSuggestions": false, - "name": "no-implicit-globals", - "recommended": false - }, - { - "description": "disallow the use of `eval()`-like methods", - "fixable": false, - "hasSuggestions": false, - "name": "no-implied-eval", - "recommended": false - }, - { - "description": "disallow inline comments after code", - "fixable": false, - "hasSuggestions": false, - "name": "no-inline-comments", - "recommended": false - }, - { - "description": "disallow `this` keywords outside of classes or class-like objects", - "fixable": false, - "hasSuggestions": false, - "name": "no-invalid-this", - "recommended": false - }, - { - "description": "disallow the use of the `__iterator__` property", - "fixable": false, - "hasSuggestions": false, - "name": "no-iterator", - "recommended": false - }, - { - "description": "disallow labels that share a name with a variable", - "fixable": false, - "hasSuggestions": false, - "name": "no-label-var", - "recommended": false - }, - { - "description": "disallow labeled statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-labels", - "recommended": false - }, - { - "description": "disallow unnecessary nested blocks", - "fixable": false, - "hasSuggestions": false, - "name": "no-lone-blocks", - "recommended": false - }, - { - "description": "disallow `if` statements as the only statement in `else` blocks", - "fixable": true, - "hasSuggestions": false, - "name": "no-lonely-if", - "recommended": false - }, - { - "description": "disallow function declarations that contain unsafe references inside loop statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-loop-func", - "recommended": false - }, - { - "description": "disallow magic numbers", - "fixable": false, - "hasSuggestions": false, - "name": "no-magic-numbers", - "recommended": false - }, - { - "description": "disallow mixed binary operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-mixed-operators", - "recommended": false - }, - { - "description": "disallow use of chained assignment expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-multi-assign", - "recommended": false - }, - { - "description": "disallow multiline strings", - "fixable": false, - "hasSuggestions": false, - "name": "no-multi-str", - "recommended": false - }, - { - "description": "disallow negated conditions", - "fixable": false, - "hasSuggestions": false, - "name": "no-negated-condition", - "recommended": false - }, - { - "description": "disallow nested ternary expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-nested-ternary", - "recommended": false - }, - { - "description": "disallow `new` operators outside of assignments or comparisons", - "fixable": false, - "hasSuggestions": false, - "name": "no-new", - "recommended": false - }, - { - "description": "disallow `new` operators with the `Function` object", - "fixable": false, - "hasSuggestions": false, - "name": "no-new-func", - "recommended": false - }, - { - "description": "disallow `Object` constructors", - "fixable": false, - "hasSuggestions": false, - "name": "no-new-object", - "recommended": false - }, - { - "description": "disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "fixable": false, - "hasSuggestions": false, - "name": "no-new-wrappers", - "recommended": false - }, - { - "description": "disallow `\\8` and `\\9` escape sequences in string literals", - "fixable": false, - "hasSuggestions": true, - "name": "no-nonoctal-decimal-escape", - "recommended": true - }, - { - "description": "disallow octal literals", - "fixable": false, - "hasSuggestions": false, - "name": "no-octal", - "recommended": true - }, - { - "description": "disallow octal escape sequences in string literals", - "fixable": false, - "hasSuggestions": false, - "name": "no-octal-escape", - "recommended": false - }, - { - "description": "disallow reassigning `function` parameters", - "fixable": false, - "hasSuggestions": false, - "name": "no-param-reassign", - "recommended": false - }, - { - "description": "disallow the unary operators `++` and `--`", - "fixable": false, - "hasSuggestions": false, - "name": "no-plusplus", - "recommended": false - }, - { - "description": "disallow the use of the `__proto__` property", - "fixable": false, - "hasSuggestions": false, - "name": "no-proto", - "recommended": false - }, - { - "description": "disallow variable redeclaration", - "fixable": false, - "hasSuggestions": false, - "name": "no-redeclare", - "recommended": true - }, - { - "description": "disallow multiple spaces in regular expressions", - "fixable": true, - "hasSuggestions": false, - "name": "no-regex-spaces", - "recommended": true - }, - { - "description": "disallow specified names in exports", - "fixable": false, - "hasSuggestions": false, - "name": "no-restricted-exports", - "recommended": false - }, - { - "description": "disallow specified global variables", - "fixable": false, - "hasSuggestions": false, - "name": "no-restricted-globals", - "recommended": false - }, - { - "description": "disallow specified modules when loaded by `import`", - "fixable": false, - "hasSuggestions": false, - "name": "no-restricted-imports", - "recommended": false - }, - { - "description": "disallow certain properties on certain objects", - "fixable": false, - "hasSuggestions": false, - "name": "no-restricted-properties", - "recommended": false - }, - { - "description": "disallow specified syntax", - "fixable": false, - "hasSuggestions": false, - "name": "no-restricted-syntax", - "recommended": false - }, - { - "description": "disallow assignment operators in `return` statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-return-assign", - "recommended": false - }, - { - "description": "disallow unnecessary `return await`", - "fixable": false, - "hasSuggestions": false, - "name": "no-return-await", - "recommended": false - }, - { - "description": "disallow `javascript:` urls", - "fixable": false, - "hasSuggestions": false, - "name": "no-script-url", - "recommended": false - }, - { - "description": "disallow comma operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-sequences", - "recommended": false - }, - { - "description": "disallow variable declarations from shadowing variables declared in the outer scope", - "fixable": false, - "hasSuggestions": false, - "name": "no-shadow", - "recommended": false - }, - { - "description": "disallow identifiers from shadowing restricted names", - "fixable": false, - "hasSuggestions": false, - "name": "no-shadow-restricted-names", - "recommended": true - }, - { - "description": "disallow ternary operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-ternary", - "recommended": false - }, - { - "description": "disallow throwing literals as exceptions", - "fixable": false, - "hasSuggestions": false, - "name": "no-throw-literal", - "recommended": false - }, - { - "description": "disallow initializing variables to `undefined`", - "fixable": true, - "hasSuggestions": false, - "name": "no-undef-init", - "recommended": false - }, - { - "description": "disallow the use of `undefined` as an identifier", - "fixable": false, - "hasSuggestions": false, - "name": "no-undefined", - "recommended": false - }, - { - "description": "disallow dangling underscores in identifiers", - "fixable": false, - "hasSuggestions": false, - "name": "no-underscore-dangle", - "recommended": false - }, - { - "description": "disallow ternary operators when simpler alternatives exist", - "fixable": true, - "hasSuggestions": false, - "name": "no-unneeded-ternary", - "recommended": false - }, - { - "description": "disallow unused expressions", - "fixable": false, - "hasSuggestions": false, - "name": "no-unused-expressions", - "recommended": false - }, - { - "description": "disallow unused labels", - "fixable": true, - "hasSuggestions": false, - "name": "no-unused-labels", - "recommended": true - }, - { - "description": "disallow unnecessary calls to `.call()` and `.apply()`", - "fixable": false, - "hasSuggestions": false, - "name": "no-useless-call", - "recommended": false - }, - { - "description": "disallow unnecessary `catch` clauses", - "fixable": false, - "hasSuggestions": false, - "name": "no-useless-catch", - "recommended": true - }, - { - "description": "disallow unnecessary computed property keys in objects and classes", - "fixable": true, - "hasSuggestions": false, - "name": "no-useless-computed-key", - "recommended": false - }, - { - "description": "disallow unnecessary concatenation of literals or template literals", - "fixable": false, - "hasSuggestions": false, - "name": "no-useless-concat", - "recommended": false - }, - { - "description": "disallow unnecessary constructors", - "fixable": false, - "hasSuggestions": false, - "name": "no-useless-constructor", - "recommended": false - }, - { - "description": "disallow unnecessary escape characters", - "fixable": false, - "hasSuggestions": true, - "name": "no-useless-escape", - "recommended": true - }, - { - "description": "disallow renaming import, export, and destructured assignments to the same name", - "fixable": true, - "hasSuggestions": false, - "name": "no-useless-rename", - "recommended": false - }, - { - "description": "disallow redundant return statements", - "fixable": true, - "hasSuggestions": false, - "name": "no-useless-return", - "recommended": false - }, - { - "description": "require `let` or `const` instead of `var`", - "fixable": true, - "hasSuggestions": false, - "name": "no-var", - "recommended": false - }, - { - "description": "disallow `void` operators", - "fixable": false, - "hasSuggestions": false, - "name": "no-void", - "recommended": false - }, - { - "description": "disallow specified warning terms in comments", - "fixable": false, - "hasSuggestions": false, - "name": "no-warning-comments", - "recommended": false - }, - { - "description": "disallow `with` statements", - "fixable": false, - "hasSuggestions": false, - "name": "no-with", - "recommended": true - }, - { - "description": "require or disallow method and property shorthand syntax for object literals", - "fixable": true, - "hasSuggestions": false, - "name": "object-shorthand", - "recommended": false - }, - { - "description": "enforce variables to be declared either together or separately in functions", - "fixable": true, - "hasSuggestions": false, - "name": "one-var", - "recommended": false - }, - { - "description": "require or disallow newlines around variable declarations", - "fixable": true, - "hasSuggestions": false, - "name": "one-var-declaration-per-line", - "recommended": false - }, - { - "description": "require or disallow assignment operator shorthand where possible", - "fixable": true, - "hasSuggestions": false, - "name": "operator-assignment", - "recommended": false - }, - { - "description": "require using arrow functions for callbacks", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-arrow-callback", - "recommended": false - }, - { - "description": "require `const` declarations for variables that are never reassigned after declared", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-const", - "recommended": false - }, - { - "description": "require destructuring from arrays and/or objects", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-destructuring", - "recommended": false - }, - { - "description": "disallow the use of `Math.pow` in favor of the `**` operator", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-exponentiation-operator", - "recommended": false - }, - { - "description": "enforce using named capture group in regular expression", - "fixable": false, - "hasSuggestions": false, - "name": "prefer-named-capture-group", - "recommended": false - }, - { - "description": "disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-numeric-literals", - "recommended": false - }, - { - "description": "disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-object-has-own", - "recommended": false - }, - { - "description": "disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-object-spread", - "recommended": false - }, - { - "description": "require using Error objects as Promise rejection reasons", - "fixable": false, - "hasSuggestions": false, - "name": "prefer-promise-reject-errors", - "recommended": false - }, - { - "description": "disallow use of the `RegExp` constructor in favor of regular expression literals", - "fixable": false, - "hasSuggestions": true, - "name": "prefer-regex-literals", - "recommended": false - }, - { - "description": "require rest parameters instead of `arguments`", - "fixable": false, - "hasSuggestions": false, - "name": "prefer-rest-params", - "recommended": false - }, - { - "description": "require spread operators instead of `.apply()`", - "fixable": false, - "hasSuggestions": false, - "name": "prefer-spread", - "recommended": false - }, - { - "description": "require template literals instead of string concatenation", - "fixable": true, - "hasSuggestions": false, - "name": "prefer-template", - "recommended": false - }, - { - "description": "require quotes around object literal property names", - "fixable": true, - "hasSuggestions": false, - "name": "quote-props", - "recommended": false - }, - { - "description": "enforce the consistent use of the radix argument when using `parseInt()`", - "fixable": false, - "hasSuggestions": true, - "name": "radix", - "recommended": false - }, - { - "description": "disallow async functions which have no `await` expression", - "fixable": false, - "hasSuggestions": false, - "name": "require-await", - "recommended": false - }, - { - "description": "enforce the use of `u` flag on RegExp", - "fixable": false, - "hasSuggestions": false, - "name": "require-unicode-regexp", - "recommended": false - }, - { - "description": "require generator functions to contain `yield`", - "fixable": false, - "hasSuggestions": false, - "name": "require-yield", - "recommended": true - }, - { - "description": "enforce sorted import declarations within modules", - "fixable": true, - "hasSuggestions": false, - "name": "sort-imports", - "recommended": false - }, - { - "description": "require object keys to be sorted", - "fixable": false, - "hasSuggestions": false, - "name": "sort-keys", - "recommended": false - }, - { - "description": "require variables within the same declaration block to be sorted", - "fixable": true, - "hasSuggestions": false, - "name": "sort-vars", - "recommended": false - }, - { - "description": "enforce consistent spacing after the `//` or `/*` in a comment", - "fixable": true, - "hasSuggestions": false, - "name": "spaced-comment", - "recommended": false - }, - { - "description": "require or disallow strict mode directives", - "fixable": true, - "hasSuggestions": false, - "name": "strict", - "recommended": false - }, - { - "description": "require symbol descriptions", - "fixable": false, - "hasSuggestions": false, - "name": "symbol-description", - "recommended": false - }, - { - "description": "require `var` declarations be placed at the top of their containing scope", - "fixable": false, - "hasSuggestions": false, - "name": "vars-on-top", - "recommended": false - }, - { - "description": "require or disallow \"Yoda\" conditions", - "fixable": true, - "hasSuggestions": false, - "name": "yoda", - "recommended": false + "types": [ + { + "name": "problem", + "displayName": "Possible Problems", + "description": "These rules relate to possible logic errors in code:", + "rules": [ + { + "name": "array-callback-return", + "description": "enforce `return` statements in callbacks of array methods", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "constructor-super", + "description": "require `super()` calls in constructors", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "for-direction", + "description": "enforce \"for\" loop update clause moving the counter in the right direction.", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "getter-return", + "description": "enforce `return` statements in getters", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-async-promise-executor", + "description": "disallow using an async function as a Promise executor", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-await-in-loop", + "description": "disallow `await` inside of loops", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-class-assign", + "description": "disallow reassigning class members", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-compare-neg-zero", + "description": "disallow comparing against -0", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-cond-assign", + "description": "disallow assignment operators in conditional expressions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-const-assign", + "description": "disallow reassigning `const` variables", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-constant-binary-expression", + "description": "disallow expressions where the operation doesn't affect the value", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-constant-condition", + "description": "disallow constant expressions in conditions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-constructor-return", + "description": "disallow returning value from constructor", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-control-regex", + "description": "disallow control characters in regular expressions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-debugger", + "description": "disallow the use of `debugger`", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-dupe-args", + "description": "disallow duplicate arguments in `function` definitions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-dupe-class-members", + "description": "disallow duplicate class members", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-dupe-else-if", + "description": "disallow duplicate conditions in if-else-if chains", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-dupe-keys", + "description": "disallow duplicate keys in object literals", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-duplicate-case", + "description": "disallow duplicate case labels", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-duplicate-imports", + "description": "disallow duplicate module imports", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-empty-character-class", + "description": "disallow empty character classes in regular expressions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-empty-pattern", + "description": "disallow empty destructuring patterns", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-ex-assign", + "description": "disallow reassigning exceptions in `catch` clauses", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-fallthrough", + "description": "disallow fallthrough of `case` statements", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-func-assign", + "description": "disallow reassigning `function` declarations", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-import-assign", + "description": "disallow assigning to imported bindings", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-inner-declarations", + "description": "disallow variable or `function` declarations in nested blocks", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-invalid-regexp", + "description": "disallow invalid regular expression strings in `RegExp` constructors", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-irregular-whitespace", + "description": "disallow irregular whitespace", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-loss-of-precision", + "description": "disallow literal numbers that lose precision", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-misleading-character-class", + "description": "disallow characters which are made with multiple code points in character class syntax", + "recommended": true, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "no-new-symbol", + "description": "disallow `new` operators with the `Symbol` object", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-obj-calls", + "description": "disallow calling global object properties as functions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-promise-executor-return", + "description": "disallow returning values from Promise executor functions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-prototype-builtins", + "description": "disallow calling some `Object.prototype` methods directly on objects", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-self-assign", + "description": "disallow assignments where both sides are exactly the same", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-self-compare", + "description": "disallow comparisons where both sides are exactly the same", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-setter-return", + "description": "disallow returning values from setters", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-sparse-arrays", + "description": "disallow sparse arrays", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-template-curly-in-string", + "description": "disallow template literal placeholder syntax in regular strings", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-this-before-super", + "description": "disallow `this`/`super` before calling `super()` in constructors", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-undef", + "description": "disallow the use of undeclared variables unless mentioned in `/*global */` comments", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unexpected-multiline", + "description": "disallow confusing multiline expressions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unmodified-loop-condition", + "description": "disallow unmodified loop conditions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unreachable", + "description": "disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unreachable-loop", + "description": "disallow loops with a body that allows only one iteration", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unsafe-finally", + "description": "disallow control flow statements in `finally` blocks", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unsafe-negation", + "description": "disallow negating the left operand of relational operators", + "recommended": true, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "no-unsafe-optional-chaining", + "description": "disallow use of optional chaining in contexts where the `undefined` value is not allowed", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unused-private-class-members", + "description": "disallow unused private class members", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unused-vars", + "description": "disallow unused variables", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-use-before-define", + "description": "disallow the use of variables before they are defined", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-useless-backreference", + "description": "disallow useless backreferences in regular expressions", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "require-atomic-updates", + "description": "disallow assignments that can lead to race conditions due to usage of `await` or `yield`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "use-isnan", + "description": "require calls to `isNaN()` when checking for `NaN`", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "valid-typeof", + "description": "enforce comparing `typeof` expressions against valid strings", + "recommended": true, + "fixable": false, + "hasSuggestions": true + } + ] + }, + { + "name": "suggestion", + "displayName": "Suggestions", + "description": "These rules suggest alternate ways of doing things:", + "rules": [ + { + "name": "accessor-pairs", + "description": "enforce getter and setter pairs in objects and classes", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "arrow-body-style", + "description": "require braces around arrow function bodies", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "block-scoped-var", + "description": "enforce the use of variables within the scope they are defined", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "camelcase", + "description": "enforce camelcase naming convention", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "capitalized-comments", + "description": "enforce or disallow capitalization of the first letter of a comment", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "class-methods-use-this", + "description": "enforce that class methods utilize `this`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "complexity", + "description": "enforce a maximum cyclomatic complexity allowed in a program", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "consistent-return", + "description": "require `return` statements to either always or never specify values", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "consistent-this", + "description": "enforce consistent naming when capturing the current execution context", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "curly", + "description": "enforce consistent brace style for all control statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "default-case", + "description": "require `default` cases in `switch` statements", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "default-case-last", + "description": "enforce default clauses in switch statements to be last", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "default-param-last", + "description": "enforce default parameters to be last", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "dot-notation", + "description": "enforce dot notation whenever possible", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "eqeqeq", + "description": "require the use of `===` and `!==`", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "func-name-matching", + "description": "require function names to match the name of the variable or property to which they are assigned", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "func-names", + "description": "require or disallow named `function` expressions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "func-style", + "description": "enforce the consistent use of either `function` declarations or expressions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "grouped-accessor-pairs", + "description": "require grouped accessor pairs in object literals and classes", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "guard-for-in", + "description": "require `for-in` loops to include an `if` statement", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "id-denylist", + "description": "disallow specified identifiers", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "id-length", + "description": "enforce minimum and maximum identifier lengths", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "id-match", + "description": "require identifiers to match a specified regular expression", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "init-declarations", + "description": "require or disallow initialization in variable declarations", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-classes-per-file", + "description": "enforce a maximum number of classes per file", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-depth", + "description": "enforce a maximum depth that blocks can be nested", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-lines", + "description": "enforce a maximum number of lines per file", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-lines-per-function", + "description": "enforce a maximum number of lines of code in a function", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-nested-callbacks", + "description": "enforce a maximum depth that callbacks can be nested", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-params", + "description": "enforce a maximum number of parameters in function definitions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-statements", + "description": "enforce a maximum number of statements allowed in function blocks", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "multiline-comment-style", + "description": "enforce a particular style for multiline comments", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "new-cap", + "description": "require constructor names to begin with a capital letter", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-alert", + "description": "disallow the use of `alert`, `confirm`, and `prompt`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-array-constructor", + "description": "disallow `Array` constructors", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-bitwise", + "description": "disallow bitwise operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-caller", + "description": "disallow the use of `arguments.caller` or `arguments.callee`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-case-declarations", + "description": "disallow lexical declarations in case clauses", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-confusing-arrow", + "description": "disallow arrow functions where they could be confused with comparisons", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-console", + "description": "disallow the use of `console`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-continue", + "description": "disallow `continue` statements", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-delete-var", + "description": "disallow deleting variables", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-div-regex", + "description": "disallow division operators explicitly at the beginning of regular expressions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-else-return", + "description": "disallow `else` blocks after `return` statements in `if` statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-empty", + "description": "disallow empty block statements", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-empty-function", + "description": "disallow empty functions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-eq-null", + "description": "disallow `null` comparisons without type-checking operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-eval", + "description": "disallow the use of `eval()`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-extend-native", + "description": "disallow extending native types", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-extra-bind", + "description": "disallow unnecessary calls to `.bind()`", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-extra-boolean-cast", + "description": "disallow unnecessary boolean casts", + "recommended": true, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-extra-label", + "description": "disallow unnecessary labels", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-extra-semi", + "description": "disallow unnecessary semicolons", + "recommended": true, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-floating-decimal", + "description": "disallow leading or trailing decimal points in numeric literals", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-global-assign", + "description": "disallow assignments to native objects or read-only global variables", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-implicit-coercion", + "description": "disallow shorthand type conversions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-implicit-globals", + "description": "disallow declarations in the global scope", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-implied-eval", + "description": "disallow the use of `eval()`-like methods", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-inline-comments", + "description": "disallow inline comments after code", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-invalid-this", + "description": "disallow use of `this` in contexts where the value of `this` is `undefined`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-iterator", + "description": "disallow the use of the `__iterator__` property", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-label-var", + "description": "disallow labels that share a name with a variable", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-labels", + "description": "disallow labeled statements", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-lone-blocks", + "description": "disallow unnecessary nested blocks", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-lonely-if", + "description": "disallow `if` statements as the only statement in `else` blocks", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-loop-func", + "description": "disallow function declarations that contain unsafe references inside loop statements", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-magic-numbers", + "description": "disallow magic numbers", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-mixed-operators", + "description": "disallow mixed binary operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-multi-assign", + "description": "disallow use of chained assignment expressions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-multi-str", + "description": "disallow multiline strings", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-negated-condition", + "description": "disallow negated conditions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-nested-ternary", + "description": "disallow nested ternary expressions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-new", + "description": "disallow `new` operators outside of assignments or comparisons", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-new-func", + "description": "disallow `new` operators with the `Function` object", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-new-object", + "description": "disallow `Object` constructors", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-new-wrappers", + "description": "disallow `new` operators with the `String`, `Number`, and `Boolean` objects", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-nonoctal-decimal-escape", + "description": "disallow `\\8` and `\\9` escape sequences in string literals", + "recommended": true, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "no-octal", + "description": "disallow octal literals", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-octal-escape", + "description": "disallow octal escape sequences in string literals", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-param-reassign", + "description": "disallow reassigning `function` parameters", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-plusplus", + "description": "disallow the unary operators `++` and `--`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-proto", + "description": "disallow the use of the `__proto__` property", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-redeclare", + "description": "disallow variable redeclaration", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-regex-spaces", + "description": "disallow multiple spaces in regular expressions", + "recommended": true, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-restricted-exports", + "description": "disallow specified names in exports", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-restricted-globals", + "description": "disallow specified global variables", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-restricted-imports", + "description": "disallow specified modules when loaded by `import`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-restricted-properties", + "description": "disallow certain properties on certain objects", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-restricted-syntax", + "description": "disallow specified syntax", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-return-assign", + "description": "disallow assignment operators in `return` statements", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-return-await", + "description": "disallow unnecessary `return await`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-script-url", + "description": "disallow `javascript:` urls", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-sequences", + "description": "disallow comma operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-shadow", + "description": "disallow variable declarations from shadowing variables declared in the outer scope", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-shadow-restricted-names", + "description": "disallow identifiers from shadowing restricted names", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-ternary", + "description": "disallow ternary operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-throw-literal", + "description": "disallow throwing literals as exceptions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-undef-init", + "description": "disallow initializing variables to `undefined`", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-undefined", + "description": "disallow the use of `undefined` as an identifier", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-underscore-dangle", + "description": "disallow dangling underscores in identifiers", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unneeded-ternary", + "description": "disallow ternary operators when simpler alternatives exist", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-unused-expressions", + "description": "disallow unused expressions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-unused-labels", + "description": "disallow unused labels", + "recommended": true, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-useless-call", + "description": "disallow unnecessary calls to `.call()` and `.apply()`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-useless-catch", + "description": "disallow unnecessary `catch` clauses", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-useless-computed-key", + "description": "disallow unnecessary computed property keys in objects and classes", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-useless-concat", + "description": "disallow unnecessary concatenation of literals or template literals", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-useless-constructor", + "description": "disallow unnecessary constructors", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-useless-escape", + "description": "disallow unnecessary escape characters", + "recommended": true, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "no-useless-rename", + "description": "disallow renaming import, export, and destructured assignments to the same name", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-useless-return", + "description": "disallow redundant return statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-var", + "description": "require `let` or `const` instead of `var`", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-void", + "description": "disallow `void` operators", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-warning-comments", + "description": "disallow specified warning terms in comments", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-with", + "description": "disallow `with` statements", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "object-shorthand", + "description": "require or disallow method and property shorthand syntax for object literals", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "one-var", + "description": "enforce variables to be declared either together or separately in functions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "one-var-declaration-per-line", + "description": "require or disallow newlines around variable declarations", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "operator-assignment", + "description": "require or disallow assignment operator shorthand where possible", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-arrow-callback", + "description": "require using arrow functions for callbacks", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-const", + "description": "require `const` declarations for variables that are never reassigned after declared", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-destructuring", + "description": "require destructuring from arrays and/or objects", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-exponentiation-operator", + "description": "disallow the use of `Math.pow` in favor of the `**` operator", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-named-capture-group", + "description": "enforce using named capture group in regular expression", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "prefer-numeric-literals", + "description": "disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-object-has-own", + "description": "disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-object-spread", + "description": "disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "prefer-promise-reject-errors", + "description": "require using Error objects as Promise rejection reasons", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "prefer-regex-literals", + "description": "disallow use of the `RegExp` constructor in favor of regular expression literals", + "recommended": false, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "prefer-rest-params", + "description": "require rest parameters instead of `arguments`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "prefer-spread", + "description": "require spread operators instead of `.apply()`", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "prefer-template", + "description": "require template literals instead of string concatenation", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "quote-props", + "description": "require quotes around object literal property names", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "radix", + "description": "enforce the consistent use of the radix argument when using `parseInt()`", + "recommended": false, + "fixable": false, + "hasSuggestions": true + }, + { + "name": "require-await", + "description": "disallow async functions which have no `await` expression", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "require-unicode-regexp", + "description": "enforce the use of `u` flag on RegExp", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "require-yield", + "description": "require generator functions to contain `yield`", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "sort-imports", + "description": "enforce sorted import declarations within modules", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "sort-keys", + "description": "require object keys to be sorted", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "sort-vars", + "description": "require variables within the same declaration block to be sorted", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "spaced-comment", + "description": "enforce consistent spacing after the `//` or `/*` in a comment", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "strict", + "description": "require or disallow strict mode directives", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "symbol-description", + "description": "require symbol descriptions", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "vars-on-top", + "description": "require `var` declarations be placed at the top of their containing scope", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "yoda", + "description": "require or disallow \"Yoda\" conditions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + } + ] + }, + { + "name": "layout", + "displayName": "Layout & Formatting", + "description": "These rules care about how the code looks rather than how it executes:", + "rules": [ + { + "name": "array-bracket-newline", + "description": "enforce linebreaks after opening and before closing array brackets", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "array-bracket-spacing", + "description": "enforce consistent spacing inside array brackets", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "array-element-newline", + "description": "enforce line breaks after each array element", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "arrow-parens", + "description": "require parentheses around arrow function arguments", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "arrow-spacing", + "description": "enforce consistent spacing before and after the arrow in arrow functions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "block-spacing", + "description": "disallow or enforce spaces inside of blocks after opening block and before closing block", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "brace-style", + "description": "enforce consistent brace style for blocks", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "comma-dangle", + "description": "require or disallow trailing commas", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "comma-spacing", + "description": "enforce consistent spacing before and after commas", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "comma-style", + "description": "enforce consistent comma style", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "computed-property-spacing", + "description": "enforce consistent spacing inside computed property brackets", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "dot-location", + "description": "enforce consistent newlines before and after dots", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "eol-last", + "description": "require or disallow newline at the end of files", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "func-call-spacing", + "description": "require or disallow spacing between function identifiers and their invocations", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "function-call-argument-newline", + "description": "enforce line breaks between arguments of a function call", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "function-paren-newline", + "description": "enforce consistent line breaks inside function parentheses", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "generator-star-spacing", + "description": "enforce consistent spacing around `*` operators in generator functions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "implicit-arrow-linebreak", + "description": "enforce the location of arrow function bodies", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "indent", + "description": "enforce consistent indentation", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "jsx-quotes", + "description": "enforce the consistent use of either double or single quotes in JSX attributes", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "key-spacing", + "description": "enforce consistent spacing between keys and values in object literal properties", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "keyword-spacing", + "description": "enforce consistent spacing before and after keywords", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "line-comment-position", + "description": "enforce position of line comments", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "linebreak-style", + "description": "enforce consistent linebreak style", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "lines-around-comment", + "description": "require empty lines around comments", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "lines-between-class-members", + "description": "require or disallow an empty line between class members", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "max-len", + "description": "enforce a maximum line length", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "max-statements-per-line", + "description": "enforce a maximum number of statements allowed per line", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "multiline-ternary", + "description": "enforce newlines between operands of ternary expressions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "new-parens", + "description": "enforce or disallow parentheses when invoking a constructor with no arguments", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "newline-per-chained-call", + "description": "require a newline after each call in a method chain", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-extra-parens", + "description": "disallow unnecessary parentheses", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-mixed-spaces-and-tabs", + "description": "disallow mixed spaces and tabs for indentation", + "recommended": true, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-multi-spaces", + "description": "disallow multiple spaces", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-multiple-empty-lines", + "description": "disallow multiple empty lines", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-tabs", + "description": "disallow all tabs", + "recommended": false, + "fixable": false, + "hasSuggestions": false + }, + { + "name": "no-trailing-spaces", + "description": "disallow trailing whitespace at the end of lines", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "no-whitespace-before-property", + "description": "disallow whitespace before properties", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "nonblock-statement-body-position", + "description": "enforce the location of single-line statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "object-curly-newline", + "description": "enforce consistent line breaks after opening and before closing braces", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "object-curly-spacing", + "description": "enforce consistent spacing inside braces", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "object-property-newline", + "description": "enforce placing object properties on separate lines", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "operator-linebreak", + "description": "enforce consistent linebreak style for operators", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "padded-blocks", + "description": "require or disallow padding within blocks", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "padding-line-between-statements", + "description": "require or disallow padding lines between statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "quotes", + "description": "enforce the consistent use of either backticks, double, or single quotes", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "rest-spread-spacing", + "description": "enforce spacing between rest and spread operators and their expressions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "semi", + "description": "require or disallow semicolons instead of ASI", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "semi-spacing", + "description": "enforce consistent spacing before and after semicolons", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "semi-style", + "description": "enforce location of semicolons", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "space-before-blocks", + "description": "enforce consistent spacing before blocks", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "space-before-function-paren", + "description": "enforce consistent spacing before `function` definition opening parenthesis", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "space-in-parens", + "description": "enforce consistent spacing inside parentheses", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "space-infix-ops", + "description": "require spacing around infix operators", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "space-unary-ops", + "description": "enforce consistent spacing before or after unary operators", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "switch-colon-spacing", + "description": "enforce spacing around colons of switch statements", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "template-curly-spacing", + "description": "require or disallow spacing around embedded expressions of template strings", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "template-tag-spacing", + "description": "require or disallow spacing between template tags and their literals", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "unicode-bom", + "description": "require or disallow Unicode byte order mark (BOM)", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "wrap-iife", + "description": "require parentheses around immediate `function` invocations", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "wrap-regex", + "description": "require parenthesis around regex literals", + "recommended": false, + "fixable": true, + "hasSuggestions": false + }, + { + "name": "yield-star-spacing", + "description": "require or disallow spacing around the `*` in `yield*` expressions", + "recommended": false, + "fixable": true, + "hasSuggestions": false + } + ] } - ] + ], + "deprecated": { + "name": "Deprecated", + "description": "These rules have been deprecated in accordance with the deprecation policy, and replaced by newer rules:", + "rules": [ + { + "name": "callback-return", + "replacedBy": [] + }, + { + "name": "global-require", + "replacedBy": [] + }, + { + "name": "handle-callback-err", + "replacedBy": [] + }, + { + "name": "id-blacklist", + "replacedBy": [ + "id-denylist" + ] + }, + { + "name": "indent-legacy", + "replacedBy": [ + "indent" + ] + }, + { + "name": "lines-around-directive", + "replacedBy": [ + "padding-line-between-statements" + ] + }, + { + "name": "newline-after-var", + "replacedBy": [ + "padding-line-between-statements" + ] + }, + { + "name": "newline-before-return", + "replacedBy": [ + "padding-line-between-statements" + ] + }, + { + "name": "no-buffer-constructor", + "replacedBy": [] + }, + { + "name": "no-catch-shadow", + "replacedBy": [ + "no-shadow" + ] + }, + { + "name": "no-mixed-requires", + "replacedBy": [] + }, + { + "name": "no-native-reassign", + "replacedBy": [ + "no-global-assign" + ] + }, + { + "name": "no-negated-in-lhs", + "replacedBy": [ + "no-unsafe-negation" + ] + }, + { + "name": "no-new-require", + "replacedBy": [] + }, + { + "name": "no-path-concat", + "replacedBy": [] + }, + { + "name": "no-process-env", + "replacedBy": [] + }, + { + "name": "no-process-exit", + "replacedBy": [] + }, + { + "name": "no-restricted-modules", + "replacedBy": [] + }, + { + "name": "no-spaced-func", + "replacedBy": [ + "func-call-spacing" + ] + }, + { + "name": "no-sync", + "replacedBy": [] + }, + { + "name": "prefer-reflect", + "replacedBy": [] + }, + { + "name": "require-jsdoc", + "replacedBy": [] + }, + { + "name": "valid-jsdoc", + "replacedBy": [] + } + ] }, - { - "description": "These rules care about how the code looks rather than how it executes:", - "displayName": "Layout & Formatting", - "name": "layout", - "rules": [ - { - "description": "enforce linebreaks after opening and before closing array brackets", - "fixable": true, - "hasSuggestions": false, - "name": "array-bracket-newline", - "recommended": false - }, - { - "description": "enforce consistent spacing inside array brackets", - "fixable": true, - "hasSuggestions": false, - "name": "array-bracket-spacing", - "recommended": false - }, - { - "description": "enforce line breaks after each array element", - "fixable": true, - "hasSuggestions": false, - "name": "array-element-newline", - "recommended": false - }, - { - "description": "require parentheses around arrow function arguments", - "fixable": true, - "hasSuggestions": false, - "name": "arrow-parens", - "recommended": false - }, - { - "description": "enforce consistent spacing before and after the arrow in arrow functions", - "fixable": true, - "hasSuggestions": false, - "name": "arrow-spacing", - "recommended": false - }, - { - "description": "disallow or enforce spaces inside of blocks after opening block and before closing block", - "fixable": true, - "hasSuggestions": false, - "name": "block-spacing", - "recommended": false - }, - { - "description": "enforce consistent brace style for blocks", - "fixable": true, - "hasSuggestions": false, - "name": "brace-style", - "recommended": false - }, - { - "description": "require or disallow trailing commas", - "fixable": true, - "hasSuggestions": false, - "name": "comma-dangle", - "recommended": false - }, - { - "description": "enforce consistent spacing before and after commas", - "fixable": true, - "hasSuggestions": false, - "name": "comma-spacing", - "recommended": false - }, - { - "description": "enforce consistent comma style", - "fixable": true, - "hasSuggestions": false, - "name": "comma-style", - "recommended": false - }, - { - "description": "enforce consistent spacing inside computed property brackets", - "fixable": true, - "hasSuggestions": false, - "name": "computed-property-spacing", - "recommended": false - }, - { - "description": "enforce consistent newlines before and after dots", - "fixable": true, - "hasSuggestions": false, - "name": "dot-location", - "recommended": false - }, - { - "description": "require or disallow newline at the end of files", - "fixable": true, - "hasSuggestions": false, - "name": "eol-last", - "recommended": false - }, - { - "description": "require or disallow spacing between function identifiers and their invocations", - "fixable": true, - "hasSuggestions": false, - "name": "func-call-spacing", - "recommended": false - }, - { - "description": "enforce line breaks between arguments of a function call", - "fixable": true, - "hasSuggestions": false, - "name": "function-call-argument-newline", - "recommended": false - }, - { - "description": "enforce consistent line breaks inside function parentheses", - "fixable": true, - "hasSuggestions": false, - "name": "function-paren-newline", - "recommended": false - }, - { - "description": "enforce consistent spacing around `*` operators in generator functions", - "fixable": true, - "hasSuggestions": false, - "name": "generator-star-spacing", - "recommended": false - }, - { - "description": "enforce the location of arrow function bodies", - "fixable": true, - "hasSuggestions": false, - "name": "implicit-arrow-linebreak", - "recommended": false - }, - { - "description": "enforce consistent indentation", - "fixable": true, - "hasSuggestions": false, - "name": "indent", - "recommended": false - }, - { - "description": "enforce the consistent use of either double or single quotes in JSX attributes", - "fixable": true, - "hasSuggestions": false, - "name": "jsx-quotes", - "recommended": false - }, - { - "description": "enforce consistent spacing between keys and values in object literal properties", - "fixable": true, - "hasSuggestions": false, - "name": "key-spacing", - "recommended": false - }, - { - "description": "enforce consistent spacing before and after keywords", - "fixable": true, - "hasSuggestions": false, - "name": "keyword-spacing", - "recommended": false - }, - { - "description": "enforce position of line comments", - "fixable": false, - "hasSuggestions": false, - "name": "line-comment-position", - "recommended": false - }, - { - "description": "enforce consistent linebreak style", - "fixable": true, - "hasSuggestions": false, - "name": "linebreak-style", - "recommended": false - }, - { - "description": "require empty lines around comments", - "fixable": true, - "hasSuggestions": false, - "name": "lines-around-comment", - "recommended": false - }, - { - "description": "require or disallow an empty line between class members", - "fixable": true, - "hasSuggestions": false, - "name": "lines-between-class-members", - "recommended": false - }, - { - "description": "enforce a maximum line length", - "fixable": false, - "hasSuggestions": false, - "name": "max-len", - "recommended": false - }, - { - "description": "enforce a maximum number of statements allowed per line", - "fixable": false, - "hasSuggestions": false, - "name": "max-statements-per-line", - "recommended": false - }, - { - "description": "enforce newlines between operands of ternary expressions", - "fixable": true, - "hasSuggestions": false, - "name": "multiline-ternary", - "recommended": false - }, - { - "description": "enforce or disallow parentheses when invoking a constructor with no arguments", - "fixable": true, - "hasSuggestions": false, - "name": "new-parens", - "recommended": false - }, - { - "description": "require a newline after each call in a method chain", - "fixable": true, - "hasSuggestions": false, - "name": "newline-per-chained-call", - "recommended": false - }, - { - "description": "disallow unnecessary parentheses", - "fixable": true, - "hasSuggestions": false, - "name": "no-extra-parens", - "recommended": false - }, - { - "description": "disallow mixed spaces and tabs for indentation", - "fixable": false, - "hasSuggestions": false, - "name": "no-mixed-spaces-and-tabs", - "recommended": true - }, - { - "description": "disallow multiple spaces", - "fixable": true, - "hasSuggestions": false, - "name": "no-multi-spaces", - "recommended": false - }, - { - "description": "disallow multiple empty lines", - "fixable": true, - "hasSuggestions": false, - "name": "no-multiple-empty-lines", - "recommended": false - }, - { - "description": "disallow all tabs", - "fixable": false, - "hasSuggestions": false, - "name": "no-tabs", - "recommended": false - }, - { - "description": "disallow trailing whitespace at the end of lines", - "fixable": true, - "hasSuggestions": false, - "name": "no-trailing-spaces", - "recommended": false - }, - { - "description": "disallow whitespace before properties", - "fixable": true, - "hasSuggestions": false, - "name": "no-whitespace-before-property", - "recommended": false - }, - { - "description": "enforce the location of single-line statements", - "fixable": true, - "hasSuggestions": false, - "name": "nonblock-statement-body-position", - "recommended": false - }, - { - "description": "enforce consistent line breaks after opening and before closing braces", - "fixable": true, - "hasSuggestions": false, - "name": "object-curly-newline", - "recommended": false - }, - { - "description": "enforce consistent spacing inside braces", - "fixable": true, - "hasSuggestions": false, - "name": "object-curly-spacing", - "recommended": false - }, - { - "description": "enforce placing object properties on separate lines", - "fixable": true, - "hasSuggestions": false, - "name": "object-property-newline", - "recommended": false - }, - { - "description": "enforce consistent linebreak style for operators", - "fixable": true, - "hasSuggestions": false, - "name": "operator-linebreak", - "recommended": false - }, - { - "description": "require or disallow padding within blocks", - "fixable": true, - "hasSuggestions": false, - "name": "padded-blocks", - "recommended": false - }, - { - "description": "require or disallow padding lines between statements", - "fixable": true, - "hasSuggestions": false, - "name": "padding-line-between-statements", - "recommended": false - }, - { - "description": "enforce the consistent use of either backticks, double, or single quotes", - "fixable": true, - "hasSuggestions": false, - "name": "quotes", - "recommended": false - }, - { - "description": "enforce spacing between rest and spread operators and their expressions", - "fixable": true, - "hasSuggestions": false, - "name": "rest-spread-spacing", - "recommended": false - }, - { - "description": "require or disallow semicolons instead of ASI", - "fixable": true, - "hasSuggestions": false, - "name": "semi", - "recommended": false - }, - { - "description": "enforce consistent spacing before and after semicolons", - "fixable": true, - "hasSuggestions": false, - "name": "semi-spacing", - "recommended": false - }, - { - "description": "enforce location of semicolons", - "fixable": true, - "hasSuggestions": false, - "name": "semi-style", - "recommended": false - }, - { - "description": "enforce consistent spacing before blocks", - "fixable": true, - "hasSuggestions": false, - "name": "space-before-blocks", - "recommended": false - }, - { - "description": "enforce consistent spacing before `function` definition opening parenthesis", - "fixable": true, - "hasSuggestions": false, - "name": "space-before-function-paren", - "recommended": false - }, - { - "description": "enforce consistent spacing inside parentheses", - "fixable": true, - "hasSuggestions": false, - "name": "space-in-parens", - "recommended": false - }, - { - "description": "require spacing around infix operators", - "fixable": true, - "hasSuggestions": false, - "name": "space-infix-ops", - "recommended": false - }, - { - "description": "enforce consistent spacing before or after unary operators", - "fixable": true, - "hasSuggestions": false, - "name": "space-unary-ops", - "recommended": false - }, - { - "description": "enforce spacing around colons of switch statements", - "fixable": true, - "hasSuggestions": false, - "name": "switch-colon-spacing", - "recommended": false - }, - { - "description": "require or disallow spacing around embedded expressions of template strings", - "fixable": true, - "hasSuggestions": false, - "name": "template-curly-spacing", - "recommended": false - }, - { - "description": "require or disallow spacing between template tags and their literals", - "fixable": true, - "hasSuggestions": false, - "name": "template-tag-spacing", - "recommended": false - }, - { - "description": "require or disallow Unicode byte order mark (BOM)", - "fixable": true, - "hasSuggestions": false, - "name": "unicode-bom", - "recommended": false - }, - { - "description": "require parentheses around immediate `function` invocations", - "fixable": true, - "hasSuggestions": false, - "name": "wrap-iife", - "recommended": false - }, - { - "description": "require parenthesis around regex literals", - "fixable": true, - "hasSuggestions": false, - "name": "wrap-regex", - "recommended": false - }, - { - "description": "require or disallow spacing around the `*` in `yield*` expressions", - "fixable": true, - "hasSuggestions": false, - "name": "yield-star-spacing", - "recommended": false - } - ] + "removed": { + "name": "Removed", + "description": "These rules from older versions of ESLint (before the deprecation policy existed) have been replaced by newer rules:", + "rules": [ + { + "removed": "generator-star", + "replacedBy": [ + "generator-star-spacing" + ] + }, + { + "removed": "global-strict", + "replacedBy": [ + "strict" + ] + }, + { + "removed": "no-arrow-condition", + "replacedBy": [ + "no-confusing-arrow", + "no-constant-condition" + ] + }, + { + "removed": "no-comma-dangle", + "replacedBy": [ + "comma-dangle" + ] + }, + { + "removed": "no-empty-class", + "replacedBy": [ + "no-empty-character-class" + ] + }, + { + "removed": "no-empty-label", + "replacedBy": [ + "no-labels" + ] + }, + { + "removed": "no-extra-strict", + "replacedBy": [ + "strict" + ] + }, + { + "removed": "no-reserved-keys", + "replacedBy": [ + "quote-props" + ] + }, + { + "removed": "no-space-before-semi", + "replacedBy": [ + "semi-spacing" + ] + }, + { + "removed": "no-wrap-func", + "replacedBy": [ + "no-extra-parens" + ] + }, + { + "removed": "space-after-function-name", + "replacedBy": [ + "space-before-function-paren" + ] + }, + { + "removed": "space-after-keywords", + "replacedBy": [ + "keyword-spacing" + ] + }, + { + "removed": "space-before-function-parentheses", + "replacedBy": [ + "space-before-function-paren" + ] + }, + { + "removed": "space-before-keywords", + "replacedBy": [ + "keyword-spacing" + ] + }, + { + "removed": "space-in-brackets", + "replacedBy": [ + "object-curly-spacing", + "array-bracket-spacing" + ] + }, + { + "removed": "space-return-throw-case", + "replacedBy": [ + "keyword-spacing" + ] + }, + { + "removed": "space-unary-word-ops", + "replacedBy": [ + "space-unary-ops" + ] + }, + { + "removed": "spaced-line-comment", + "replacedBy": [ + "spaced-comment" + ] + } + ] } - ] -} +} \ No newline at end of file diff --git a/docs/src/_data/rules_meta.json b/docs/src/_data/rules_meta.json index e33e569ccad..7984e561278 100644 --- a/docs/src/_data/rules_meta.json +++ b/docs/src/_data/rules_meta.json @@ -5,27 +5,7 @@ "description": "enforce getter and setter pairs in objects and classes", "recommended": false, "url": "https://eslint.org/docs/rules/accessor-pairs" - }, - "schema": [ - { - "type": "object", - "properties": { - "getWithoutSet": { - "type": "boolean", - "default": false - }, - "setWithoutGet": { - "type": "boolean", - "default": true - }, - "enforceForClassMembers": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "array-bracket-newline": { "type": "layout", @@ -34,36 +14,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/array-bracket-newline" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never", - "consistent" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minItems": { - "type": [ - "integer", - "null" - ], - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "array-bracket-spacing": { "type": "layout", @@ -72,30 +23,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/array-bracket-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "singleValue": { - "type": "boolean" - }, - "objectsInArrays": { - "type": "boolean" - }, - "arraysInArrays": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "array-callback-return": { "type": "problem", @@ -103,23 +31,7 @@ "description": "enforce `return` statements in callbacks of array methods", "recommended": false, "url": "https://eslint.org/docs/rules/array-callback-return" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowImplicit": { - "type": "boolean", - "default": false - }, - "checkForEach": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "array-element-newline": { "type": "layout", @@ -128,60 +40,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/array-element-newline" }, - "fixable": "whitespace", - "schema": { - "definitions": { - "basicConfig": { - "oneOf": [ - { - "enum": [ - "always", - "never", - "consistent" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minItems": { - "type": [ - "integer", - "null" - ], - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - }, - "items": [ - { - "oneOf": [ - { - "$ref": "#/definitions/basicConfig" - }, - { - "type": "object", - "properties": { - "ArrayExpression": { - "$ref": "#/definitions/basicConfig" - }, - "ArrayPattern": { - "$ref": "#/definitions/basicConfig" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - } - ] - } + "fixable": "whitespace" }, "arrow-body-style": { "type": "suggestion", @@ -190,44 +49,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/arrow-body-style" }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "never" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "as-needed" - ] - }, - { - "type": "object", - "properties": { - "requireReturnForObjectLiteral": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - }, "fixable": "code" }, "arrow-parens": { @@ -237,25 +58,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/arrow-parens" }, - "fixable": "code", - "schema": [ - { - "enum": [ - "always", - "as-needed" - ] - }, - { - "type": "object", - "properties": { - "requireForBlockBody": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "arrow-spacing": { "type": "layout", @@ -264,23 +67,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/arrow-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "before": { - "type": "boolean", - "default": true - }, - "after": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "block-scoped-var": { "type": "suggestion", @@ -288,8 +75,7 @@ "description": "enforce the use of variables within the scope they are defined", "recommended": false, "url": "https://eslint.org/docs/rules/block-scoped-var" - }, - "schema": [] + } }, "block-spacing": { "type": "layout", @@ -298,15 +84,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/block-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ] + "fixable": "whitespace" }, "brace-style": { "type": "layout", @@ -315,25 +93,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/brace-style" }, - "schema": [ - { - "enum": [ - "1tbs", - "stroustrup", - "allman" - ] - }, - { - "type": "object", - "properties": { - "allowSingleLine": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "whitespace" }, "callback-return": { @@ -344,15 +103,7 @@ "description": "require `return` statements after callbacks", "recommended": false, "url": "https://eslint.org/docs/rules/callback-return" - }, - "schema": [ - { - "type": "array", - "items": { - "type": "string" - } - } - ] + } }, "camelcase": { "type": "suggestion", @@ -360,43 +111,7 @@ "description": "enforce camelcase naming convention", "recommended": false, "url": "https://eslint.org/docs/rules/camelcase" - }, - "schema": [ - { - "type": "object", - "properties": { - "ignoreDestructuring": { - "type": "boolean", - "default": false - }, - "ignoreImports": { - "type": "boolean", - "default": false - }, - "ignoreGlobals": { - "type": "boolean", - "default": false - }, - "properties": { - "enum": [ - "always", - "never" - ] - }, - "allow": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 0, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "capitalized-comments": { "type": "suggestion", @@ -405,70 +120,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/capitalized-comments" }, - "fixable": "code", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "ignorePattern": { - "type": "string" - }, - "ignoreInlineComments": { - "type": "boolean" - }, - "ignoreConsecutiveComments": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "line": { - "type": "object", - "properties": { - "ignorePattern": { - "type": "string" - }, - "ignoreInlineComments": { - "type": "boolean" - }, - "ignoreConsecutiveComments": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "block": { - "type": "object", - "properties": { - "ignorePattern": { - "type": "string" - }, - "ignoreInlineComments": { - "type": "boolean" - }, - "ignoreConsecutiveComments": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "code" }, "class-methods-use-this": { "type": "suggestion", @@ -476,25 +128,7 @@ "description": "enforce that class methods utilize `this`", "recommended": false, "url": "https://eslint.org/docs/rules/class-methods-use-this" - }, - "schema": [ - { - "type": "object", - "properties": { - "exceptMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "enforceForClassFields": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "comma-dangle": { "type": "layout", @@ -503,60 +137,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/comma-dangle" }, - "fixable": "code", - "schema": { - "definitions": { - "value": { - "enum": [ - "always-multiline", - "always", - "never", - "only-multiline" - ] - }, - "valueWithIgnore": { - "enum": [ - "always-multiline", - "always", - "ignore", - "never", - "only-multiline" - ] - } - }, - "type": "array", - "items": [ - { - "oneOf": [ - { - "$ref": "#/definitions/value" - }, - { - "type": "object", - "properties": { - "arrays": { - "$ref": "#/definitions/valueWithIgnore" - }, - "objects": { - "$ref": "#/definitions/valueWithIgnore" - }, - "imports": { - "$ref": "#/definitions/valueWithIgnore" - }, - "exports": { - "$ref": "#/definitions/valueWithIgnore" - }, - "functions": { - "$ref": "#/definitions/valueWithIgnore" - } - }, - "additionalProperties": false - } - ] - } - ], - "additionalItems": false - } + "fixable": "code" }, "comma-spacing": { "type": "layout", @@ -565,23 +146,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/comma-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "before": { - "type": "boolean", - "default": false - }, - "after": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "comma-style": { "type": "layout", @@ -590,27 +155,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/comma-style" }, - "fixable": "code", - "schema": [ - { - "enum": [ - "first", - "last" - ] - }, - { - "type": "object", - "properties": { - "exceptions": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "complexity": { "type": "suggestion", @@ -618,31 +163,7 @@ "description": "enforce a maximum cyclomatic complexity allowed in a program", "recommended": false, "url": "https://eslint.org/docs/rules/complexity" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "maximum": { - "type": "integer", - "minimum": 0 - }, - "max": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "computed-property-spacing": { "type": "layout", @@ -651,25 +172,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/computed-property-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "enforceForClassMembers": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "consistent-return": { "type": "suggestion", @@ -677,19 +180,7 @@ "description": "require `return` statements to either always or never specify values", "recommended": false, "url": "https://eslint.org/docs/rules/consistent-return" - }, - "schema": [ - { - "type": "object", - "properties": { - "treatUndefinedAsUnspecified": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "consistent-this": { "type": "suggestion", @@ -697,14 +188,6 @@ "description": "enforce consistent naming when capturing the current execution context", "recommended": false, "url": "https://eslint.org/docs/rules/consistent-this" - }, - "schema": { - "type": "array", - "items": { - "type": "string", - "minLength": 1 - }, - "uniqueItems": true } }, "constructor-super": { @@ -713,8 +196,7 @@ "description": "require `super()` calls in constructors", "recommended": true, "url": "https://eslint.org/docs/rules/constructor-super" - }, - "schema": [] + } }, "curly": { "type": "suggestion", @@ -723,41 +205,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/curly" }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "all" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "multi", - "multi-line", - "multi-or-nest" - ] - }, - { - "enum": [ - "consistent" - ] - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - }, "fixable": "code" }, "default-case": { @@ -766,18 +213,7 @@ "description": "require `default` cases in `switch` statements", "recommended": false, "url": "https://eslint.org/docs/rules/default-case" - }, - "schema": [ - { - "type": "object", - "properties": { - "commentPattern": { - "type": "string" - } - }, - "additionalProperties": false - } - ] + } }, "default-case-last": { "type": "suggestion", @@ -785,8 +221,7 @@ "description": "enforce default clauses in switch statements to be last", "recommended": false, "url": "https://eslint.org/docs/rules/default-case-last" - }, - "schema": [] + } }, "default-param-last": { "type": "suggestion", @@ -794,8 +229,7 @@ "description": "enforce default parameters to be last", "recommended": false, "url": "https://eslint.org/docs/rules/default-param-last" - }, - "schema": [] + } }, "dot-location": { "type": "layout", @@ -804,14 +238,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/dot-location" }, - "schema": [ - { - "enum": [ - "object", - "property" - ] - } - ], "fixable": "code" }, "dot-notation": { @@ -821,22 +247,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/dot-notation" }, - "schema": [ - { - "type": "object", - "properties": { - "allowKeywords": { - "type": "boolean", - "default": true - }, - "allowPattern": { - "type": "string", - "default": "" - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "eol-last": { @@ -846,17 +256,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/eol-last" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never", - "unix", - "windows" - ] - } - ] + "fixable": "whitespace" }, "eqeqeq": { "type": "suggestion", @@ -865,46 +265,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/eqeqeq" }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always" - ] - }, - { - "type": "object", - "properties": { - "null": { - "enum": [ - "always", - "never", - "ignore" - ] - } - }, - "additionalProperties": false - } - ], - "additionalItems": false - }, - { - "type": "array", - "items": [ - { - "enum": [ - "smart", - "allow-null" - ] - } - ], - "additionalItems": false - } - ] - }, "fixable": "code" }, "for-direction": { @@ -914,8 +274,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/for-direction" }, - "fixable": null, - "schema": [] + "fixable": null }, "func-call-spacing": { "type": "layout", @@ -924,44 +283,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/func-call-spacing" }, - "fixable": "whitespace", - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "never" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "always" - ] - }, - { - "type": "object", - "properties": { - "allowNewlines": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - } + "fixable": "whitespace" }, "func-name-matching": { "type": "suggestion", @@ -969,52 +291,6 @@ "description": "require function names to match the name of the variable or property to which they are assigned", "recommended": false, "url": "https://eslint.org/docs/rules/func-name-matching" - }, - "schema": { - "anyOf": [ - { - "type": "array", - "additionalItems": false, - "items": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "considerPropertyDescriptor": { - "type": "boolean" - }, - "includeCommonJSModuleExports": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - { - "type": "array", - "additionalItems": false, - "items": [ - { - "type": "object", - "properties": { - "considerPropertyDescriptor": { - "type": "boolean" - }, - "includeCommonJSModuleExports": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] } }, "func-names": { @@ -1023,31 +299,6 @@ "description": "require or disallow named `function` expressions", "recommended": false, "url": "https://eslint.org/docs/rules/func-names" - }, - "schema": { - "definitions": { - "value": { - "enum": [ - "always", - "as-needed", - "never" - ] - } - }, - "items": [ - { - "$ref": "#/definitions/value" - }, - { - "type": "object", - "properties": { - "generators": { - "$ref": "#/definitions/value" - } - }, - "additionalProperties": false - } - ] } }, "func-style": { @@ -1056,25 +307,7 @@ "description": "enforce the consistent use of either `function` declarations or expressions", "recommended": false, "url": "https://eslint.org/docs/rules/func-style" - }, - "schema": [ - { - "enum": [ - "declaration", - "expression" - ] - }, - { - "type": "object", - "properties": { - "allowArrowFunctions": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "function-call-argument-newline": { "type": "layout", @@ -1083,16 +316,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/function-call-argument-newline" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never", - "consistent" - ] - } - ] + "fixable": "whitespace" }, "function-paren-newline": { "type": "layout", @@ -1101,32 +325,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/function-paren-newline" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never", - "consistent", - "multiline", - "multiline-arguments" - ] - }, - { - "type": "object", - "properties": { - "minItems": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "generator-star-spacing": { "type": "layout", @@ -1135,105 +334,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/generator-star-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "before", - "after", - "both", - "neither" - ] - }, - { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - }, - "named": { - "oneOf": [ - { - "enum": [ - "before", - "after", - "both", - "neither" - ] - }, - { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - "anonymous": { - "oneOf": [ - { - "enum": [ - "before", - "after", - "both", - "neither" - ] - }, - { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - "method": { - "oneOf": [ - { - "enum": [ - "before", - "after", - "both", - "neither" - ] - }, - { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "getter-return": { "type": "problem", @@ -1242,19 +343,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/getter-return" }, - "fixable": null, - "schema": [ - { - "type": "object", - "properties": { - "allowImplicit": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": null }, "global-require": { "deprecated": true, @@ -1264,8 +353,7 @@ "description": "require `require()` calls to be placed at top-level module scope", "recommended": false, "url": "https://eslint.org/docs/rules/global-require" - }, - "schema": [] + } }, "grouped-accessor-pairs": { "type": "suggestion", @@ -1273,16 +361,7 @@ "description": "require grouped accessor pairs in object literals and classes", "recommended": false, "url": "https://eslint.org/docs/rules/grouped-accessor-pairs" - }, - "schema": [ - { - "enum": [ - "anyOrder", - "getBeforeSet", - "setBeforeGet" - ] - } - ] + } }, "guard-for-in": { "type": "suggestion", @@ -1290,8 +369,7 @@ "description": "require `for-in` loops to include an `if` statement", "recommended": false, "url": "https://eslint.org/docs/rules/guard-for-in" - }, - "schema": [] + } }, "handle-callback-err": { "deprecated": true, @@ -1301,12 +379,7 @@ "description": "require error handling in callbacks", "recommended": false, "url": "https://eslint.org/docs/rules/handle-callback-err" - }, - "schema": [ - { - "type": "string" - } - ] + } }, "id-blacklist": { "deprecated": true, @@ -1318,13 +391,6 @@ "description": "disallow specified identifiers", "recommended": false, "url": "https://eslint.org/docs/rules/id-blacklist" - }, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true } }, "id-denylist": { @@ -1333,13 +399,6 @@ "description": "disallow specified identifiers", "recommended": false, "url": "https://eslint.org/docs/rules/id-denylist" - }, - "schema": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true } }, "id-length": { @@ -1348,42 +407,7 @@ "description": "enforce minimum and maximum identifier lengths", "recommended": false, "url": "https://eslint.org/docs/rules/id-length" - }, - "schema": [ - { - "type": "object", - "properties": { - "min": { - "type": "integer", - "default": 2 - }, - "max": { - "type": "integer" - }, - "exceptions": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "exceptionPatterns": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "properties": { - "enum": [ - "always", - "never" - ] - } - }, - "additionalProperties": false - } - ] + } }, "id-match": { "type": "suggestion", @@ -1391,34 +415,7 @@ "description": "require identifiers to match a specified regular expression", "recommended": false, "url": "https://eslint.org/docs/rules/id-match" - }, - "schema": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "properties": { - "type": "boolean", - "default": false - }, - "classFields": { - "type": "boolean", - "default": false - }, - "onlyDeclarations": { - "type": "boolean", - "default": false - }, - "ignoreDestructuring": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "implicit-arrow-linebreak": { "type": "layout", @@ -1427,15 +424,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/implicit-arrow-linebreak" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "beside", - "below" - ] - } - ] + "fixable": "whitespace" }, "indent": { "type": "layout", @@ -1444,266 +433,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/indent" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "tab" - ] - }, - { - "type": "integer", - "minimum": 0 - } - ] - }, - { - "type": "object", - "properties": { - "SwitchCase": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "VariableDeclarator": { - "oneOf": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - { - "type": "object", - "properties": { - "var": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "let": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "const": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - } - }, - "additionalProperties": false - } - ] - }, - "outerIIFEBody": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "off" - ] - } - ] - }, - "MemberExpression": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "off" - ] - } - ] - }, - "FunctionDeclaration": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "body": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - }, - "FunctionExpression": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "body": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - }, - "StaticBlock": { - "type": "object", - "properties": { - "body": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - }, - "CallExpression": { - "type": "object", - "properties": { - "arguments": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - } - }, - "additionalProperties": false - }, - "ArrayExpression": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "ObjectExpression": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "ImportDeclaration": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first", - "off" - ] - } - ] - }, - "flatTernaryExpressions": { - "type": "boolean", - "default": false - }, - "offsetTernaryExpressions": { - "type": "boolean", - "default": false - }, - "ignoredNodes": { - "type": "array", - "items": { - "type": "string", - "not": { - "pattern": ":exit$" - } - } - }, - "ignoreComments": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "indent-legacy": { "type": "layout", @@ -1716,153 +446,7 @@ "replacedBy": [ "indent" ], - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "tab" - ] - }, - { - "type": "integer", - "minimum": 0 - } - ] - }, - { - "type": "object", - "properties": { - "SwitchCase": { - "type": "integer", - "minimum": 0 - }, - "VariableDeclarator": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "var": { - "type": "integer", - "minimum": 0 - }, - "let": { - "type": "integer", - "minimum": 0 - }, - "const": { - "type": "integer", - "minimum": 0 - } - } - } - ] - }, - "outerIIFEBody": { - "type": "integer", - "minimum": 0 - }, - "MemberExpression": { - "type": "integer", - "minimum": 0 - }, - "FunctionDeclaration": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first" - ] - } - ] - }, - "body": { - "type": "integer", - "minimum": 0 - } - } - }, - "FunctionExpression": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first" - ] - } - ] - }, - "body": { - "type": "integer", - "minimum": 0 - } - } - }, - "CallExpression": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first" - ] - } - ] - } - } - }, - "ArrayExpression": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first" - ] - } - ] - }, - "ObjectExpression": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "enum": [ - "first" - ] - } - ] - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "init-declarations": { "type": "suggestion", @@ -1870,43 +454,6 @@ "description": "require or disallow initialization in variable declarations", "recommended": false, "url": "https://eslint.org/docs/rules/init-declarations" - }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "never" - ] - }, - { - "type": "object", - "properties": { - "ignoreForLoopInit": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] } }, "jsx-quotes": { @@ -1916,15 +463,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/jsx-quotes" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "prefer-single", - "prefer-double" - ] - } - ] + "fixable": "whitespace" }, "key-spacing": { "type": "layout", @@ -1933,207 +472,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/key-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "anyOf": [ - { - "type": "object", - "properties": { - "align": { - "anyOf": [ - { - "enum": [ - "colon", - "value" - ] - }, - { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "on": { - "enum": [ - "colon", - "value" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "singleLine": { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "multiLine": { - "type": "object", - "properties": { - "align": { - "anyOf": [ - { - "enum": [ - "colon", - "value" - ] - }, - { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "on": { - "enum": [ - "colon", - "value" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "singleLine": { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "multiLine": { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "align": { - "type": "object", - "properties": { - "mode": { - "enum": [ - "strict", - "minimum" - ] - }, - "on": { - "enum": [ - "colon", - "value" - ] - }, - "beforeColon": { - "type": "boolean" - }, - "afterColon": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "keyword-spacing": { "type": "layout", @@ -2142,845 +481,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/keyword-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "before": { - "type": "boolean", - "default": true - }, - "after": { - "type": "boolean", - "default": true - }, - "overrides": { - "type": "object", - "properties": { - "abstract": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "as": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "async": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "await": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "boolean": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "break": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "byte": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "case": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "catch": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "char": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "class": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "const": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "continue": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "debugger": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "default": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "delete": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "do": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "double": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "else": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "enum": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "export": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "extends": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "false": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "final": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "finally": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "float": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "for": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "from": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "function": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "get": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "goto": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "if": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "implements": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "import": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "in": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "instanceof": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "int": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "interface": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "let": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "long": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "native": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "new": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "null": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "of": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "package": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "private": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "protected": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "public": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "return": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "set": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "short": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "static": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "super": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "switch": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "synchronized": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "this": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "throw": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "throws": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "transient": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "true": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "try": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "typeof": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "var": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "void": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "volatile": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "while": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "with": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "yield": { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "line-comment-position": { "type": "layout", @@ -2988,40 +489,7 @@ "description": "enforce position of line comments", "recommended": false, "url": "https://eslint.org/docs/rules/line-comment-position" - }, - "schema": [ - { - "oneOf": [ - { - "enum": [ - "above", - "beside" - ] - }, - { - "type": "object", - "properties": { - "position": { - "enum": [ - "above", - "beside" - ] - }, - "ignorePattern": { - "type": "string" - }, - "applyDefaultPatterns": { - "type": "boolean" - }, - "applyDefaultIgnorePatterns": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "linebreak-style": { "type": "layout", @@ -3030,15 +498,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/linebreak-style" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "unix", - "windows" - ] - } - ] + "fixable": "whitespace" }, "lines-around-comment": { "type": "layout", @@ -3047,63 +507,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/lines-around-comment" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "beforeBlockComment": { - "type": "boolean", - "default": true - }, - "afterBlockComment": { - "type": "boolean", - "default": false - }, - "beforeLineComment": { - "type": "boolean", - "default": false - }, - "afterLineComment": { - "type": "boolean", - "default": false - }, - "allowBlockStart": { - "type": "boolean", - "default": false - }, - "allowBlockEnd": { - "type": "boolean", - "default": false - }, - "allowClassStart": { - "type": "boolean" - }, - "allowClassEnd": { - "type": "boolean" - }, - "allowObjectStart": { - "type": "boolean" - }, - "allowObjectEnd": { - "type": "boolean" - }, - "allowArrayStart": { - "type": "boolean" - }, - "allowArrayEnd": { - "type": "boolean" - }, - "ignorePattern": { - "type": "string" - }, - "applyDefaultIgnorePatterns": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "lines-around-directive": { "type": "layout", @@ -3112,37 +516,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/lines-around-directive" }, - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "before": { - "enum": [ - "always", - "never" - ] - }, - "after": { - "enum": [ - "always", - "never" - ] - } - }, - "additionalProperties": false, - "minProperties": 2 - } - ] - } - ], "fixable": "whitespace", "deprecated": true, "replacedBy": [ @@ -3156,25 +529,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/lines-between-class-members" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "exceptAfterSingleLine": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "max-classes-per-file": { "type": "suggestion", @@ -3182,30 +537,7 @@ "description": "enforce a maximum number of classes per file", "recommended": false, "url": "https://eslint.org/docs/rules/max-classes-per-file" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 1 - }, - { - "type": "object", - "properties": { - "ignoreExpressions": { - "type": "boolean" - }, - "max": { - "type": "integer", - "minimum": 1 - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "max-depth": { "type": "suggestion", @@ -3213,31 +545,7 @@ "description": "enforce a maximum depth that blocks can be nested", "recommended": false, "url": "https://eslint.org/docs/rules/max-depth" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "maximum": { - "type": "integer", - "minimum": 0 - }, - "max": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "max-len": { "type": "layout", @@ -3245,142 +553,7 @@ "description": "enforce a maximum line length", "recommended": false, "url": "https://eslint.org/docs/rules/max-len" - }, - "schema": [ - { - "anyOf": [ - { - "type": "object", - "properties": { - "code": { - "type": "integer", - "minimum": 0 - }, - "comments": { - "type": "integer", - "minimum": 0 - }, - "tabWidth": { - "type": "integer", - "minimum": 0 - }, - "ignorePattern": { - "type": "string" - }, - "ignoreComments": { - "type": "boolean" - }, - "ignoreStrings": { - "type": "boolean" - }, - "ignoreUrls": { - "type": "boolean" - }, - "ignoreTemplateLiterals": { - "type": "boolean" - }, - "ignoreRegExpLiterals": { - "type": "boolean" - }, - "ignoreTrailingComments": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - { - "type": "integer", - "minimum": 0 - } - ] - }, - { - "anyOf": [ - { - "type": "object", - "properties": { - "code": { - "type": "integer", - "minimum": 0 - }, - "comments": { - "type": "integer", - "minimum": 0 - }, - "tabWidth": { - "type": "integer", - "minimum": 0 - }, - "ignorePattern": { - "type": "string" - }, - "ignoreComments": { - "type": "boolean" - }, - "ignoreStrings": { - "type": "boolean" - }, - "ignoreUrls": { - "type": "boolean" - }, - "ignoreTemplateLiterals": { - "type": "boolean" - }, - "ignoreRegExpLiterals": { - "type": "boolean" - }, - "ignoreTrailingComments": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - { - "type": "integer", - "minimum": 0 - } - ] - }, - { - "type": "object", - "properties": { - "code": { - "type": "integer", - "minimum": 0 - }, - "comments": { - "type": "integer", - "minimum": 0 - }, - "tabWidth": { - "type": "integer", - "minimum": 0 - }, - "ignorePattern": { - "type": "string" - }, - "ignoreComments": { - "type": "boolean" - }, - "ignoreStrings": { - "type": "boolean" - }, - "ignoreUrls": { - "type": "boolean" - }, - "ignoreTemplateLiterals": { - "type": "boolean" - }, - "ignoreRegExpLiterals": { - "type": "boolean" - }, - "ignoreTrailingComments": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + } }, "max-lines": { "type": "suggestion", @@ -3388,33 +561,7 @@ "description": "enforce a maximum number of lines per file", "recommended": false, "url": "https://eslint.org/docs/rules/max-lines" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "max": { - "type": "integer", - "minimum": 0 - }, - "skipComments": { - "type": "boolean" - }, - "skipBlankLines": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "max-lines-per-function": { "type": "suggestion", @@ -3422,36 +569,7 @@ "description": "enforce a maximum number of lines of code in a function", "recommended": false, "url": "https://eslint.org/docs/rules/max-lines-per-function" - }, - "schema": [ - { - "oneOf": [ - { - "type": "object", - "properties": { - "max": { - "type": "integer", - "minimum": 0 - }, - "skipComments": { - "type": "boolean" - }, - "skipBlankLines": { - "type": "boolean" - }, - "IIFEs": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - { - "type": "integer", - "minimum": 1 - } - ] - } - ] + } }, "max-nested-callbacks": { "type": "suggestion", @@ -3459,31 +577,7 @@ "description": "enforce a maximum depth that callbacks can be nested", "recommended": false, "url": "https://eslint.org/docs/rules/max-nested-callbacks" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "maximum": { - "type": "integer", - "minimum": 0 - }, - "max": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "max-params": { "type": "suggestion", @@ -3491,31 +585,7 @@ "description": "enforce a maximum number of parameters in function definitions", "recommended": false, "url": "https://eslint.org/docs/rules/max-params" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "maximum": { - "type": "integer", - "minimum": 0 - }, - "max": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "max-statements": { "type": "suggestion", @@ -3523,40 +593,7 @@ "description": "enforce a maximum number of statements allowed in function blocks", "recommended": false, "url": "https://eslint.org/docs/rules/max-statements" - }, - "schema": [ - { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "object", - "properties": { - "maximum": { - "type": "integer", - "minimum": 0 - }, - "max": { - "type": "integer", - "minimum": 0 - } - }, - "additionalProperties": false - } - ] - }, - { - "type": "object", - "properties": { - "ignoreTopLevelFunctions": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + } }, "max-statements-per-line": { "type": "layout", @@ -3564,20 +601,7 @@ "description": "enforce a maximum number of statements allowed per line", "recommended": false, "url": "https://eslint.org/docs/rules/max-statements-per-line" - }, - "schema": [ - { - "type": "object", - "properties": { - "max": { - "type": "integer", - "minimum": 1, - "default": 1 - } - }, - "additionalProperties": false - } - ] + } }, "multiline-comment-style": { "type": "suggestion", @@ -3586,16 +610,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/multiline-comment-style" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "starred-block", - "separate-lines", - "bare-block" - ] - } - ] + "fixable": "whitespace" }, "multiline-ternary": { "type": "layout", @@ -3604,15 +619,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/multiline-ternary" }, - "schema": [ - { - "enum": [ - "always", - "always-multiline", - "never" - ] - } - ], "fixable": "whitespace" }, "new-cap": { @@ -3621,45 +627,7 @@ "description": "require constructor names to begin with a capital letter", "recommended": false, "url": "https://eslint.org/docs/rules/new-cap" - }, - "schema": [ - { - "type": "object", - "properties": { - "newIsCap": { - "type": "boolean", - "default": true - }, - "capIsNew": { - "type": "boolean", - "default": true - }, - "newIsCapExceptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "newIsCapExceptionPattern": { - "type": "string" - }, - "capIsNewExceptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "capIsNewExceptionPattern": { - "type": "string" - }, - "properties": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "new-parens": { "type": "layout", @@ -3668,24 +636,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/new-parens" }, - "fixable": "code", - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "never" - ] - } - ], - "minItems": 0, - "maxItems": 1 - } - ] - } + "fixable": "code" }, "newline-after-var": { "type": "layout", @@ -3694,14 +645,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/newline-after-var" }, - "schema": [ - { - "enum": [ - "never", - "always" - ] - } - ], "fixable": "whitespace", "deprecated": true, "replacedBy": [ @@ -3716,7 +659,6 @@ "url": "https://eslint.org/docs/rules/newline-before-return" }, "fixable": "whitespace", - "schema": [], "deprecated": true, "replacedBy": [ "padding-line-between-statements" @@ -3729,21 +671,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/newline-per-chained-call" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "ignoreChainWithDepth": { - "type": "integer", - "minimum": 1, - "maximum": 10, - "default": 2 - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "no-alert": { "type": "suggestion", @@ -3751,8 +679,7 @@ "description": "disallow the use of `alert`, `confirm`, and `prompt`", "recommended": false, "url": "https://eslint.org/docs/rules/no-alert" - }, - "schema": [] + } }, "no-array-constructor": { "type": "suggestion", @@ -3760,8 +687,7 @@ "description": "disallow `Array` constructors", "recommended": false, "url": "https://eslint.org/docs/rules/no-array-constructor" - }, - "schema": [] + } }, "no-async-promise-executor": { "type": "problem", @@ -3770,8 +696,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-async-promise-executor" }, - "fixable": null, - "schema": [] + "fixable": null }, "no-await-in-loop": { "type": "problem", @@ -3779,8 +704,7 @@ "description": "disallow `await` inside of loops", "recommended": false, "url": "https://eslint.org/docs/rules/no-await-in-loop" - }, - "schema": [] + } }, "no-bitwise": { "type": "suggestion", @@ -3788,40 +712,7 @@ "description": "disallow bitwise operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-bitwise" - }, - "schema": [ - { - "type": "object", - "properties": { - "allow": { - "type": "array", - "items": { - "enum": [ - "^", - "|", - "&", - "<<", - ">>", - ">>>", - "^=", - "|=", - "&=", - "<<=", - ">>=", - ">>>=", - "~" - ] - }, - "uniqueItems": true - }, - "int32Hint": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-buffer-constructor": { "deprecated": true, @@ -3831,8 +722,7 @@ "description": "disallow use of the `Buffer()` constructor", "recommended": false, "url": "https://eslint.org/docs/rules/no-buffer-constructor" - }, - "schema": [] + } }, "no-caller": { "type": "suggestion", @@ -3840,8 +730,7 @@ "description": "disallow the use of `arguments.caller` or `arguments.callee`", "recommended": false, "url": "https://eslint.org/docs/rules/no-caller" - }, - "schema": [] + } }, "no-case-declarations": { "type": "suggestion", @@ -3849,8 +738,7 @@ "description": "disallow lexical declarations in case clauses", "recommended": true, "url": "https://eslint.org/docs/rules/no-case-declarations" - }, - "schema": [] + } }, "no-catch-shadow": { "type": "suggestion", @@ -3862,8 +750,7 @@ "replacedBy": [ "no-shadow" ], - "deprecated": true, - "schema": [] + "deprecated": true }, "no-class-assign": { "type": "problem", @@ -3871,8 +758,7 @@ "description": "disallow reassigning class members", "recommended": true, "url": "https://eslint.org/docs/rules/no-class-assign" - }, - "schema": [] + } }, "no-compare-neg-zero": { "type": "problem", @@ -3881,8 +767,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-compare-neg-zero" }, - "fixable": null, - "schema": [] + "fixable": null }, "no-cond-assign": { "type": "problem", @@ -3890,15 +775,7 @@ "description": "disallow assignment operators in conditional expressions", "recommended": true, "url": "https://eslint.org/docs/rules/no-cond-assign" - }, - "schema": [ - { - "enum": [ - "except-parens", - "always" - ] - } - ] + } }, "no-confusing-arrow": { "type": "suggestion", @@ -3907,23 +784,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-confusing-arrow" }, - "fixable": "code", - "schema": [ - { - "type": "object", - "properties": { - "allowParens": { - "type": "boolean", - "default": true - }, - "onlyOneSimpleParam": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "no-console": { "type": "suggestion", @@ -3931,23 +792,7 @@ "description": "disallow the use of `console`", "recommended": false, "url": "https://eslint.org/docs/rules/no-console" - }, - "schema": [ - { - "type": "object", - "properties": { - "allow": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-const-assign": { "type": "problem", @@ -3955,8 +800,7 @@ "description": "disallow reassigning `const` variables", "recommended": true, "url": "https://eslint.org/docs/rules/no-const-assign" - }, - "schema": [] + } }, "no-constant-binary-expression": { "type": "problem", @@ -3964,8 +808,7 @@ "description": "disallow expressions where the operation doesn't affect the value", "recommended": false, "url": "https://eslint.org/docs/rules/no-constant-binary-expression" - }, - "schema": [] + } }, "no-constant-condition": { "type": "problem", @@ -3973,19 +816,7 @@ "description": "disallow constant expressions in conditions", "recommended": true, "url": "https://eslint.org/docs/rules/no-constant-condition" - }, - "schema": [ - { - "type": "object", - "properties": { - "checkLoops": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-constructor-return": { "type": "problem", @@ -3994,7 +825,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-constructor-return" }, - "schema": {}, "fixable": null }, "no-continue": { @@ -4003,8 +833,7 @@ "description": "disallow `continue` statements", "recommended": false, "url": "https://eslint.org/docs/rules/no-continue" - }, - "schema": [] + } }, "no-control-regex": { "type": "problem", @@ -4012,8 +841,7 @@ "description": "disallow control characters in regular expressions", "recommended": true, "url": "https://eslint.org/docs/rules/no-control-regex" - }, - "schema": [] + } }, "no-debugger": { "type": "problem", @@ -4022,8 +850,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-debugger" }, - "fixable": null, - "schema": [] + "fixable": null }, "no-delete-var": { "type": "suggestion", @@ -4031,8 +858,7 @@ "description": "disallow deleting variables", "recommended": true, "url": "https://eslint.org/docs/rules/no-delete-var" - }, - "schema": [] + } }, "no-div-regex": { "type": "suggestion", @@ -4041,8 +867,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-div-regex" }, - "fixable": "code", - "schema": [] + "fixable": "code" }, "no-dupe-args": { "type": "problem", @@ -4050,8 +875,7 @@ "description": "disallow duplicate arguments in `function` definitions", "recommended": true, "url": "https://eslint.org/docs/rules/no-dupe-args" - }, - "schema": [] + } }, "no-dupe-class-members": { "type": "problem", @@ -4059,8 +883,7 @@ "description": "disallow duplicate class members", "recommended": true, "url": "https://eslint.org/docs/rules/no-dupe-class-members" - }, - "schema": [] + } }, "no-dupe-else-if": { "type": "problem", @@ -4068,8 +891,7 @@ "description": "disallow duplicate conditions in if-else-if chains", "recommended": true, "url": "https://eslint.org/docs/rules/no-dupe-else-if" - }, - "schema": [] + } }, "no-dupe-keys": { "type": "problem", @@ -4077,8 +899,7 @@ "description": "disallow duplicate keys in object literals", "recommended": true, "url": "https://eslint.org/docs/rules/no-dupe-keys" - }, - "schema": [] + } }, "no-duplicate-case": { "type": "problem", @@ -4086,8 +907,7 @@ "description": "disallow duplicate case labels", "recommended": true, "url": "https://eslint.org/docs/rules/no-duplicate-case" - }, - "schema": [] + } }, "no-duplicate-imports": { "type": "problem", @@ -4095,19 +915,7 @@ "description": "disallow duplicate module imports", "recommended": false, "url": "https://eslint.org/docs/rules/no-duplicate-imports" - }, - "schema": [ - { - "type": "object", - "properties": { - "includeExports": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-else-return": { "type": "suggestion", @@ -4116,18 +924,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-else-return" }, - "schema": [ - { - "type": "object", - "properties": { - "allowElseIf": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "no-empty": { @@ -4136,19 +932,7 @@ "description": "disallow empty block statements", "recommended": true, "url": "https://eslint.org/docs/rules/no-empty" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowEmptyCatch": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-empty-character-class": { "type": "problem", @@ -4156,8 +940,7 @@ "description": "disallow empty character classes in regular expressions", "recommended": true, "url": "https://eslint.org/docs/rules/no-empty-character-class" - }, - "schema": [] + } }, "no-empty-function": { "type": "suggestion", @@ -4165,33 +948,7 @@ "description": "disallow empty functions", "recommended": false, "url": "https://eslint.org/docs/rules/no-empty-function" - }, - "schema": [ - { - "type": "object", - "properties": { - "allow": { - "type": "array", - "items": { - "enum": [ - "functions", - "arrowFunctions", - "generatorFunctions", - "methods", - "generatorMethods", - "getters", - "setters", - "constructors", - "asyncFunctions", - "asyncMethods" - ] - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-empty-pattern": { "type": "problem", @@ -4199,8 +956,7 @@ "description": "disallow empty destructuring patterns", "recommended": true, "url": "https://eslint.org/docs/rules/no-empty-pattern" - }, - "schema": [] + } }, "no-eq-null": { "type": "suggestion", @@ -4208,8 +964,7 @@ "description": "disallow `null` comparisons without type-checking operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-eq-null" - }, - "schema": [] + } }, "no-eval": { "type": "suggestion", @@ -4217,19 +972,7 @@ "description": "disallow the use of `eval()`", "recommended": false, "url": "https://eslint.org/docs/rules/no-eval" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowIndirect": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-ex-assign": { "type": "problem", @@ -4237,8 +980,7 @@ "description": "disallow reassigning exceptions in `catch` clauses", "recommended": true, "url": "https://eslint.org/docs/rules/no-ex-assign" - }, - "schema": [] + } }, "no-extend-native": { "type": "suggestion", @@ -4246,22 +988,7 @@ "description": "disallow extending native types", "recommended": false, "url": "https://eslint.org/docs/rules/no-extend-native" - }, - "schema": [ - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-extra-bind": { "type": "suggestion", @@ -4270,7 +997,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-extra-bind" }, - "schema": [], "fixable": "code" }, "no-extra-boolean-cast": { @@ -4280,18 +1006,6 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-extra-boolean-cast" }, - "schema": [ - { - "type": "object", - "properties": { - "enforceForLogicalOperands": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "no-extra-label": { @@ -4301,7 +1015,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-extra-label" }, - "schema": [], "fixable": "code" }, "no-extra-parens": { @@ -4311,70 +1024,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-extra-parens" }, - "fixable": "code", - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "functions" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "all" - ] - }, - { - "type": "object", - "properties": { - "conditionalAssign": { - "type": "boolean" - }, - "nestedBinaryExpressions": { - "type": "boolean" - }, - "returnAssign": { - "type": "boolean" - }, - "ignoreJSX": { - "enum": [ - "none", - "all", - "single-line", - "multi-line" - ] - }, - "enforceForArrowConditionals": { - "type": "boolean" - }, - "enforceForSequenceExpressions": { - "type": "boolean" - }, - "enforceForNewInMemberExpressions": { - "type": "boolean" - }, - "enforceForFunctionPrototypeMethods": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - } + "fixable": "code" }, "no-extra-semi": { "type": "suggestion", @@ -4383,8 +1033,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-extra-semi" }, - "fixable": "code", - "schema": [] + "fixable": "code" }, "no-fallthrough": { "type": "problem", @@ -4392,19 +1041,7 @@ "description": "disallow fallthrough of `case` statements", "recommended": true, "url": "https://eslint.org/docs/rules/no-fallthrough" - }, - "schema": [ - { - "type": "object", - "properties": { - "commentPattern": { - "type": "string", - "default": "" - } - }, - "additionalProperties": false - } - ] + } }, "no-floating-decimal": { "type": "suggestion", @@ -4413,7 +1050,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-floating-decimal" }, - "schema": [], "fixable": "code" }, "no-func-assign": { @@ -4422,8 +1058,7 @@ "description": "disallow reassigning `function` declarations", "recommended": true, "url": "https://eslint.org/docs/rules/no-func-assign" - }, - "schema": [] + } }, "no-global-assign": { "type": "suggestion", @@ -4431,22 +1066,7 @@ "description": "disallow assignments to native objects or read-only global variables", "recommended": true, "url": "https://eslint.org/docs/rules/no-global-assign" - }, - "schema": [ - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-implicit-coercion": { "type": "suggestion", @@ -4455,43 +1075,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-implicit-coercion" }, - "fixable": "code", - "schema": [ - { - "type": "object", - "properties": { - "boolean": { - "type": "boolean", - "default": true - }, - "number": { - "type": "boolean", - "default": true - }, - "string": { - "type": "boolean", - "default": true - }, - "disallowTemplateShorthand": { - "type": "boolean", - "default": false - }, - "allow": { - "type": "array", - "items": { - "enum": [ - "~", - "!!", - "+", - "*" - ] - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "no-implicit-globals": { "type": "suggestion", @@ -4499,19 +1083,7 @@ "description": "disallow declarations in the global scope", "recommended": false, "url": "https://eslint.org/docs/rules/no-implicit-globals" - }, - "schema": [ - { - "type": "object", - "properties": { - "lexicalBindings": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-implied-eval": { "type": "suggestion", @@ -4519,8 +1091,7 @@ "description": "disallow the use of `eval()`-like methods", "recommended": false, "url": "https://eslint.org/docs/rules/no-implied-eval" - }, - "schema": [] + } }, "no-import-assign": { "type": "problem", @@ -4528,8 +1099,7 @@ "description": "disallow assigning to imported bindings", "recommended": true, "url": "https://eslint.org/docs/rules/no-import-assign" - }, - "schema": [] + } }, "no-inline-comments": { "type": "suggestion", @@ -4537,18 +1107,7 @@ "description": "disallow inline comments after code", "recommended": false, "url": "https://eslint.org/docs/rules/no-inline-comments" - }, - "schema": [ - { - "type": "object", - "properties": { - "ignorePattern": { - "type": "string" - } - }, - "additionalProperties": false - } - ] + } }, "no-inner-declarations": { "type": "problem", @@ -4556,15 +1115,7 @@ "description": "disallow variable or `function` declarations in nested blocks", "recommended": true, "url": "https://eslint.org/docs/rules/no-inner-declarations" - }, - "schema": [ - { - "enum": [ - "functions", - "both" - ] - } - ] + } }, "no-invalid-regexp": { "type": "problem", @@ -4572,21 +1123,7 @@ "description": "disallow invalid regular expression strings in `RegExp` constructors", "recommended": true, "url": "https://eslint.org/docs/rules/no-invalid-regexp" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowConstructorFlags": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - } - ] + } }, "no-invalid-this": { "type": "suggestion", @@ -4594,19 +1131,7 @@ "description": "disallow use of `this` in contexts where the value of `this` is `undefined`", "recommended": false, "url": "https://eslint.org/docs/rules/no-invalid-this" - }, - "schema": [ - { - "type": "object", - "properties": { - "capIsConstructor": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-irregular-whitespace": { "type": "problem", @@ -4614,31 +1139,7 @@ "description": "disallow irregular whitespace", "recommended": true, "url": "https://eslint.org/docs/rules/no-irregular-whitespace" - }, - "schema": [ - { - "type": "object", - "properties": { - "skipComments": { - "type": "boolean", - "default": false - }, - "skipStrings": { - "type": "boolean", - "default": true - }, - "skipTemplates": { - "type": "boolean", - "default": false - }, - "skipRegExps": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-iterator": { "type": "suggestion", @@ -4646,8 +1147,7 @@ "description": "disallow the use of the `__iterator__` property", "recommended": false, "url": "https://eslint.org/docs/rules/no-iterator" - }, - "schema": [] + } }, "no-label-var": { "type": "suggestion", @@ -4655,8 +1155,7 @@ "description": "disallow labels that share a name with a variable", "recommended": false, "url": "https://eslint.org/docs/rules/no-label-var" - }, - "schema": [] + } }, "no-labels": { "type": "suggestion", @@ -4664,23 +1163,7 @@ "description": "disallow labeled statements", "recommended": false, "url": "https://eslint.org/docs/rules/no-labels" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowLoop": { - "type": "boolean", - "default": false - }, - "allowSwitch": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-lone-blocks": { "type": "suggestion", @@ -4688,8 +1171,7 @@ "description": "disallow unnecessary nested blocks", "recommended": false, "url": "https://eslint.org/docs/rules/no-lone-blocks" - }, - "schema": [] + } }, "no-lonely-if": { "type": "suggestion", @@ -4698,7 +1180,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-lonely-if" }, - "schema": [], "fixable": "code" }, "no-loop-func": { @@ -4707,8 +1188,7 @@ "description": "disallow function declarations that contain unsafe references inside loop statements", "recommended": false, "url": "https://eslint.org/docs/rules/no-loop-func" - }, - "schema": [] + } }, "no-loss-of-precision": { "type": "problem", @@ -4716,8 +1196,7 @@ "description": "disallow literal numbers that lose precision", "recommended": true, "url": "https://eslint.org/docs/rules/no-loss-of-precision" - }, - "schema": [] + } }, "no-magic-numbers": { "type": "suggestion", @@ -4725,46 +1204,7 @@ "description": "disallow magic numbers", "recommended": false, "url": "https://eslint.org/docs/rules/no-magic-numbers" - }, - "schema": [ - { - "type": "object", - "properties": { - "detectObjects": { - "type": "boolean", - "default": false - }, - "enforceConst": { - "type": "boolean", - "default": false - }, - "ignore": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "string", - "pattern": "^[+-]?(?:0|[1-9][0-9]*)n$" - } - ] - }, - "uniqueItems": true - }, - "ignoreArrayIndexes": { - "type": "boolean", - "default": false - }, - "ignoreDefaultValues": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-misleading-character-class": { "type": "problem", @@ -4773,8 +1213,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-misleading-character-class" }, - "hasSuggestions": true, - "schema": [] + "hasSuggestions": true }, "no-mixed-operators": { "type": "suggestion", @@ -4782,59 +1221,7 @@ "description": "disallow mixed binary operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-mixed-operators" - }, - "schema": [ - { - "type": "object", - "properties": { - "groups": { - "type": "array", - "items": { - "type": "array", - "items": { - "enum": [ - "+", - "-", - "*", - "/", - "%", - "**", - "&", - "|", - "^", - "~", - "<<", - ">>", - ">>>", - "==", - "!=", - "===", - "!==", - ">", - ">=", - "<", - "<=", - "&&", - "||", - "in", - "instanceof", - "?:", - "??" - ] - }, - "minItems": 2, - "uniqueItems": true - }, - "uniqueItems": true - }, - "allowSamePrecedence": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-mixed-requires": { "deprecated": true, @@ -4844,28 +1231,7 @@ "description": "disallow `require` calls to be mixed with regular variable declarations", "recommended": false, "url": "https://eslint.org/docs/rules/no-mixed-requires" - }, - "schema": [ - { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "properties": { - "grouping": { - "type": "boolean" - }, - "allowCall": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "no-mixed-spaces-and-tabs": { "type": "layout", @@ -4873,16 +1239,7 @@ "description": "disallow mixed spaces and tabs for indentation", "recommended": true, "url": "https://eslint.org/docs/rules/no-mixed-spaces-and-tabs" - }, - "schema": [ - { - "enum": [ - "smart-tabs", - true, - false - ] - } - ] + } }, "no-multi-assign": { "type": "suggestion", @@ -4890,19 +1247,7 @@ "description": "disallow use of chained assignment expressions", "recommended": false, "url": "https://eslint.org/docs/rules/no-multi-assign" - }, - "schema": [ - { - "type": "object", - "properties": { - "ignoreNonDeclaration": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-multi-spaces": { "type": "layout", @@ -4911,28 +1256,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-multi-spaces" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "exceptions": { - "type": "object", - "patternProperties": { - "^([A-Z][a-z]*)+$": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "ignoreEOLComments": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "no-multi-str": { "type": "suggestion", @@ -4940,8 +1264,7 @@ "description": "disallow multiline strings", "recommended": false, "url": "https://eslint.org/docs/rules/no-multi-str" - }, - "schema": [] + } }, "no-multiple-empty-lines": { "type": "layout", @@ -4950,30 +1273,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-multiple-empty-lines" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "max": { - "type": "integer", - "minimum": 0 - }, - "maxEOF": { - "type": "integer", - "minimum": 0 - }, - "maxBOF": { - "type": "integer", - "minimum": 0 - } - }, - "required": [ - "max" - ], - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "no-native-reassign": { "type": "suggestion", @@ -4985,21 +1285,6 @@ "deprecated": true, "replacedBy": [ "no-global-assign" - ], - "schema": [ - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } ] }, "no-negated-condition": { @@ -5008,8 +1293,7 @@ "description": "disallow negated conditions", "recommended": false, "url": "https://eslint.org/docs/rules/no-negated-condition" - }, - "schema": [] + } }, "no-negated-in-lhs": { "type": "problem", @@ -5021,8 +1305,7 @@ "replacedBy": [ "no-unsafe-negation" ], - "deprecated": true, - "schema": [] + "deprecated": true }, "no-nested-ternary": { "type": "suggestion", @@ -5030,8 +1313,7 @@ "description": "disallow nested ternary expressions", "recommended": false, "url": "https://eslint.org/docs/rules/no-nested-ternary" - }, - "schema": [] + } }, "no-new": { "type": "suggestion", @@ -5039,8 +1321,7 @@ "description": "disallow `new` operators outside of assignments or comparisons", "recommended": false, "url": "https://eslint.org/docs/rules/no-new" - }, - "schema": [] + } }, "no-new-func": { "type": "suggestion", @@ -5048,8 +1329,7 @@ "description": "disallow `new` operators with the `Function` object", "recommended": false, "url": "https://eslint.org/docs/rules/no-new-func" - }, - "schema": [] + } }, "no-new-object": { "type": "suggestion", @@ -5057,8 +1337,7 @@ "description": "disallow `Object` constructors", "recommended": false, "url": "https://eslint.org/docs/rules/no-new-object" - }, - "schema": [] + } }, "no-new-require": { "deprecated": true, @@ -5068,8 +1347,7 @@ "description": "disallow `new` operators with calls to `require`", "recommended": false, "url": "https://eslint.org/docs/rules/no-new-require" - }, - "schema": [] + } }, "no-new-symbol": { "type": "problem", @@ -5077,8 +1355,7 @@ "description": "disallow `new` operators with the `Symbol` object", "recommended": true, "url": "https://eslint.org/docs/rules/no-new-symbol" - }, - "schema": [] + } }, "no-new-wrappers": { "type": "suggestion", @@ -5086,8 +1363,7 @@ "description": "disallow `new` operators with the `String`, `Number`, and `Boolean` objects", "recommended": false, "url": "https://eslint.org/docs/rules/no-new-wrappers" - }, - "schema": [] + } }, "no-nonoctal-decimal-escape": { "type": "suggestion", @@ -5096,8 +1372,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-nonoctal-decimal-escape" }, - "hasSuggestions": true, - "schema": [] + "hasSuggestions": true }, "no-obj-calls": { "type": "problem", @@ -5105,8 +1380,7 @@ "description": "disallow calling global object properties as functions", "recommended": true, "url": "https://eslint.org/docs/rules/no-obj-calls" - }, - "schema": [] + } }, "no-octal": { "type": "suggestion", @@ -5114,8 +1388,7 @@ "description": "disallow octal literals", "recommended": true, "url": "https://eslint.org/docs/rules/no-octal" - }, - "schema": [] + } }, "no-octal-escape": { "type": "suggestion", @@ -5123,8 +1396,7 @@ "description": "disallow octal escape sequences in string literals", "recommended": false, "url": "https://eslint.org/docs/rules/no-octal-escape" - }, - "schema": [] + } }, "no-param-reassign": { "type": "suggestion", @@ -5132,49 +1404,7 @@ "description": "disallow reassigning `function` parameters", "recommended": false, "url": "https://eslint.org/docs/rules/no-param-reassign" - }, - "schema": [ - { - "oneOf": [ - { - "type": "object", - "properties": { - "props": { - "enum": [ - false - ] - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "props": { - "enum": [ - true - ] - }, - "ignorePropertyModificationsFor": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - }, - "ignorePropertyModificationsForRegex": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "no-path-concat": { "deprecated": true, @@ -5184,8 +1414,7 @@ "description": "disallow string concatenation with `__dirname` and `__filename`", "recommended": false, "url": "https://eslint.org/docs/rules/no-path-concat" - }, - "schema": [] + } }, "no-plusplus": { "type": "suggestion", @@ -5193,19 +1422,7 @@ "description": "disallow the unary operators `++` and `--`", "recommended": false, "url": "https://eslint.org/docs/rules/no-plusplus" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowForLoopAfterthoughts": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-process-env": { "deprecated": true, @@ -5215,8 +1432,7 @@ "description": "disallow the use of `process.env`", "recommended": false, "url": "https://eslint.org/docs/rules/no-process-env" - }, - "schema": [] + } }, "no-process-exit": { "deprecated": true, @@ -5226,8 +1442,7 @@ "description": "disallow the use of `process.exit()`", "recommended": false, "url": "https://eslint.org/docs/rules/no-process-exit" - }, - "schema": [] + } }, "no-promise-executor-return": { "type": "problem", @@ -5235,8 +1450,7 @@ "description": "disallow returning values from Promise executor functions", "recommended": false, "url": "https://eslint.org/docs/rules/no-promise-executor-return" - }, - "schema": [] + } }, "no-proto": { "type": "suggestion", @@ -5244,8 +1458,7 @@ "description": "disallow the use of the `__proto__` property", "recommended": false, "url": "https://eslint.org/docs/rules/no-proto" - }, - "schema": [] + } }, "no-prototype-builtins": { "type": "problem", @@ -5253,8 +1466,7 @@ "description": "disallow calling some `Object.prototype` methods directly on objects", "recommended": true, "url": "https://eslint.org/docs/rules/no-prototype-builtins" - }, - "schema": [] + } }, "no-redeclare": { "type": "suggestion", @@ -5262,19 +1474,7 @@ "description": "disallow variable redeclaration", "recommended": true, "url": "https://eslint.org/docs/rules/no-redeclare" - }, - "schema": [ - { - "type": "object", - "properties": { - "builtinGlobals": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-regex-spaces": { "type": "suggestion", @@ -5283,7 +1483,6 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-regex-spaces" }, - "schema": [], "fixable": "code" }, "no-restricted-exports": { @@ -5292,22 +1491,7 @@ "description": "disallow specified names in exports", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-exports" - }, - "schema": [ - { - "type": "object", - "properties": { - "restrictedNamedExports": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-restricted-globals": { "type": "suggestion", @@ -5315,33 +1499,6 @@ "description": "disallow specified global variables", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-globals" - }, - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - } - ] - }, - "uniqueItems": true, - "minItems": 0 } }, "no-restricted-imports": { @@ -5350,127 +1507,6 @@ "description": "disallow specified modules when loaded by `import`", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-imports" - }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string", - "minLength": 1 - }, - "importNames": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - ] - }, - "uniqueItems": true - }, - { - "type": "array", - "items": [ - { - "type": "object", - "properties": { - "paths": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string", - "minLength": 1 - }, - "importNames": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - ] - }, - "uniqueItems": true - }, - "patterns": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - }, - { - "type": "array", - "items": { - "type": "object", - "properties": { - "group": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1, - "uniqueItems": true - }, - "message": { - "type": "string", - "minLength": 1 - }, - "caseSensitive": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "group" - ] - }, - "uniqueItems": true - } - ] - } - }, - "additionalProperties": false - } - ], - "additionalItems": false - } - ] } }, "no-restricted-modules": { @@ -5481,81 +1517,6 @@ "description": "disallow specified modules when loaded by `require`", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-modules" - }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string", - "minLength": 1 - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - ] - }, - "uniqueItems": true - }, - { - "type": "array", - "items": { - "type": "object", - "properties": { - "paths": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "message": { - "type": "string", - "minLength": 1 - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - } - ] - }, - "uniqueItems": true - }, - "patterns": { - "type": "array", - "items": { - "type": "string" - }, - "uniqueItems": true - } - }, - "additionalProperties": false - }, - "additionalItems": false - } - ] } }, "no-restricted-properties": { @@ -5564,50 +1525,6 @@ "description": "disallow certain properties on certain objects", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-properties" - }, - "schema": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "object", - "properties": { - "object": { - "type": "string" - }, - "property": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "object" - ] - }, - { - "type": "object", - "properties": { - "object": { - "type": "string" - }, - "property": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "property" - ] - } - ] - }, - "uniqueItems": true } }, "no-restricted-syntax": { @@ -5616,33 +1533,6 @@ "description": "disallow specified syntax", "recommended": false, "url": "https://eslint.org/docs/rules/no-restricted-syntax" - }, - "schema": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "selector": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "selector" - ], - "additionalProperties": false - } - ] - }, - "uniqueItems": true, - "minItems": 0 } }, "no-return-assign": { @@ -5651,15 +1541,7 @@ "description": "disallow assignment operators in `return` statements", "recommended": false, "url": "https://eslint.org/docs/rules/no-return-assign" - }, - "schema": [ - { - "enum": [ - "except-parens", - "always" - ] - } - ] + } }, "no-return-await": { "type": "suggestion", @@ -5668,8 +1550,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-return-await" }, - "fixable": null, - "schema": [] + "fixable": null }, "no-script-url": { "type": "suggestion", @@ -5677,8 +1558,7 @@ "description": "disallow `javascript:` urls", "recommended": false, "url": "https://eslint.org/docs/rules/no-script-url" - }, - "schema": [] + } }, "no-self-assign": { "type": "problem", @@ -5686,19 +1566,7 @@ "description": "disallow assignments where both sides are exactly the same", "recommended": true, "url": "https://eslint.org/docs/rules/no-self-assign" - }, - "schema": [ - { - "type": "object", - "properties": { - "props": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-self-compare": { "type": "problem", @@ -5706,8 +1574,7 @@ "description": "disallow comparisons where both sides are exactly the same", "recommended": false, "url": "https://eslint.org/docs/rules/no-self-compare" - }, - "schema": [] + } }, "no-sequences": { "type": "suggestion", @@ -5715,18 +1582,7 @@ "description": "disallow comma operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-sequences" - }, - "schema": [ - { - "properties": { - "allowInParentheses": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + } }, "no-setter-return": { "type": "problem", @@ -5734,8 +1590,7 @@ "description": "disallow returning values from setters", "recommended": true, "url": "https://eslint.org/docs/rules/no-setter-return" - }, - "schema": [] + } }, "no-shadow": { "type": "suggestion", @@ -5743,37 +1598,7 @@ "description": "disallow variable declarations from shadowing variables declared in the outer scope", "recommended": false, "url": "https://eslint.org/docs/rules/no-shadow" - }, - "schema": [ - { - "type": "object", - "properties": { - "builtinGlobals": { - "type": "boolean", - "default": false - }, - "hoist": { - "enum": [ - "all", - "functions", - "never" - ], - "default": "functions" - }, - "allow": { - "type": "array", - "items": { - "type": "string" - } - }, - "ignoreOnInitialization": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-shadow-restricted-names": { "type": "suggestion", @@ -5781,8 +1606,7 @@ "description": "disallow identifiers from shadowing restricted names", "recommended": true, "url": "https://eslint.org/docs/rules/no-shadow-restricted-names" - }, - "schema": [] + } }, "no-spaced-func": { "type": "layout", @@ -5795,8 +1619,7 @@ "replacedBy": [ "func-call-spacing" ], - "fixable": "whitespace", - "schema": [] + "fixable": "whitespace" }, "no-sparse-arrays": { "type": "problem", @@ -5804,8 +1627,7 @@ "description": "disallow sparse arrays", "recommended": true, "url": "https://eslint.org/docs/rules/no-sparse-arrays" - }, - "schema": [] + } }, "no-sync": { "deprecated": true, @@ -5815,19 +1637,7 @@ "description": "disallow synchronous methods", "recommended": false, "url": "https://eslint.org/docs/rules/no-sync" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowAtRootLevel": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-tabs": { "type": "layout", @@ -5835,19 +1645,7 @@ "description": "disallow all tabs", "recommended": false, "url": "https://eslint.org/docs/rules/no-tabs" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowIndentationTabs": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-template-curly-in-string": { "type": "problem", @@ -5855,8 +1653,7 @@ "description": "disallow template literal placeholder syntax in regular strings", "recommended": false, "url": "https://eslint.org/docs/rules/no-template-curly-in-string" - }, - "schema": [] + } }, "no-ternary": { "type": "suggestion", @@ -5864,8 +1661,7 @@ "description": "disallow ternary operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-ternary" - }, - "schema": [] + } }, "no-this-before-super": { "type": "problem", @@ -5873,8 +1669,7 @@ "description": "disallow `this`/`super` before calling `super()` in constructors", "recommended": true, "url": "https://eslint.org/docs/rules/no-this-before-super" - }, - "schema": [] + } }, "no-throw-literal": { "type": "suggestion", @@ -5882,8 +1677,7 @@ "description": "disallow throwing literals as exceptions", "recommended": false, "url": "https://eslint.org/docs/rules/no-throw-literal" - }, - "schema": [] + } }, "no-trailing-spaces": { "type": "layout", @@ -5892,23 +1686,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-trailing-spaces" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "skipBlankLines": { - "type": "boolean", - "default": false - }, - "ignoreComments": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "no-undef": { "type": "problem", @@ -5916,19 +1694,7 @@ "description": "disallow the use of undeclared variables unless mentioned in `/*global */` comments", "recommended": true, "url": "https://eslint.org/docs/rules/no-undef" - }, - "schema": [ - { - "type": "object", - "properties": { - "typeof": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-undef-init": { "type": "suggestion", @@ -5937,7 +1703,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-undef-init" }, - "schema": [], "fixable": "code" }, "no-undefined": { @@ -5946,8 +1711,7 @@ "description": "disallow the use of `undefined` as an identifier", "recommended": false, "url": "https://eslint.org/docs/rules/no-undefined" - }, - "schema": [] + } }, "no-underscore-dangle": { "type": "suggestion", @@ -5955,45 +1719,7 @@ "description": "disallow dangling underscores in identifiers", "recommended": false, "url": "https://eslint.org/docs/rules/no-underscore-dangle" - }, - "schema": [ - { - "type": "object", - "properties": { - "allow": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowAfterThis": { - "type": "boolean", - "default": false - }, - "allowAfterSuper": { - "type": "boolean", - "default": false - }, - "allowAfterThisConstructor": { - "type": "boolean", - "default": false - }, - "enforceInMethodNames": { - "type": "boolean", - "default": false - }, - "allowFunctionParams": { - "type": "boolean", - "default": true - }, - "enforceInClassFields": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-unexpected-multiline": { "type": "problem", @@ -6001,8 +1727,7 @@ "description": "disallow confusing multiline expressions", "recommended": true, "url": "https://eslint.org/docs/rules/no-unexpected-multiline" - }, - "schema": [] + } }, "no-unmodified-loop-condition": { "type": "problem", @@ -6010,8 +1735,7 @@ "description": "disallow unmodified loop conditions", "recommended": false, "url": "https://eslint.org/docs/rules/no-unmodified-loop-condition" - }, - "schema": [] + } }, "no-unneeded-ternary": { "type": "suggestion", @@ -6020,18 +1744,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-unneeded-ternary" }, - "schema": [ - { - "type": "object", - "properties": { - "defaultAssignment": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "no-unreachable": { @@ -6040,8 +1752,7 @@ "description": "disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", "recommended": true, "url": "https://eslint.org/docs/rules/no-unreachable" - }, - "schema": [] + } }, "no-unreachable-loop": { "type": "problem", @@ -6049,28 +1760,7 @@ "description": "disallow loops with a body that allows only one iteration", "recommended": false, "url": "https://eslint.org/docs/rules/no-unreachable-loop" - }, - "schema": [ - { - "type": "object", - "properties": { - "ignore": { - "type": "array", - "items": { - "enum": [ - "WhileStatement", - "DoWhileStatement", - "ForStatement", - "ForInStatement", - "ForOfStatement" - ] - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + } }, "no-unsafe-finally": { "type": "problem", @@ -6078,8 +1768,7 @@ "description": "disallow control flow statements in `finally` blocks", "recommended": true, "url": "https://eslint.org/docs/rules/no-unsafe-finally" - }, - "schema": [] + } }, "no-unsafe-negation": { "type": "problem", @@ -6089,18 +1778,6 @@ "url": "https://eslint.org/docs/rules/no-unsafe-negation" }, "hasSuggestions": true, - "schema": [ - { - "type": "object", - "properties": { - "enforceForOrderingRelations": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": null }, "no-unsafe-optional-chaining": { @@ -6110,18 +1787,6 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-unsafe-optional-chaining" }, - "schema": [ - { - "type": "object", - "properties": { - "disallowArithmeticOperators": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": null }, "no-unused-expressions": { @@ -6130,31 +1795,7 @@ "description": "disallow unused expressions", "recommended": false, "url": "https://eslint.org/docs/rules/no-unused-expressions" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowShortCircuit": { - "type": "boolean", - "default": false - }, - "allowTernary": { - "type": "boolean", - "default": false - }, - "allowTaggedTemplates": { - "type": "boolean", - "default": false - }, - "enforceForJSX": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-unused-labels": { "type": "suggestion", @@ -6163,7 +1804,6 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-unused-labels" }, - "schema": [], "fixable": "code" }, "no-unused-private-class-members": { @@ -6172,8 +1812,7 @@ "description": "disallow unused private class members", "recommended": false, "url": "https://eslint.org/docs/rules/no-unused-private-class-members" - }, - "schema": [] + } }, "no-unused-vars": { "type": "problem", @@ -6181,59 +1820,7 @@ "description": "disallow unused variables", "recommended": true, "url": "https://eslint.org/docs/rules/no-unused-vars" - }, - "schema": [ - { - "oneOf": [ - { - "enum": [ - "all", - "local" - ] - }, - { - "type": "object", - "properties": { - "vars": { - "enum": [ - "all", - "local" - ] - }, - "varsIgnorePattern": { - "type": "string" - }, - "args": { - "enum": [ - "all", - "after-used", - "none" - ] - }, - "ignoreRestSiblings": { - "type": "boolean" - }, - "argsIgnorePattern": { - "type": "string" - }, - "caughtErrors": { - "enum": [ - "all", - "none" - ] - }, - "caughtErrorsIgnorePattern": { - "type": "string" - }, - "destructuredArrayIgnorePattern": { - "type": "string" - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "no-use-before-define": { "type": "problem", @@ -6241,33 +1828,7 @@ "description": "disallow the use of variables before they are defined", "recommended": false, "url": "https://eslint.org/docs/rules/no-use-before-define" - }, - "schema": [ - { - "oneOf": [ - { - "enum": [ - "nofunc" - ] - }, - { - "type": "object", - "properties": { - "functions": { - "type": "boolean" - }, - "classes": { - "type": "boolean" - }, - "variables": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + } }, "no-useless-backreference": { "type": "problem", @@ -6275,8 +1836,7 @@ "description": "disallow useless backreferences in regular expressions", "recommended": true, "url": "https://eslint.org/docs/rules/no-useless-backreference" - }, - "schema": [] + } }, "no-useless-call": { "type": "suggestion", @@ -6284,8 +1844,7 @@ "description": "disallow unnecessary calls to `.call()` and `.apply()`", "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-call" - }, - "schema": [] + } }, "no-useless-catch": { "type": "suggestion", @@ -6293,8 +1852,7 @@ "description": "disallow unnecessary `catch` clauses", "recommended": true, "url": "https://eslint.org/docs/rules/no-useless-catch" - }, - "schema": [] + } }, "no-useless-computed-key": { "type": "suggestion", @@ -6303,18 +1861,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-computed-key" }, - "schema": [ - { - "type": "object", - "properties": { - "enforceForClassMembers": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "no-useless-concat": { @@ -6323,8 +1869,7 @@ "description": "disallow unnecessary concatenation of literals or template literals", "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-concat" - }, - "schema": [] + } }, "no-useless-constructor": { "type": "suggestion", @@ -6332,8 +1877,7 @@ "description": "disallow unnecessary constructors", "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-constructor" - }, - "schema": [] + } }, "no-useless-escape": { "type": "suggestion", @@ -6342,8 +1886,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/no-useless-escape" }, - "hasSuggestions": true, - "schema": [] + "hasSuggestions": true }, "no-useless-rename": { "type": "suggestion", @@ -6352,27 +1895,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-rename" }, - "fixable": "code", - "schema": [ - { - "type": "object", - "properties": { - "ignoreDestructuring": { - "type": "boolean", - "default": false - }, - "ignoreImport": { - "type": "boolean", - "default": false - }, - "ignoreExport": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "no-useless-return": { "type": "suggestion", @@ -6381,8 +1904,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-useless-return" }, - "fixable": "code", - "schema": [] + "fixable": "code" }, "no-var": { "type": "suggestion", @@ -6391,7 +1913,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-var" }, - "schema": [], "fixable": "code" }, "no-void": { @@ -6400,19 +1921,7 @@ "description": "disallow `void` operators", "recommended": false, "url": "https://eslint.org/docs/rules/no-void" - }, - "schema": [ - { - "type": "object", - "properties": { - "allowAsStatement": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "no-warning-comments": { "type": "suggestion", @@ -6420,27 +1929,7 @@ "description": "disallow specified warning terms in comments", "recommended": false, "url": "https://eslint.org/docs/rules/no-warning-comments" - }, - "schema": [ - { - "type": "object", - "properties": { - "terms": { - "type": "array", - "items": { - "type": "string" - } - }, - "location": { - "enum": [ - "start", - "anywhere" - ] - } - }, - "additionalProperties": false - } - ] + } }, "no-whitespace-before-property": { "type": "layout", @@ -6449,8 +1938,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/no-whitespace-before-property" }, - "fixable": "whitespace", - "schema": [] + "fixable": "whitespace" }, "no-with": { "type": "suggestion", @@ -6458,8 +1946,7 @@ "description": "disallow `with` statements", "recommended": true, "url": "https://eslint.org/docs/rules/no-with" - }, - "schema": [] + } }, "nonblock-statement-body-position": { "type": "layout", @@ -6468,61 +1955,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/nonblock-statement-body-position" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "beside", - "below", - "any" - ] - }, - { - "properties": { - "overrides": { - "properties": { - "if": { - "enum": [ - "beside", - "below", - "any" - ] - }, - "else": { - "enum": [ - "beside", - "below", - "any" - ] - }, - "while": { - "enum": [ - "beside", - "below", - "any" - ] - }, - "do": { - "enum": [ - "beside", - "below", - "any" - ] - }, - "for": { - "enum": [ - "beside", - "below", - "any" - ] - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "object-curly-newline": { "type": "layout", @@ -6531,155 +1964,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/object-curly-newline" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minProperties": { - "type": "integer", - "minimum": 0 - }, - "consistent": { - "type": "boolean" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - }, - { - "type": "object", - "properties": { - "ObjectExpression": { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minProperties": { - "type": "integer", - "minimum": 0 - }, - "consistent": { - "type": "boolean" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - }, - "ObjectPattern": { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minProperties": { - "type": "integer", - "minimum": 0 - }, - "consistent": { - "type": "boolean" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - }, - "ImportDeclaration": { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minProperties": { - "type": "integer", - "minimum": 0 - }, - "consistent": { - "type": "boolean" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - }, - "ExportDeclaration": { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "multiline": { - "type": "boolean" - }, - "minProperties": { - "type": "integer", - "minimum": 0 - }, - "consistent": { - "type": "boolean" - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - } - ] + "fixable": "whitespace" }, "object-curly-spacing": { "type": "layout", @@ -6688,27 +1973,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/object-curly-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "arraysInObjects": { - "type": "boolean" - }, - "objectsInObjects": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "object-property-newline": { "type": "layout", @@ -6717,22 +1982,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/object-property-newline" }, - "schema": [ - { - "type": "object", - "properties": { - "allowAllPropertiesOnSameLine": { - "type": "boolean", - "default": false - }, - "allowMultiplePropertiesPerLine": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "whitespace" }, "object-shorthand": { @@ -6742,79 +1991,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/object-shorthand" }, - "fixable": "code", - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "methods", - "properties", - "never", - "consistent", - "consistent-as-needed" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "methods", - "properties" - ] - }, - { - "type": "object", - "properties": { - "avoidQuotes": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "methods" - ] - }, - { - "type": "object", - "properties": { - "ignoreConstructors": { - "type": "boolean" - }, - "avoidQuotes": { - "type": "boolean" - }, - "avoidExplicitReturnArrows": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - } + "fixable": "code" }, "one-var": { "type": "suggestion", @@ -6823,70 +2000,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/one-var" }, - "fixable": "code", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never", - "consecutive" - ] - }, - { - "type": "object", - "properties": { - "separateRequires": { - "type": "boolean" - }, - "var": { - "enum": [ - "always", - "never", - "consecutive" - ] - }, - "let": { - "enum": [ - "always", - "never", - "consecutive" - ] - }, - "const": { - "enum": [ - "always", - "never", - "consecutive" - ] - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "initialized": { - "enum": [ - "always", - "never", - "consecutive" - ] - }, - "uninitialized": { - "enum": [ - "always", - "never", - "consecutive" - ] - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "code" }, "one-var-declaration-per-line": { "type": "suggestion", @@ -6895,14 +2009,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/one-var-declaration-per-line" }, - "schema": [ - { - "enum": [ - "always", - "initializations" - ] - } - ], "fixable": "whitespace" }, "operator-assignment": { @@ -6912,14 +2018,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/operator-assignment" }, - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ], "fixable": "code" }, "operator-linebreak": { @@ -6929,33 +2027,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/operator-linebreak" }, - "schema": [ - { - "enum": [ - "after", - "before", - "none", - null - ] - }, - { - "type": "object", - "properties": { - "overrides": { - "type": "object", - "additionalProperties": { - "enum": [ - "after", - "before", - "none", - "ignore" - ] - } - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "padded-blocks": { @@ -6965,53 +2036,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/padded-blocks" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "blocks": { - "enum": [ - "always", - "never" - ] - }, - "switches": { - "enum": [ - "always", - "never" - ] - }, - "classes": { - "enum": [ - "always", - "never" - ] - } - }, - "additionalProperties": false, - "minProperties": 1 - } - ] - }, - { - "type": "object", - "properties": { - "allowSingleLineBlocks": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "padding-line-between-statements": { "type": "layout", @@ -7020,132 +2045,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/padding-line-between-statements" }, - "fixable": "whitespace", - "schema": { - "definitions": { - "paddingType": { - "enum": [ - "any", - "never", - "always" - ] - }, - "statementType": { - "anyOf": [ - { - "enum": [ - "*", - "block-like", - "cjs-export", - "cjs-import", - "directive", - "expression", - "iife", - "multiline-block-like", - "multiline-expression", - "multiline-const", - "multiline-let", - "multiline-var", - "singleline-const", - "singleline-let", - "singleline-var", - "block", - "empty", - "function", - "break", - "case", - "class", - "const", - "continue", - "debugger", - "default", - "do", - "export", - "for", - "if", - "import", - "let", - "return", - "switch", - "throw", - "try", - "var", - "while", - "with" - ] - }, - { - "type": "array", - "items": { - "enum": [ - "*", - "block-like", - "cjs-export", - "cjs-import", - "directive", - "expression", - "iife", - "multiline-block-like", - "multiline-expression", - "multiline-const", - "multiline-let", - "multiline-var", - "singleline-const", - "singleline-let", - "singleline-var", - "block", - "empty", - "function", - "break", - "case", - "class", - "const", - "continue", - "debugger", - "default", - "do", - "export", - "for", - "if", - "import", - "let", - "return", - "switch", - "throw", - "try", - "var", - "while", - "with" - ] - }, - "minItems": 1, - "uniqueItems": true - } - ] - } - }, - "type": "array", - "items": { - "type": "object", - "properties": { - "blankLine": { - "$ref": "#/definitions/paddingType" - }, - "prev": { - "$ref": "#/definitions/statementType" - }, - "next": { - "$ref": "#/definitions/statementType" - } - }, - "additionalProperties": false, - "required": [ - "blankLine", - "prev", - "next" - ] - } - } + "fixable": "whitespace" }, "prefer-arrow-callback": { "type": "suggestion", @@ -7154,22 +2054,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-arrow-callback" }, - "schema": [ - { - "type": "object", - "properties": { - "allowNamedFunctions": { - "type": "boolean", - "default": false - }, - "allowUnboundThis": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "prefer-const": { @@ -7179,26 +2063,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-const" }, - "fixable": "code", - "schema": [ - { - "type": "object", - "properties": { - "destructuring": { - "enum": [ - "any", - "all" - ], - "default": "any" - }, - "ignoreReadBeforeAssign": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "prefer-destructuring": { "type": "suggestion", @@ -7207,64 +2072,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-destructuring" }, - "fixable": "code", - "schema": [ - { - "oneOf": [ - { - "type": "object", - "properties": { - "VariableDeclarator": { - "type": "object", - "properties": { - "array": { - "type": "boolean" - }, - "object": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "AssignmentExpression": { - "type": "object", - "properties": { - "array": { - "type": "boolean" - }, - "object": { - "type": "boolean" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "array": { - "type": "boolean" - }, - "object": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - }, - { - "type": "object", - "properties": { - "enforceForRenamedProperties": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] + "fixable": "code" }, "prefer-exponentiation-operator": { "type": "suggestion", @@ -7273,7 +2081,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-exponentiation-operator" }, - "schema": [], "fixable": "code" }, "prefer-named-capture-group": { @@ -7282,8 +2089,7 @@ "description": "enforce using named capture group in regular expression", "recommended": false, "url": "https://eslint.org/docs/rules/prefer-named-capture-group" - }, - "schema": [] + } }, "prefer-numeric-literals": { "type": "suggestion", @@ -7292,7 +2098,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-numeric-literals" }, - "schema": [], "fixable": "code" }, "prefer-object-has-own": { @@ -7302,7 +2107,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-object-has-own" }, - "schema": [], "fixable": "code" }, "prefer-object-spread": { @@ -7312,7 +2116,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-object-spread" }, - "schema": [], "fixable": "code" }, "prefer-promise-reject-errors": { @@ -7322,19 +2125,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-promise-reject-errors" }, - "fixable": null, - "schema": [ - { - "type": "object", - "properties": { - "allowEmptyReject": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": null }, "prefer-reflect": { "type": "suggestion", @@ -7344,33 +2135,7 @@ "url": "https://eslint.org/docs/rules/prefer-reflect" }, "deprecated": true, - "replacedBy": [], - "schema": [ - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "enum": [ - "apply", - "call", - "delete", - "defineProperty", - "getOwnPropertyDescriptor", - "getPrototypeOf", - "setPrototypeOf", - "isExtensible", - "getOwnPropertyNames", - "preventExtensions" - ] - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + "replacedBy": [] }, "prefer-regex-literals": { "type": "suggestion", @@ -7379,19 +2144,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-regex-literals" }, - "hasSuggestions": true, - "schema": [ - { - "type": "object", - "properties": { - "disallowRedundantWrapping": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "hasSuggestions": true }, "prefer-rest-params": { "type": "suggestion", @@ -7399,8 +2152,7 @@ "description": "require rest parameters instead of `arguments`", "recommended": false, "url": "https://eslint.org/docs/rules/prefer-rest-params" - }, - "schema": [] + } }, "prefer-spread": { "type": "suggestion", @@ -7409,7 +2161,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-spread" }, - "schema": [], "fixable": null }, "prefer-template": { @@ -7419,7 +2170,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/prefer-template" }, - "schema": [], "fixable": "code" }, "quote-props": { @@ -7429,55 +2179,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/quote-props" }, - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "as-needed", - "consistent", - "consistent-as-needed" - ] - } - ], - "minItems": 0, - "maxItems": 1 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "always", - "as-needed", - "consistent", - "consistent-as-needed" - ] - }, - { - "type": "object", - "properties": { - "keywords": { - "type": "boolean" - }, - "unnecessary": { - "type": "boolean" - }, - "numbers": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - }, "fixable": "code" }, "quotes": { @@ -7487,37 +2188,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/quotes" }, - "fixable": "code", - "schema": [ - { - "enum": [ - "single", - "double", - "backtick" - ] - }, - { - "anyOf": [ - { - "enum": [ - "avoid-escape" - ] - }, - { - "type": "object", - "properties": { - "avoidEscape": { - "type": "boolean" - }, - "allowTemplateLiterals": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "code" }, "radix": { "type": "suggestion", @@ -7526,15 +2197,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/radix" }, - "hasSuggestions": true, - "schema": [ - { - "enum": [ - "always", - "as-needed" - ] - } - ] + "hasSuggestions": true }, "require-atomic-updates": { "type": "problem", @@ -7543,19 +2206,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/require-atomic-updates" }, - "fixable": null, - "schema": [ - { - "type": "object", - "properties": { - "allowProperties": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": null }, "require-await": { "type": "suggestion", @@ -7563,8 +2214,7 @@ "description": "disallow async functions which have no `await` expression", "recommended": false, "url": "https://eslint.org/docs/rules/require-await" - }, - "schema": [] + } }, "require-jsdoc": { "type": "suggestion", @@ -7573,41 +2223,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/require-jsdoc" }, - "schema": [ - { - "type": "object", - "properties": { - "require": { - "type": "object", - "properties": { - "ClassDeclaration": { - "type": "boolean", - "default": false - }, - "MethodDefinition": { - "type": "boolean", - "default": false - }, - "FunctionDeclaration": { - "type": "boolean", - "default": true - }, - "ArrowFunctionExpression": { - "type": "boolean", - "default": false - }, - "FunctionExpression": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false, - "default": {} - } - }, - "additionalProperties": false - } - ], "deprecated": true, "replacedBy": [] }, @@ -7617,8 +2232,7 @@ "description": "enforce the use of `u` flag on RegExp", "recommended": false, "url": "https://eslint.org/docs/rules/require-unicode-regexp" - }, - "schema": [] + } }, "require-yield": { "type": "suggestion", @@ -7626,8 +2240,7 @@ "description": "require generator functions to contain `yield`", "recommended": true, "url": "https://eslint.org/docs/rules/require-yield" - }, - "schema": [] + } }, "rest-spread-spacing": { "type": "layout", @@ -7636,15 +2249,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/rest-spread-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ] + "fixable": "whitespace" }, "semi": { "type": "layout", @@ -7653,57 +2258,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/semi" }, - "fixable": "code", - "schema": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "enum": [ - "never" - ] - }, - { - "type": "object", - "properties": { - "beforeStatementContinuationChars": { - "enum": [ - "always", - "any", - "never" - ] - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - }, - { - "type": "array", - "items": [ - { - "enum": [ - "always" - ] - }, - { - "type": "object", - "properties": { - "omitLastInOneLineBlock": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ], - "minItems": 0, - "maxItems": 2 - } - ] - } + "fixable": "code" }, "semi-spacing": { "type": "layout", @@ -7712,23 +2267,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/semi-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "before": { - "type": "boolean", - "default": false - }, - "after": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "semi-style": { "type": "layout", @@ -7737,14 +2276,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/semi-style" }, - "schema": [ - { - "enum": [ - "last", - "first" - ] - } - ], "fixable": "whitespace" }, "sort-imports": { @@ -7754,44 +2285,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/sort-imports" }, - "schema": [ - { - "type": "object", - "properties": { - "ignoreCase": { - "type": "boolean", - "default": false - }, - "memberSyntaxSortOrder": { - "type": "array", - "items": { - "enum": [ - "none", - "all", - "multiple", - "single" - ] - }, - "uniqueItems": true, - "minItems": 4, - "maxItems": 4 - }, - "ignoreDeclarationSort": { - "type": "boolean", - "default": false - }, - "ignoreMemberSort": { - "type": "boolean", - "default": false - }, - "allowSeparatedGroups": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "sort-keys": { @@ -7800,34 +2293,7 @@ "description": "require object keys to be sorted", "recommended": false, "url": "https://eslint.org/docs/rules/sort-keys" - }, - "schema": [ - { - "enum": [ - "asc", - "desc" - ] - }, - { - "type": "object", - "properties": { - "caseSensitive": { - "type": "boolean", - "default": true - }, - "natural": { - "type": "boolean", - "default": false - }, - "minKeys": { - "type": "integer", - "minimum": 2, - "default": 2 - } - }, - "additionalProperties": false - } - ] + } }, "sort-vars": { "type": "suggestion", @@ -7836,18 +2302,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/sort-vars" }, - "schema": [ - { - "type": "object", - "properties": { - "ignoreCase": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "space-before-blocks": { @@ -7857,46 +2311,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/space-before-blocks" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "keywords": { - "enum": [ - "always", - "never", - "off" - ] - }, - "functions": { - "enum": [ - "always", - "never", - "off" - ] - }, - "classes": { - "enum": [ - "always", - "never", - "off" - ] - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "space-before-function-paren": { "type": "layout", @@ -7905,46 +2320,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/space-before-function-paren" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "anonymous": { - "enum": [ - "always", - "never", - "ignore" - ] - }, - "named": { - "enum": [ - "always", - "never", - "ignore" - ] - }, - "asyncArrow": { - "enum": [ - "always", - "never", - "ignore" - ] - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "space-in-parens": { "type": "layout", @@ -7953,33 +2329,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/space-in-parens" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "enum": [ - "{}", - "[]", - "()", - "empty" - ] - }, - "uniqueItems": true - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "space-infix-ops": { "type": "layout", @@ -7988,19 +2338,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/space-infix-ops" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "int32Hint": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "space-unary-ops": { "type": "layout", @@ -8009,29 +2347,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/space-unary-ops" }, - "fixable": "whitespace", - "schema": [ - { - "type": "object", - "properties": { - "words": { - "type": "boolean", - "default": true - }, - "nonwords": { - "type": "boolean", - "default": false - }, - "overrides": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "spaced-comment": { "type": "suggestion", @@ -8040,73 +2356,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/spaced-comment" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "markers": { - "type": "array", - "items": { - "type": "string" - } - }, - "line": { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "markers": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "block": { - "type": "object", - "properties": { - "exceptions": { - "type": "array", - "items": { - "type": "string" - } - }, - "markers": { - "type": "array", - "items": { - "type": "string" - } - }, - "balanced": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - ] + "fixable": "whitespace" }, "strict": { "type": "suggestion", @@ -8115,16 +2365,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/strict" }, - "schema": [ - { - "enum": [ - "never", - "global", - "function", - "safe" - ] - } - ], "fixable": "code" }, "switch-colon-spacing": { @@ -8134,22 +2374,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/switch-colon-spacing" }, - "schema": [ - { - "type": "object", - "properties": { - "before": { - "type": "boolean", - "default": false - }, - "after": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ], "fixable": "whitespace" }, "symbol-description": { @@ -8159,8 +2383,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/symbol-description" }, - "fixable": null, - "schema": [] + "fixable": null }, "template-curly-spacing": { "type": "layout", @@ -8169,15 +2392,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/template-curly-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ] + "fixable": "whitespace" }, "template-tag-spacing": { "type": "layout", @@ -8186,15 +2401,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/template-tag-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ] + "fixable": "whitespace" }, "unicode-bom": { "type": "layout", @@ -8203,15 +2410,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/unicode-bom" }, - "fixable": "whitespace", - "schema": [ - { - "enum": [ - "always", - "never" - ] - } - ] + "fixable": "whitespace" }, "use-isnan": { "type": "problem", @@ -8219,23 +2418,7 @@ "description": "require calls to `isNaN()` when checking for `NaN`", "recommended": true, "url": "https://eslint.org/docs/rules/use-isnan" - }, - "schema": [ - { - "type": "object", - "properties": { - "enforceForSwitchCase": { - "type": "boolean", - "default": true - }, - "enforceForIndexOf": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + } }, "valid-jsdoc": { "type": "suggestion", @@ -8244,49 +2427,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/valid-jsdoc" }, - "schema": [ - { - "type": "object", - "properties": { - "prefer": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "preferType": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "requireReturn": { - "type": "boolean", - "default": true - }, - "requireParamDescription": { - "type": "boolean", - "default": true - }, - "requireReturnDescription": { - "type": "boolean", - "default": true - }, - "matchDescription": { - "type": "string" - }, - "requireReturnType": { - "type": "boolean", - "default": true - }, - "requireParamType": { - "type": "boolean", - "default": true - } - }, - "additionalProperties": false - } - ], "fixable": "code", "deprecated": true, "replacedBy": [] @@ -8298,19 +2438,7 @@ "recommended": true, "url": "https://eslint.org/docs/rules/valid-typeof" }, - "hasSuggestions": true, - "schema": [ - { - "type": "object", - "properties": { - "requireStringLiterals": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ] + "hasSuggestions": true }, "vars-on-top": { "type": "suggestion", @@ -8318,8 +2446,7 @@ "description": "require `var` declarations be placed at the top of their containing scope", "recommended": false, "url": "https://eslint.org/docs/rules/vars-on-top" - }, - "schema": [] + } }, "wrap-iife": { "type": "layout", @@ -8328,25 +2455,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/wrap-iife" }, - "schema": [ - { - "enum": [ - "outside", - "inside", - "any" - ] - }, - { - "type": "object", - "properties": { - "functionPrototypeMethods": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" }, "wrap-regex": { @@ -8356,7 +2464,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/wrap-regex" }, - "schema": [], "fixable": "code" }, "yield-star-spacing": { @@ -8366,33 +2473,7 @@ "recommended": false, "url": "https://eslint.org/docs/rules/yield-star-spacing" }, - "fixable": "whitespace", - "schema": [ - { - "oneOf": [ - { - "enum": [ - "before", - "after", - "both", - "neither" - ] - }, - { - "type": "object", - "properties": { - "before": { - "type": "boolean" - }, - "after": { - "type": "boolean" - } - }, - "additionalProperties": false - } - ] - } - ] + "fixable": "whitespace" }, "yoda": { "type": "suggestion", @@ -8401,28 +2482,6 @@ "recommended": false, "url": "https://eslint.org/docs/rules/yoda" }, - "schema": [ - { - "enum": [ - "always", - "never" - ] - }, - { - "type": "object", - "properties": { - "exceptRange": { - "type": "boolean", - "default": false - }, - "onlyEquality": { - "type": "boolean", - "default": false - } - }, - "additionalProperties": false - } - ], "fixable": "code" } } \ No newline at end of file diff --git a/docs/src/_includes/components/rule-categories.macro.html b/docs/src/_includes/components/rule-categories.macro.html index 350ef32915f..3797f8d0a30 100644 --- a/docs/src/_includes/components/rule-categories.macro.html +++ b/docs/src/_includes/components/rule-categories.macro.html @@ -9,7 +9,7 @@

{%- endif -%} - {%- if params.fixable == true -%} + {%- if params.fixable -%}
🛠 Fixable

From a9902803020d7f0fdd9b09dc6479f2d92160931f Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Fri, 3 Jun 2022 14:09:40 -0700 Subject: [PATCH 3/8] Update release to include rules metadata --- Makefile.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.js b/Makefile.js index 142618dcb53..c11bb475ee2 100644 --- a/Makefile.js +++ b/Makefile.js @@ -292,6 +292,9 @@ function generateRelease() { target.gensite(); generateBlogPost(releaseInfo); commitSiteToGit(`v${releaseInfo.version}`); + + echo("Updating commit with rules meta data"); + exec("git add docs/src/_data && git commit --amend --no-edit"); } /** From 19166b0f81eb45101b66704f12a43e7546b0f05f Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Fri, 3 Jun 2022 14:13:05 -0700 Subject: [PATCH 4/8] Fix message --- Makefile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.js b/Makefile.js index c11bb475ee2..313d8b5e024 100644 --- a/Makefile.js +++ b/Makefile.js @@ -293,7 +293,7 @@ function generateRelease() { generateBlogPost(releaseInfo); commitSiteToGit(`v${releaseInfo.version}`); - echo("Updating commit with rules meta data"); + echo("Updating commit with docs data"); exec("git add docs/src/_data && git commit --amend --no-edit"); } From a4782f009b47ec55bacb08fd428cf6a277782fcb Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Wed, 8 Jun 2022 11:00:40 -0700 Subject: [PATCH 5/8] Update git tag --- Makefile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.js b/Makefile.js index 313d8b5e024..69f14409a8c 100644 --- a/Makefile.js +++ b/Makefile.js @@ -295,6 +295,7 @@ function generateRelease() { echo("Updating commit with docs data"); exec("git add docs/src/_data && git commit --amend --no-edit"); + exec(`git tag -f v${releaseInfo.version}`); } /** From 0b7155c266d5ada272c5b2e0f42e03d4f233a559 Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Wed, 8 Jun 2022 11:14:49 -0700 Subject: [PATCH 6/8] Fix conflicts --- docs/src/_includes/components/rule-categories.macro.html | 2 +- docs/src/_includes/layouts/doc.html | 5 ++--- docs/src/pages/rules.md | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/_includes/components/rule-categories.macro.html b/docs/src/_includes/components/rule-categories.macro.html index 3797f8d0a30..dccadbed077 100644 --- a/docs/src/_includes/components/rule-categories.macro.html +++ b/docs/src/_includes/components/rule-categories.macro.html @@ -1,6 +1,6 @@ {%- macro ruleCategories(params) -%} -

+
{%- if params.recommended == true -%}
✅ Recommended diff --git a/docs/src/_includes/layouts/doc.html b/docs/src/_includes/layouts/doc.html index 0383fdca846..ce012a8a38d 100644 --- a/docs/src/_includes/layouts/doc.html +++ b/docs/src/_includes/layouts/doc.html @@ -15,6 +15,7 @@ {# Add in various sections to content so TOC is accurate #} {% set all_content = content %} + {% set rule_meta = rules_meta[title] %} {% if related_rules %} {% set related_rules_content %} @@ -36,7 +37,7 @@

Further Reading

{% set all_content = [all_content, further_reading_content] | join %} {% endif %} - {% if rule_type %} + {% if rule_meta %} {% set resources_content %}

Resources

    @@ -47,8 +48,6 @@

    Resources

    {% set all_content = [all_content, resources_content] | join %} {% endif %} - {% set rule_meta = rules_meta[title] %} -
    diff --git a/docs/src/pages/rules.md b/docs/src/pages/rules.md index 22ce383f2eb..2edf31a446b 100644 --- a/docs/src/pages/rules.md +++ b/docs/src/pages/rules.md @@ -15,6 +15,7 @@ eleventyNavigation: Rules in ESLint are grouped by type to help you understand their purpose. Each rule has emojis denoting: {{ ruleCategories({ + index: true, recommended: true, fixable: true, hasSuggestions: true From a206294984b9d65d16f9a2447cc3121db272d497 Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Thu, 9 Jun 2022 17:49:39 -0700 Subject: [PATCH 7/8] Update docs/src/_includes/components/rule-categories.macro.html Co-authored-by: Milos Djermanovic --- docs/src/_includes/components/rule-categories.macro.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/_includes/components/rule-categories.macro.html b/docs/src/_includes/components/rule-categories.macro.html index dccadbed077..d8531c2b579 100644 --- a/docs/src/_includes/components/rule-categories.macro.html +++ b/docs/src/_includes/components/rule-categories.macro.html @@ -5,7 +5,7 @@
    ✅ Recommended

    - The "extends": "eslint:recommended" property in a configuration file enables this rule + The "extends": "eslint:recommended" property in a configuration file enables this rule

    {%- endif -%} From 677f2830257bb9ad16bec3888a525533627ad009 Mon Sep 17 00:00:00 2001 From: "Nicholas C. Zakas" Date: Mon, 13 Jun 2022 10:09:42 -0700 Subject: [PATCH 8/8] Create annotated tag --- Makefile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.js b/Makefile.js index 69f14409a8c..cc7d76bf411 100644 --- a/Makefile.js +++ b/Makefile.js @@ -295,7 +295,7 @@ function generateRelease() { echo("Updating commit with docs data"); exec("git add docs/src/_data && git commit --amend --no-edit"); - exec(`git tag -f v${releaseInfo.version}`); + exec(`git tag -a -f v${releaseInfo.version} -m ${releaseInfo.version}`); } /**