From 32d834480add9044d12b7e3128f65d43e0792492 Mon Sep 17 00:00:00 2001 From: Stephen Carter <123964848+stephen-carter-at-sf@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:19:51 -0500 Subject: [PATCH] FIX(eslint): @W-17530186@: Incorporate fixes for LWC dependencies (#195) --- package-lock.json | 276 +- .../code-analyzer-eslint-engine/package.json | 6 +- .../test/engine.test.ts | 71 +- .../rules_DefaultConfig.goldfile.json | 4682 ---------------- ...ConfigModifyingExistingRules.goldfile.json | 4682 ---------------- ...gAndCustomConfigWithNewRules.goldfile.json | 4719 ----------------- ...NoJavascriptFilesInWorkspace.goldfile.json | 3622 ------------- ...NoTypescriptFilesInWorkspace.goldfile.json | 3174 ----------- ...DisabledJavascriptBaseConfig.goldfile.json | 4196 --------------- .../rules_DisabledLwcBaseConfig.goldfile.json | 4120 -------------- ...DisabledTypescriptBaseConfig.goldfile.json | 3174 ----------- ...ConfigModifyingExistingRules.goldfile.json | 781 +-- .../rules_OnlyLwcBaseConfig.goldfile.json | 34 +- .../.eslintrc.json | 3 - 14 files changed, 205 insertions(+), 33335 deletions(-) delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledJavascriptBaseConfig.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledLwcBaseConfig.goldfile.json delete mode 100644 packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledTypescriptBaseConfig.goldfile.json diff --git a/package-lock.json b/package-lock.json index 3b6cde6d..4950ff6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1222,23 +1222,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@lwc/eslint-plugin-lwc": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.9.0.tgz", - "integrity": "sha512-z2wEUvLanstSl9o7VT/HAI7uFWHkTApz8N1ZpRQtyh8Hg6UbBZKLrg+vMxDED1vZVLu256i2KgYUWysVQyO4tg==", - "license": "MIT", - "dependencies": { - "globals": "^13.24.0", - "minimatch": "^9.0.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": "^7", - "eslint": "^7 || ^8" - } - }, "node_modules/@lwc/eslint-plugin-lwc-platform": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc-platform/-/eslint-plugin-lwc-platform-5.1.0.tgz", @@ -1267,33 +1250,6 @@ "node": ">=10" } }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -1372,98 +1328,10 @@ "resolved": "packages/code-analyzer-retirejs-engine", "link": true }, - "node_modules/@salesforce/eslint-config-lwc": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.6.0.tgz", - "integrity": "sha512-k6F3LFKl6wvAmK31B/jn8aHtqo+kwl5q96DzhIcmL1qnCZj+AzH5gw9034j+c8279d8u8dC5QIUDU1iE3aCNCg==", - "license": "MIT", - "dependencies": { - "@babel/core": "~7.24.7", - "@babel/eslint-parser": "~7.24.7", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.6.2" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@lwc/eslint-plugin-lwc": "^1.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "eslint": "^7 || ^8", - "eslint-plugin-import": "*", - "eslint-plugin-jest": "*" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/core": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", - "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.9", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.9", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz", - "integrity": "sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==", - "license": "MIT", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0", - "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz", - "integrity": "sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.1.tgz", + "integrity": "sha512-oyUVSNUA0WkkQr3BRtcAYhYotzIpqZtfMpUVMhROPN8YjDGu6CzCoC3/1i4ySIevgmH3J83KypwoqvRfoQf8Ww==", "license": "MIT", "peerDependencies": { "eslint": "^7 || ^8" @@ -7949,11 +7817,11 @@ "@babel/core": "^7.26.0", "@babel/eslint-parser": "^7.26.5", "@eslint/js": "^8.57.1", - "@lwc/eslint-plugin-lwc": "^1.9.0", + "@lwc/eslint-plugin-lwc": "^2.0.1", "@lwc/eslint-plugin-lwc-platform": "^5.1.0", "@salesforce/code-analyzer-engine-api": "0.17.0-SNAPSHOT", - "@salesforce/eslint-config-lwc": "^3.6.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/eslint-config-lwc": "^3.7.1", + "@salesforce/eslint-plugin-lightning": "^1.0.1", "@types/eslint": "^8.56.10", "@types/node": "^20.0.0", "@typescript-eslint/eslint-plugin": "^8.20.0", @@ -7977,6 +7845,111 @@ "node": ">=20.0.0" } }, + "packages/code-analyzer-eslint-engine/node_modules/@lwc/eslint-plugin-lwc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-2.0.1.tgz", + "integrity": "sha512-ibDiWTwc4jQXLtzB3Fwidz3h5q67vRtabrLQun9JpeLmkHLTz1i07gAGzMeZ+QXo8ixhWNa7jBH1Zc3nN8EgnA==", + "license": "MIT", + "dependencies": { + "globals": "^13.24.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7", + "eslint": "^7 || ^8" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/@salesforce/eslint-config-lwc": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.7.1.tgz", + "integrity": "sha512-ds6I/S+HQAXVXamFfdVQotROMJZrGL/dNYwnpLCcsa2FTaTt5jhgQ8E+B2f2+R8/g7xBiU234iuPV+2bxcwQmg==", + "license": "MIT", + "dependencies": { + "@babel/core": "~7.24.7", + "@babel/eslint-parser": "~7.24.7", + "eslint-restricted-globals": "~0.2.0", + "semver": "^7.6.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "@lwc/eslint-plugin-lwc": "^2.0.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "eslint": "^7 || ^8", + "eslint-plugin-import": "*", + "eslint-plugin-jest": "*" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/core": { + "version": "7.24.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", + "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.9", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-module-transforms": "^7.24.9", + "@babel/helpers": "^7.24.8", + "@babel/parser": "^7.24.8", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz", + "integrity": "sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "packages/code-analyzer-eslint-engine/node_modules/@types/node": { "version": "20.17.14", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.14.tgz", @@ -7986,6 +7959,33 @@ "undici-types": "~6.19.2" } }, + "packages/code-analyzer-eslint-engine/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/code-analyzer-eslint-engine/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "packages/code-analyzer-eslint-engine/node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", diff --git a/packages/code-analyzer-eslint-engine/package.json b/packages/code-analyzer-eslint-engine/package.json index 4ba2bb05..f4bb036f 100644 --- a/packages/code-analyzer-eslint-engine/package.json +++ b/packages/code-analyzer-eslint-engine/package.json @@ -16,11 +16,11 @@ "@babel/core": "^7.26.0", "@babel/eslint-parser": "^7.26.5", "@eslint/js": "^8.57.1", - "@lwc/eslint-plugin-lwc": "^1.9.0", + "@lwc/eslint-plugin-lwc": "^2.0.1", "@lwc/eslint-plugin-lwc-platform": "^5.1.0", "@salesforce/code-analyzer-engine-api": "0.17.0-SNAPSHOT", - "@salesforce/eslint-config-lwc": "^3.6.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/eslint-config-lwc": "^3.7.1", + "@salesforce/eslint-plugin-lightning": "^1.0.1", "@types/eslint": "^8.56.10", "@types/node": "^20.0.0", "@typescript-eslint/eslint-plugin": "^8.20.0", diff --git a/packages/code-analyzer-eslint-engine/test/engine.test.ts b/packages/code-analyzer-eslint-engine/test/engine.test.ts index b66a3a94..b1a6adca 100644 --- a/packages/code-analyzer-eslint-engine/test/engine.test.ts +++ b/packages/code-analyzer-eslint-engine/test/engine.test.ts @@ -43,22 +43,28 @@ describe('Tests for the getName method of ESLintEngine', () => { }) describe('Tests for the describeRules method of ESLintEngine', () => { - type LEGACY_CASE = {description: string, folder: string, expectationFile: string}; + const LWC_CONFIG_RULES: RuleDescription[] = loadRuleDescriptions('rules_OnlyLwcBaseConfig.goldfile.json'); + const JS_CONFIG_RULES: RuleDescription[] = loadRuleDescriptions('rules_OnlyJavascriptBaseConfig.goldfile.json'); + const TS_CONFIG_RULES: RuleDescription[] = loadRuleDescriptions('rules_OnlyTypescriptBaseConfig.goldfile.json'); + const DEFAULT_RULES: RuleDescription[] = makeUniqueAndSorted([...LWC_CONFIG_RULES, ...JS_CONFIG_RULES, ...TS_CONFIG_RULES]); + const CUSTOM_RULES: RuleDescription[] = loadRuleDescriptions('rules_OnlyCustomConfigWithNewRules.goldfile.json'); + + type LEGACY_CASE = {description: string, folder: string, expectationRuleDescriptions: RuleDescription[]}; const legacyCases: LEGACY_CASE[] = [ { description: 'with no customizations', folder: workspaceWithNoCustomConfig, - expectationFile: 'rules_DefaultConfig.goldfile.json' + expectationRuleDescriptions: DEFAULT_RULES }, { description: 'with config that modifies existing rules', folder: workspaceThatHasCustomConfigModifyingExistingRules, - expectationFile: 'rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json' + expectationRuleDescriptions: DEFAULT_RULES // Rule descriptions do not change even if rule properties are modified }, { description: 'with config that adds a new plugin and rules', folder: workspaceThatHasCustomConfigWithNewRules, - expectationFile: 'rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json' + expectationRuleDescriptions: makeUniqueAndSorted([...DEFAULT_RULES, ...CUSTOM_RULES]) }, ] @@ -70,7 +76,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { auto_discover_eslint_config: true }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, caseObj.expectationFile); + expect(ruleDescriptions).toEqual(caseObj.expectationRuleDescriptions); } finally { process.chdir(origWorkingDir); } @@ -82,7 +88,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({ workspace: new Workspace([caseObj.folder])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, caseObj.expectationFile); + expect(ruleDescriptions).toEqual(caseObj.expectationRuleDescriptions); }); it.each(legacyCases)('When describing rules while config_root is folder $description and auto_discover_eslint_config=true, then return expected', async (caseObj: LEGACY_CASE) => { @@ -91,21 +97,21 @@ describe('Tests for the describeRules method of ESLintEngine', () => { config_root: caseObj.folder }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, caseObj.expectationFile); + expect(ruleDescriptions).toEqual(caseObj.expectationRuleDescriptions); }); it('When describing rules from a workspace with no javascript files, then no javascript rules should return', async () => { const engine: ESLintEngine = new ESLintEngine(DEFAULT_CONFIG); const ruleDescriptions: RuleDescription[] = await engine.describeRules({workspace: new Workspace([ path.join(workspaceWithNoCustomConfig, 'dummy3.txt'), path.join(workspaceWithNoCustomConfig, 'dummy2.ts')])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When describing rules from a workspace with no typescript files, then no typescript rules should returned', async () => { const engine: ESLintEngine = new ESLintEngine(DEFAULT_CONFIG); const ruleDescriptions: RuleDescription[] = await engine.describeRules({workspace: new Workspace([ path.join(workspaceWithNoCustomConfig, 'dummy1.js'), path.join(workspaceWithNoCustomConfig, 'dummy3.txt')])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...LWC_CONFIG_RULES, ...JS_CONFIG_RULES])); }); it('When describing rules from a workspace with no javascript or typescript files, then no rules should return', async () => { @@ -131,7 +137,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules({ workspace: new Workspace([workspaceWithNoCustomConfig])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...DEFAULT_RULES, ...CUSTOM_RULES])); }); it('When auto_discover_eslint_config=false and eslint_config_file is not provided, then no user config should be applied', async () => { @@ -148,7 +154,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules({ workspace: new Workspace([workspaceThatHasCustomConfigModifyingExistingRules])}); // ... and include it in the workspace - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(DEFAULT_RULES); // Sanity check that we emit an info log event letting the user know that their custom eslint config isn't being used const relPathFromConfigRoot: string = path.join(workspaceThatHasCustomConfigModifyingExistingRules.slice((process.cwd() + path.sep).length), '.eslintrc.json'); @@ -176,7 +182,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules({ workspace: new Workspace([workspaceThatHasCustomConfigWithNewRules])}); // ... and include it in the workspace - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json'); + expect(ruleDescriptions).toEqual(DEFAULT_RULES); // Modifying rule properties does not change rule descriptions } finally { process.chdir(origWorkingDir); } @@ -187,7 +193,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_javascript_base_config: true }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DisabledJavascriptBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...LWC_CONFIG_RULES, ...TS_CONFIG_RULES])); }); it('When disable_lwc_base_config=true, then the lwc rules are removed but javascript rules remain', async() => { @@ -195,7 +201,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_lwc_base_config: true }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DisabledLwcBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...JS_CONFIG_RULES, ...TS_CONFIG_RULES])); }); it('When disable_typescript_base_config=true, then the typescript rules are removed', async() => { @@ -203,7 +209,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_typescript_base_config: true }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DisabledTypescriptBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...LWC_CONFIG_RULES, ...JS_CONFIG_RULES])); }); it('When disable_lwc_base_config=true and disable_typescript_base_config=true, then only base javascript rules remain', async() => { @@ -212,7 +218,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_lwc_base_config: true, }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_OnlyJavascriptBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(JS_CONFIG_RULES); }); it('When disable_javascript_base_config=true and disable_lwc_base_config=true, then only base typescript rules remain', async() => { @@ -221,7 +227,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_lwc_base_config: true, }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_OnlyTypescriptBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When disable_javascript_base_config=true and disable_typescript_base_config=true, then only base lwc rules remain', async() => { @@ -230,7 +236,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_typescript_base_config: true, }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_OnlyLwcBaseConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(LWC_CONFIG_RULES); }); it('When all *_javascript_base_config equal true and no custom config exists, then no rules should exist', async() => { @@ -252,7 +258,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { disable_lwc_base_config: true }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_OnlyCustomConfigWithNewRules.goldfile.json'); + expect(ruleDescriptions).toEqual(loadRuleDescriptions('rules_OnlyCustomConfigWithNewRules.goldfile.json')); }); it('When all base configs are off and custom config that modifies eslint rules exists and auto_discover_eslint_config=true, then only custom config is applied', async() => { @@ -265,7 +271,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules({ workspace: new Workspace([path.join(workspaceThatHasCustomConfigModifyingExistingRules, 'dummy1.js')]) }); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_OnlyCustomConfigModifyingExistingRules.goldfile.json'); + expect(ruleDescriptions).toEqual(loadRuleDescriptions('rules_OnlyCustomConfigModifyingExistingRules.goldfile.json')); }); it('When file_extensions.javascript is empty, then javascript rules do not get picked up', async () => { @@ -276,7 +282,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { } }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When file_extensions.javascript is empty, then javascript rules do not get picked up', async () => { @@ -287,7 +293,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { } }); const ruleDescriptions: RuleDescription[] = await engine.describeRules({}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...LWC_CONFIG_RULES, ...JS_CONFIG_RULES])); }); it('When file_extensions.javascript and file_extensions.typescript are both empty, then no rules are returned', async () => { @@ -337,7 +343,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { }); const ruleDescriptions: RuleDescription[] = await engine.describeRules( {workspace: new Workspace([workspaceThatIgnoresFilesByConfig])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When workspace contains .eslintignore that ignores a file but has not be applied, then that file not ignored and an info event is emitted', async () => { @@ -349,7 +355,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules( {workspace: new Workspace([workspaceThatHasEslintIgnoreFile])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig.goldfile.json'); + expect(ruleDescriptions).toEqual(makeUniqueAndSorted([...LWC_CONFIG_RULES, ...JS_CONFIG_RULES, ... TS_CONFIG_RULES])); const relPathFromCwd: string = path.join(workspaceThatHasEslintIgnoreFile.slice((process.cwd() + path.sep).length), '.eslintignore'); const relPathFromConfigRoot: string = path.join(workspaceThatHasEslintIgnoreFile.slice((__dirname + path.sep).length), '.eslintignore'); @@ -370,7 +376,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules( {workspace: new Workspace([workspaceThatHasEslintIgnoreFile])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When workspace contains .eslintignore that is set as the eslint_ignore_file value, then that file is ignored', async () => { @@ -383,7 +389,7 @@ describe('Tests for the describeRules method of ESLintEngine', () => { const ruleDescriptions: RuleDescription[] = await engine.describeRules( {workspace: new Workspace([workspaceThatHasEslintIgnoreFile])}); - expectRulesToMatchLegacyExpectationFile(ruleDescriptions, 'rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json'); + expect(ruleDescriptions).toEqual(TS_CONFIG_RULES); }); it('When custom rules only apply to file extensions that are not javascript or typescript based, then without specifying file extensions, they are not picked up', async () => { @@ -669,9 +675,12 @@ describe('Tests for emitting events', () => { }); }); -function expectRulesToMatchLegacyExpectationFile(ruleDescriptions: RuleDescription[], expectationFile: string): void { - const actualRuleDescriptionsJsonString: string = JSON.stringify(ruleDescriptions, undefined, 2); - const expectedRuleDescriptionsJsonString: string = fs.readFileSync( - path.join(legacyConfigCasesFolder, expectationFile), 'utf8'); - expect(actualRuleDescriptionsJsonString).toEqual(expectedRuleDescriptionsJsonString); +function loadRuleDescriptions(fileNameFromLegacyConfigCasesFolder: string): RuleDescription[] { + return JSON.parse(fs.readFileSync(path.join(legacyConfigCasesFolder, + fileNameFromLegacyConfigCasesFolder), 'utf8')) as RuleDescription[]; +} + +function makeUniqueAndSorted(ruleDescriptions: RuleDescription[]): RuleDescription[] { + return Array.from(new Map(ruleDescriptions.map(rule => [rule.name, rule])).values()) + .sort((r1, r2) => r1.name.localeCompare((r2.name))); } \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig.goldfile.json deleted file mode 100644 index 1f70d626..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig.goldfile.json +++ /dev/null @@ -1,4682 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json deleted file mode 100644 index 1f70d626..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigModifyingExistingRules.goldfile.json +++ /dev/null @@ -1,4682 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json deleted file mode 100644 index 2905ad54..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfigAndCustomConfigWithNewRules.goldfile.json +++ /dev/null @@ -1,4719 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "dummy/my-rule-1", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Custom" - ], - "description": "My description of my-rule-1", - "resourceUrls": [ - "https://example.com/my-rule-1" - ] - }, - { - "name": "dummy/my-rule-2", - "severityLevel": 5, - "tags": [ - "Recommended", - "ErrorProne", - "Custom" - ], - "description": "", - "resourceUrls": [ - "https://example.com/my-rule-2" - ] - }, - { - "name": "dummy/my-rule-3", - "severityLevel": 4, - "tags": [ - "Recommended", - "CodeStyle", - "Custom" - ], - "description": "My description of my-rule-3", - "resourceUrls": [] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json deleted file mode 100644 index 12b3cf98..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoJavascriptFilesInWorkspace.goldfile.json +++ /dev/null @@ -1,3622 +0,0 @@ -[ - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json deleted file mode 100644 index f0f41c6f..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DefaultConfig_NoTypescriptFilesInWorkspace.goldfile.json +++ /dev/null @@ -1,3174 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledJavascriptBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledJavascriptBaseConfig.goldfile.json deleted file mode 100644 index a82bb5df..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledJavascriptBaseConfig.goldfile.json +++ /dev/null @@ -1,4196 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledLwcBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledLwcBaseConfig.goldfile.json deleted file mode 100644 index 4b773ba9..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledLwcBaseConfig.goldfile.json +++ /dev/null @@ -1,4120 +0,0 @@ -[ - { - "name": "@typescript-eslint/adjacent-overload-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require that function overload signatures be consecutive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/adjacent-overload-signatures" - ] - }, - { - "name": "@typescript-eslint/array-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require consistently using either `T[]` or `Array` for arrays", - "resourceUrls": [ - "https://typescript-eslint.io/rules/array-type" - ] - }, - { - "name": "@typescript-eslint/await-thenable", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow awaiting a value that is not a Thenable", - "resourceUrls": [ - "https://typescript-eslint.io/rules/await-thenable" - ] - }, - { - "name": "@typescript-eslint/ban-ts-comment", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow `@ts-` comments or require descriptions after directives", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-ts-comment" - ] - }, - { - "name": "@typescript-eslint/ban-tslint-comment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `// tslint:` comments", - "resourceUrls": [ - "https://typescript-eslint.io/rules/ban-tslint-comment" - ] - }, - { - "name": "@typescript-eslint/class-literal-property-style", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that literals on classes are exposed in a consistent style", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-literal-property-style" - ] - }, - { - "name": "@typescript-eslint/class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/class-methods-use-this" - ] - }, - { - "name": "@typescript-eslint/consistent-generic-constructors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce specifying generic type arguments on type annotation or constructor name of a constructor call", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-generic-constructors" - ] - }, - { - "name": "@typescript-eslint/consistent-indexed-object-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow the `Record` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-indexed-object-style" - ] - }, - { - "name": "@typescript-eslint/consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-return" - ] - }, - { - "name": "@typescript-eslint/consistent-type-assertions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-assertions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-definitions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce type definitions to consistently use either `interface` or `type`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-definitions" - ] - }, - { - "name": "@typescript-eslint/consistent-type-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type exports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-exports" - ] - }, - { - "name": "@typescript-eslint/consistent-type-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce consistent usage of type imports", - "resourceUrls": [ - "https://typescript-eslint.io/rules/consistent-type-imports" - ] - }, - { - "name": "@typescript-eslint/default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://typescript-eslint.io/rules/default-param-last" - ] - }, - { - "name": "@typescript-eslint/dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/dot-notation" - ] - }, - { - "name": "@typescript-eslint/explicit-function-return-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return types on functions and class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-function-return-type" - ] - }, - { - "name": "@typescript-eslint/explicit-member-accessibility", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit accessibility modifiers on class properties and methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-member-accessibility" - ] - }, - { - "name": "@typescript-eslint/explicit-module-boundary-types", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require explicit return and argument types on exported functions' and classes' public class methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/explicit-module-boundary-types" - ] - }, - { - "name": "@typescript-eslint/init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/init-declarations" - ] - }, - { - "name": "@typescript-eslint/max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/max-params" - ] - }, - { - "name": "@typescript-eslint/member-ordering", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require a consistent member declaration order", - "resourceUrls": [ - "https://typescript-eslint.io/rules/member-ordering" - ] - }, - { - "name": "@typescript-eslint/method-signature-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using a particular method signature syntax", - "resourceUrls": [ - "https://typescript-eslint.io/rules/method-signature-style" - ] - }, - { - "name": "@typescript-eslint/naming-convention", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce naming conventions for everything across a codebase", - "resourceUrls": [ - "https://typescript-eslint.io/rules/naming-convention" - ] - }, - { - "name": "@typescript-eslint/no-array-constructor", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow generic `Array` constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-constructor" - ] - }, - { - "name": "@typescript-eslint/no-array-delete", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the `delete` operator on array values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-array-delete" - ] - }, - { - "name": "@typescript-eslint/no-base-to-string", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-base-to-string" - ] - }, - { - "name": "@typescript-eslint/no-confusing-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertion in locations that may be confusing", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-confusing-void-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require expressions of type void to appear in statement position", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-confusing-void-expression" - ] - }, - { - "name": "@typescript-eslint/no-deprecated", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using code marked as `@deprecated`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-deprecated" - ] - }, - { - "name": "@typescript-eslint/no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dupe-class-members" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-enum-values", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow duplicate enum member values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-enum-values" - ] - }, - { - "name": "@typescript-eslint/no-duplicate-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow duplicate constituents of union or intersection types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-duplicate-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-dynamic-delete", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow using the `delete` operator on computed key expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-dynamic-delete" - ] - }, - { - "name": "@typescript-eslint/no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-function" - ] - }, - { - "name": "@typescript-eslint/no-empty-object-type", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow accidentally using the \"empty object\" type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-empty-object-type" - ] - }, - { - "name": "@typescript-eslint/no-explicit-any", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow the `any` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-explicit-any" - ] - }, - { - "name": "@typescript-eslint/no-extra-non-null-assertion", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow extra non-null assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extra-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-extraneous-class", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow classes used as namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-extraneous-class" - ] - }, - { - "name": "@typescript-eslint/no-floating-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require Promise-like statements to be handled appropriately", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-floating-promises" - ] - }, - { - "name": "@typescript-eslint/no-for-in-array", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow iterating over an array with a for-in loop", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-for-in-array" - ] - }, - { - "name": "@typescript-eslint/no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-implied-eval" - ] - }, - { - "name": "@typescript-eslint/no-import-type-side-effects", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-import-type-side-effects" - ] - }, - { - "name": "@typescript-eslint/no-inferrable-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-inferrable-types" - ] - }, - { - "name": "@typescript-eslint/no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow `this` keywords outside of classes or class-like objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-this" - ] - }, - { - "name": "@typescript-eslint/no-invalid-void-type", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow `void` type outside of generic or return types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-invalid-void-type" - ] - }, - { - "name": "@typescript-eslint/no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-loop-func" - ] - }, - { - "name": "@typescript-eslint/no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-magic-numbers" - ] - }, - { - "name": "@typescript-eslint/no-meaningless-void-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow the `void` operator except when used to discard a value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-meaningless-void-operator" - ] - }, - { - "name": "@typescript-eslint/no-misused-new", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Enforce valid definition of `new` and `constructor`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-new" - ] - }, - { - "name": "@typescript-eslint/no-misused-promises", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow Promises in places not designed to handle them", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-promises" - ] - }, - { - "name": "@typescript-eslint/no-misused-spread", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the spread operator when it might cause unexpected behavior", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-misused-spread" - ] - }, - { - "name": "@typescript-eslint/no-mixed-enums", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow enums from having both number and string members", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-mixed-enums" - ] - }, - { - "name": "@typescript-eslint/no-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow TypeScript namespaces", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-namespace" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-nullish-coalescing", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions in the left operand of a nullish coalescing operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/no-non-null-asserted-optional-chain", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions after an optional chain expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain" - ] - }, - { - "name": "@typescript-eslint/no-non-null-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow non-null assertions using the `!` postfix operator", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-non-null-assertion" - ] - }, - { - "name": "@typescript-eslint/no-redeclare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redeclare" - ] - }, - { - "name": "@typescript-eslint/no-redundant-type-constituents", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow members of unions and intersections that do nothing or override type information", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-redundant-type-constituents" - ] - }, - { - "name": "@typescript-eslint/no-require-imports", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow invocation of `require()`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-require-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-imports" - ] - }, - { - "name": "@typescript-eslint/no-restricted-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-restricted-types" - ] - }, - { - "name": "@typescript-eslint/no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-shadow" - ] - }, - { - "name": "@typescript-eslint/no-this-alias", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow aliasing `this`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-this-alias" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-boolean-literal-compare", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary equality comparisons against boolean literals", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow conditionals where the type is always truthy or always falsy", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-condition" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-parameter-property-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary assignment of constructor property parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-qualifier", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary namespace qualifiers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-qualifier" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-template-expression", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary template expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-template-expression" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-arguments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type arguments that are equal to the default", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-arguments" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-assertion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow type assertions that do not change the type of an expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-constraint", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unnecessary constraints on generic types", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-constraint" - ] - }, - { - "name": "@typescript-eslint/no-unnecessary-type-parameters", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type parameters that aren't used multiple times", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unnecessary-type-parameters" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-argument", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a function with a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-argument" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-assignment", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow assigning a value with type `any` to variables and properties", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-assignment" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-call", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow calling a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-call" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-declaration-merging", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unsafe declaration merging", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-declaration-merging" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-enum-comparison", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow comparing an enum value with a non-enum value", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-enum-comparison" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-function-type", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using the unsafe built-in Function type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-function-type" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-member-access", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow member access on a value with type `any`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-member-access" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow returning a value with type `any` from a function", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-return" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-type-assertion", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow type assertions that narrow a type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-type-assertion" - ] - }, - { - "name": "@typescript-eslint/no-unsafe-unary-minus", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require unary negation to take a number", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unsafe-unary-minus" - ] - }, - { - "name": "@typescript-eslint/no-unused-expressions", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-expressions" - ] - }, - { - "name": "@typescript-eslint/no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-unused-vars" - ] - }, - { - "name": "@typescript-eslint/no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-use-before-define" - ] - }, - { - "name": "@typescript-eslint/no-useless-constructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-constructor" - ] - }, - { - "name": "@typescript-eslint/no-useless-empty-export", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow empty exports that don't change anything in a module file", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-useless-empty-export" - ] - }, - { - "name": "@typescript-eslint/no-wrapper-object-types", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Typescript" - ], - "description": "Disallow using confusing built-in primitive class wrappers", - "resourceUrls": [ - "https://typescript-eslint.io/rules/no-wrapper-object-types" - ] - }, - { - "name": "@typescript-eslint/non-nullable-type-assertion-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce non-null assertions over explicit type assertions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/non-nullable-type-assertion-style" - ] - }, - { - "name": "@typescript-eslint/only-throw-error", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Disallow throwing non-`Error` values as exceptions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/only-throw-error" - ] - }, - { - "name": "@typescript-eslint/parameter-properties", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require or disallow parameter properties in class constructors", - "resourceUrls": [ - "https://typescript-eslint.io/rules/parameter-properties" - ] - }, - { - "name": "@typescript-eslint/prefer-as-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `as const` over literal type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-as-const" - ] - }, - { - "name": "@typescript-eslint/prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-destructuring" - ] - }, - { - "name": "@typescript-eslint/prefer-enum-initializers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require each enum member value to be explicitly initialized", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-enum-initializers" - ] - }, - { - "name": "@typescript-eslint/prefer-find", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-find" - ] - }, - { - "name": "@typescript-eslint/prefer-for-of", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce the use of `for-of` loop over the standard `for` loop where possible", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-for-of" - ] - }, - { - "name": "@typescript-eslint/prefer-function-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using function types instead of interfaces with call signatures", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-function-type" - ] - }, - { - "name": "@typescript-eslint/prefer-includes", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `includes` method over `indexOf` method", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-includes" - ] - }, - { - "name": "@typescript-eslint/prefer-literal-enum-member", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require all enum members to be literal values", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-literal-enum-member" - ] - }, - { - "name": "@typescript-eslint/prefer-namespace-keyword", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-namespace-keyword" - ] - }, - { - "name": "@typescript-eslint/prefer-nullish-coalescing", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using the nullish coalescing operator instead of logical assignments or chaining", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-nullish-coalescing" - ] - }, - { - "name": "@typescript-eslint/prefer-optional-chain", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-optional-chain" - ] - }, - { - "name": "@typescript-eslint/prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require private members to be marked as `readonly` if they're never modified outside of the constructor", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly" - ] - }, - { - "name": "@typescript-eslint/prefer-readonly-parameter-types", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-readonly-parameter-types" - ] - }, - { - "name": "@typescript-eslint/prefer-reduce-type-parameter", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce using type parameter when calling `Array#reduce` instead of using a type assertion", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-reduce-type-parameter" - ] - }, - { - "name": "@typescript-eslint/prefer-regexp-exec", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce `RegExp#exec` over `String#match` if no global flag is provided", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-regexp-exec" - ] - }, - { - "name": "@typescript-eslint/prefer-return-this-type", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce that `this` is used when only `this` type is returned", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-return-this-type" - ] - }, - { - "name": "@typescript-eslint/prefer-string-starts-ends-with", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings", - "resourceUrls": [ - "https://typescript-eslint.io/rules/prefer-string-starts-ends-with" - ] - }, - { - "name": "@typescript-eslint/promise-function-async", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require any function or method that returns a Promise to be marked async", - "resourceUrls": [ - "https://typescript-eslint.io/rules/promise-function-async" - ] - }, - { - "name": "@typescript-eslint/related-getter-setter-pairs", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce that `get()` types should be assignable to their equivalent `set()` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/related-getter-setter-pairs" - ] - }, - { - "name": "@typescript-eslint/require-array-sort-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-array-sort-compare" - ] - }, - { - "name": "@typescript-eslint/require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow async functions which do not return promises and have no `await` expression", - "resourceUrls": [ - "https://typescript-eslint.io/rules/require-await" - ] - }, - { - "name": "@typescript-eslint/restrict-plus-operands", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Require both operands of addition to be the same type and be `bigint`, `number`, or `string`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-plus-operands" - ] - }, - { - "name": "@typescript-eslint/restrict-template-expressions", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce template literal expressions to be of `string` type", - "resourceUrls": [ - "https://typescript-eslint.io/rules/restrict-template-expressions" - ] - }, - { - "name": "@typescript-eslint/return-await", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce consistent awaiting of returned promises", - "resourceUrls": [ - "https://typescript-eslint.io/rules/return-await" - ] - }, - { - "name": "@typescript-eslint/strict-boolean-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow certain types in boolean expressions", - "resourceUrls": [ - "https://typescript-eslint.io/rules/strict-boolean-expressions" - ] - }, - { - "name": "@typescript-eslint/switch-exhaustiveness-check", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require switch-case statements to be exhaustive", - "resourceUrls": [ - "https://typescript-eslint.io/rules/switch-exhaustiveness-check" - ] - }, - { - "name": "@typescript-eslint/triple-slash-reference", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Typescript" - ], - "description": "Disallow certain triple slash directives in favor of ES6-style import declarations", - "resourceUrls": [ - "https://typescript-eslint.io/rules/triple-slash-reference" - ] - }, - { - "name": "@typescript-eslint/typedef", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Require type annotations in certain places", - "resourceUrls": [ - "https://typescript-eslint.io/rules/typedef" - ] - }, - { - "name": "@typescript-eslint/unbound-method", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Typescript" - ], - "description": "Enforce unbound methods are called with their expected scope", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unbound-method" - ] - }, - { - "name": "@typescript-eslint/unified-signatures", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Disallow two overloads that could be unified into one with a union or an optional/rest parameter", - "resourceUrls": [ - "https://typescript-eslint.io/rules/unified-signatures" - ] - }, - { - "name": "@typescript-eslint/use-unknown-in-catch-callback-variable", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Typescript" - ], - "description": "Enforce typing arguments in Promise rejection callbacks as `unknown`", - "resourceUrls": [ - "https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledTypescriptBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledTypescriptBaseConfig.goldfile.json deleted file mode 100644 index f0f41c6f..00000000 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_DisabledTypescriptBaseConfig.goldfile.json +++ /dev/null @@ -1,3174 +0,0 @@ -[ - { - "name": "@lwc/lwc-platform/no-aura", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow usage of \"$A\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-aura-libs", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Aura libraries", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-community-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Community-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-create-context-provider", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createContextProvider\" from \"lwc\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-deprecated-module-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow importing deprecated modules", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-dynamic-import-identifier", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow dynamic import with an identifier import(id), import(\"stringLiteral\" + id)", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-forcegen-namespace", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import or export from 'forcegen' namespace", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-inline-disable", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow inline disablement of ESLint rule", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-create", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"createComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-dispatch", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"dispatchGlobalEvent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalController\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-privileged", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_executeGlobalControllerPrivileged\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-execute-raw-response", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"executeGlobalControllerRawResponse\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getEventDef\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-get-module", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"getModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-is-external-definition", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"isExternalDefinition\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-load-definitions", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"unstable_loadComponentDefs\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-instrumentation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-instrumentation\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-module-storage", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"aura-storage\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-register", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"registerModule\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-render", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"renderComponent\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-interop-sanitize", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow import of \"sanitizeDOM\" from \"aura\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-process-env", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of the \"process\" global object", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-site-import", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of Site-only properties", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/no-wire-service", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow import of \"wire-service\"", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc-platform/valid-dynamic-import-hint", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "validate hint comment in a dynamic import statement", - "resourceUrls": [] - }, - { - "name": "@lwc/lwc/no-api-reassignments", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "prevent public property reassignments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" - ] - }, - { - "name": "@lwc/lwc/no-async-operation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of async operations", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" - ] - }, - { - "name": "@lwc/lwc/no-attributes-during-construction", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "no attributes during construction", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" - ] - }, - { - "name": "@lwc/lwc/no-deprecated", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "disallow usage of deprecated LWC APIs", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" - ] - }, - { - "name": "@lwc/lwc/no-disallowed-lwc-imports", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected imports from the lwc package", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" - ] - }, - { - "name": "@lwc/lwc/no-document-query", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow DOM query at the document level.", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" - ] - }, - { - "name": "@lwc/lwc/no-inner-html", - "severityLevel": 2, - "tags": [ - "Recommended", - "LWC", - "Security", - "Javascript" - ], - "description": "disallow usage of \"innerHtml\"", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" - ] - }, - { - "name": "@lwc/lwc/no-leading-uppercase-api-name", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "disallow public property to start with an upper case character", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" - ] - }, - { - "name": "@lwc/lwc/no-template-children", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "prevent accessing the immediate children of this.template", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" - ] - }, - { - "name": "@lwc/lwc/no-unexpected-wire-adapter-usages", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict unexpected wire adapter usages", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" - ] - }, - { - "name": "@lwc/lwc/no-unknown-wire-adapters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "restrict usage of unknown wire adapters", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" - ] - }, - { - "name": "@lwc/lwc/prefer-custom-event", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "BestPractices", - "Javascript" - ], - "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" - ] - }, - { - "name": "@lwc/lwc/valid-api", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate api decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" - ] - }, - { - "name": "@lwc/lwc/valid-graphql-wire-adapter-callback-parameters", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate graphql error callback parameter", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" - ] - }, - { - "name": "@lwc/lwc/valid-track", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate track decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" - ] - }, - { - "name": "@lwc/lwc/valid-wire", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "validate wire decorator usage", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" - ] - }, - { - "name": "@salesforce/lightning/valid-apex-method-invocation", - "severityLevel": 3, - "tags": [ - "Recommended", - "LWC", - "ErrorProne", - "Javascript" - ], - "description": "enforce invoking Apex methods with the right arguments", - "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" - ] - }, - { - "name": "accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce getter and setter pairs in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/accessor-pairs" - ] - }, - { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "arrow-body-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require braces around arrow function bodies", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/arrow-body-style" - ] - }, - { - "name": "block-scoped-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of variables within the scope they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/block-scoped-var" - ] - }, - { - "name": "camelcase", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce camelcase naming convention", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/camelcase" - ] - }, - { - "name": "capitalized-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce or disallow capitalization of the first letter of a comment", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/capitalized-comments" - ] - }, - { - "name": "class-methods-use-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce that class methods utilize `this`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/class-methods-use-this" - ] - }, - { - "name": "complexity", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum cyclomatic complexity allowed in a program", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/complexity" - ] - }, - { - "name": "consistent-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require `return` statements to either always or never specify values", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-return" - ] - }, - { - "name": "consistent-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent naming when capturing the current execution context", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/consistent-this" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "curly", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce consistent brace style for all control statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/curly" - ] - }, - { - "name": "default-case", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `default` cases in `switch` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case" - ] - }, - { - "name": "default-case-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce default clauses in switch statements to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-case-last" - ] - }, - { - "name": "default-param-last", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce default parameters to be last", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/default-param-last" - ] - }, - { - "name": "dot-notation", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce dot notation whenever possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/dot-notation" - ] - }, - { - "name": "eqeqeq", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require the use of `===` and `!==`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/eqeqeq" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "func-name-matching", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require function names to match the name of the variable or property to which they are assigned", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-name-matching" - ] - }, - { - "name": "func-names", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow named `function` expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-names" - ] - }, - { - "name": "func-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of either `function` declarations or expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/func-style" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "grouped-accessor-pairs", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require grouped accessor pairs in object literals and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/grouped-accessor-pairs" - ] - }, - { - "name": "guard-for-in", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `for-in` loops to include an `if` statement", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/guard-for-in" - ] - }, - { - "name": "id-denylist", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-denylist" - ] - }, - { - "name": "id-length", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce minimum and maximum identifier lengths", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-length" - ] - }, - { - "name": "id-match", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require identifiers to match a specified regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/id-match" - ] - }, - { - "name": "init-declarations", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require or disallow initialization in variable declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/init-declarations" - ] - }, - { - "name": "line-comment-position", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Enforce position of line comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/line-comment-position" - ] - }, - { - "name": "logical-assignment-operators", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow logical assignment operator shorthand", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/logical-assignment-operators" - ] - }, - { - "name": "max-classes-per-file", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of classes per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-classes-per-file" - ] - }, - { - "name": "max-depth", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that blocks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-depth" - ] - }, - { - "name": "max-lines", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines per file", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines" - ] - }, - { - "name": "max-lines-per-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of lines of code in a function", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-lines-per-function" - ] - }, - { - "name": "max-nested-callbacks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum depth that callbacks can be nested", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-nested-callbacks" - ] - }, - { - "name": "max-params", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Enforce a maximum number of parameters in function definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-params" - ] - }, - { - "name": "max-statements", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a maximum number of statements allowed in function blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/max-statements" - ] - }, - { - "name": "multiline-comment-style", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce a particular style for multiline comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/multiline-comment-style" - ] - }, - { - "name": "new-cap", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require constructor names to begin with a capital letter", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/new-cap" - ] - }, - { - "name": "no-alert", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `alert`, `confirm`, and `prompt`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-alert" - ] - }, - { - "name": "no-array-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow `Array` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-array-constructor" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-await-in-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow `await` inside of loops", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-await-in-loop" - ] - }, - { - "name": "no-bitwise", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow bitwise operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-bitwise" - ] - }, - { - "name": "no-caller", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `arguments.caller` or `arguments.callee`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-caller" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-console", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `console`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-console" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-binary-expression", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow expressions where the operation doesn't affect the value", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-binary-expression" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-constructor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning value from constructor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constructor-return" - ] - }, - { - "name": "no-continue", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `continue` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-continue" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-div-regex", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow equal signs explicitly at the beginning of regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-div-regex" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-duplicate-imports", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate module imports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-imports" - ] - }, - { - "name": "no-else-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `else` blocks after `return` statements in `if` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-else-return" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-function", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow empty functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-function" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-empty-static-block", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty static blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-static-block" - ] - }, - { - "name": "no-eq-null", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `null` comparisons without type-checking operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eq-null" - ] - }, - { - "name": "no-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `eval()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-eval" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extend-native", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow extending native types", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extend-native" - ] - }, - { - "name": "no-extra-bind", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.bind()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-bind" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-extra-label", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-label" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-implicit-coercion", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow shorthand type conversions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-coercion" - ] - }, - { - "name": "no-implicit-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow declarations in the global scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implicit-globals" - ] - }, - { - "name": "no-implied-eval", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow the use of `eval()`-like methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-implied-eval" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inline-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow inline comments after code", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inline-comments" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-invalid-this", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow use of `this` in contexts where the value of `this` is `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-this" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-iterator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__iterator__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-iterator" - ] - }, - { - "name": "no-label-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labels that share a name with a variable", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-label-var" - ] - }, - { - "name": "no-labels", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow labeled statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-labels" - ] - }, - { - "name": "no-lone-blocks", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lone-blocks" - ] - }, - { - "name": "no-lonely-if", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `if` statements as the only statement in `else` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-lonely-if" - ] - }, - { - "name": "no-loop-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow function declarations that contain unsafe references inside loop statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loop-func" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-magic-numbers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow magic numbers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-magic-numbers" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-multi-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of chained assignment expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-assign" - ] - }, - { - "name": "no-multi-str", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiline strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-multi-str" - ] - }, - { - "name": "no-negated-condition", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow negated conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-negated-condition" - ] - }, - { - "name": "no-nested-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow nested ternary expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nested-ternary" - ] - }, - { - "name": "no-new", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators outside of assignments or comparisons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new" - ] - }, - { - "name": "no-new-func", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `Function` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-func" - ] - }, - { - "name": "no-new-native-nonconstructor", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with global non-constructor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-new-wrappers", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-wrappers" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-object-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow calls to the `Object` constructor without an argument", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-object-constructor" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-octal-escape", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow octal escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal-escape" - ] - }, - { - "name": "no-param-reassign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning `function` parameters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-param-reassign" - ] - }, - { - "name": "no-plusplus", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the unary operators `++` and `--`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-plusplus" - ] - }, - { - "name": "no-promise-executor-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow returning values from Promise executor functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-promise-executor-return" - ] - }, - { - "name": "no-proto", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of the `__proto__` property", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-proto" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-restricted-exports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified names in exports", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-exports" - ] - }, - { - "name": "no-restricted-globals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-globals" - ] - }, - { - "name": "no-restricted-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow specified modules when loaded by `import`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-imports" - ] - }, - { - "name": "no-restricted-properties", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow certain properties on certain objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-properties" - ] - }, - { - "name": "no-restricted-syntax", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-restricted-syntax" - ] - }, - { - "name": "no-return-assign", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in `return` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-return-assign" - ] - }, - { - "name": "no-script-url", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `javascript:` urls", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-script-url" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-self-compare", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparisons where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-compare" - ] - }, - { - "name": "no-sequences", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow comma operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sequences" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow variable declarations from shadowing variables declared in the outer scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-template-curly-in-string", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow template literal placeholder syntax in regular strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-template-curly-in-string" - ] - }, - { - "name": "no-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ternary" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-throw-literal", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow throwing literals as exceptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-throw-literal" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-undef-init", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow initializing variables to `undefined`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef-init" - ] - }, - { - "name": "no-undefined", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `undefined` as an identifier", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undefined" - ] - }, - { - "name": "no-underscore-dangle", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow dangling underscores in identifiers", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-underscore-dangle" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unmodified-loop-condition", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unmodified loop conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unmodified-loop-condition" - ] - }, - { - "name": "no-unneeded-ternary", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow ternary operators when simpler alternatives exist", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unneeded-ternary" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unreachable-loop", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow loops with a body that allows only one iteration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable-loop" - ] - }, - { - "name": "no-unsafe-finally", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" - ] - }, - { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-expressions", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unused expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-expressions" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-private-class-members", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow unused private class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-private-class-members" - ] - }, - { - "name": "no-unused-vars", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" - ] - }, - { - "name": "no-use-before-define", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of variables before they are defined", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-use-before-define" - ] - }, - { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow useless backreferences in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-call", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary calls to `.call()` and `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-call" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-useless-computed-key", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary computed property keys in objects and classes", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-computed-key" - ] - }, - { - "name": "no-useless-concat", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary concatenation of literals or template literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-concat" - ] - }, - { - "name": "no-useless-constructor", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow unnecessary constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-constructor" - ] - }, - { - "name": "no-useless-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary escape characters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-escape" - ] - }, - { - "name": "no-useless-rename", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow renaming import, export, and destructured assignments to the same name", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-rename" - ] - }, - { - "name": "no-useless-return", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow redundant return statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-return" - ] - }, - { - "name": "no-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `let` or `const` instead of `var`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-var" - ] - }, - { - "name": "no-void", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `void` operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-void" - ] - }, - { - "name": "no-warning-comments", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow specified warning terms in comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-warning-comments" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "object-shorthand", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow method and property shorthand syntax for object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/object-shorthand" - ] - }, - { - "name": "one-var", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce variables to be declared either together or separately in functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/one-var" - ] - }, - { - "name": "operator-assignment", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow assignment operator shorthand where possible", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/operator-assignment" - ] - }, - { - "name": "prefer-arrow-callback", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require using arrow functions for callbacks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-arrow-callback" - ] - }, - { - "name": "prefer-const", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `const` declarations for variables that are never reassigned after declared", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-const" - ] - }, - { - "name": "prefer-destructuring", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require destructuring from arrays and/or objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-destructuring" - ] - }, - { - "name": "prefer-exponentiation-operator", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `Math.pow` in favor of the `**` operator", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator" - ] - }, - { - "name": "prefer-named-capture-group", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce using named capture group in regular expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-named-capture-group" - ] - }, - { - "name": "prefer-numeric-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-numeric-literals" - ] - }, - { - "name": "prefer-object-has-own", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-has-own" - ] - }, - { - "name": "prefer-object-spread", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-object-spread" - ] - }, - { - "name": "prefer-promise-reject-errors", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Require using Error objects as Promise rejection reasons", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-promise-reject-errors" - ] - }, - { - "name": "prefer-regex-literals", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow use of the `RegExp` constructor in favor of regular expression literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-regex-literals" - ] - }, - { - "name": "prefer-rest-params", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require rest parameters instead of `arguments`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-rest-params" - ] - }, - { - "name": "prefer-spread", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require spread operators instead of `.apply()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-spread" - ] - }, - { - "name": "prefer-template", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require template literals instead of string concatenation", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/prefer-template" - ] - }, - { - "name": "radix", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the consistent use of the radix argument when using `parseInt()`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/radix" - ] - }, - { - "name": "require-atomic-updates", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments that can lead to race conditions due to usage of `await` or `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-atomic-updates" - ] - }, - { - "name": "require-await", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript" - ], - "description": "Disallow async functions which have no `await` expression", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-await" - ] - }, - { - "name": "require-unicode-regexp", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce the use of `u` or `v` flag on RegExp", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-unicode-regexp" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "sort-imports", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Enforce sorted import declarations within modules", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-imports" - ] - }, - { - "name": "sort-keys", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require object keys to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-keys" - ] - }, - { - "name": "sort-vars", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require variables within the same declaration block to be sorted", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/sort-vars" - ] - }, - { - "name": "strict", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow strict mode directives", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/strict" - ] - }, - { - "name": "symbol-description", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require symbol descriptions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/symbol-description" - ] - }, - { - "name": "unicode-bom", - "severityLevel": 4, - "tags": [ - "CodeStyle", - "Javascript", - "Typescript" - ], - "description": "Require or disallow Unicode byte order mark (BOM)", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/unicode-bom" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" - ] - }, - { - "name": "vars-on-top", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require `var` declarations be placed at the top of their containing scope", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/vars-on-top" - ] - }, - { - "name": "yoda", - "severityLevel": 3, - "tags": [ - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require or disallow \"Yoda\" conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/yoda" - ] - } -] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyCustomConfigModifyingExistingRules.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyCustomConfigModifyingExistingRules.goldfile.json index ee751241..c67eb1e1 100644 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyCustomConfigModifyingExistingRules.goldfile.json +++ b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyCustomConfigModifyingExistingRules.goldfile.json @@ -1,809 +1,42 @@ [ { - "name": "array-callback-return", - "severityLevel": 2, - "tags": [ - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce `return` statements in callbacks of array methods", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/array-callback-return" - ] - }, - { - "name": "constructor-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Require `super()` calls in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/constructor-super" - ] - }, - { - "name": "for-direction", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Enforce \"for\" loop update clause moving the counter in the right direction", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/for-direction" - ] - }, - { - "name": "getter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Enforce `return` statements in getters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/getter-return" - ] - }, - { - "name": "no-async-promise-executor", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow using an async function as a Promise executor", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-async-promise-executor" - ] - }, - { - "name": "no-case-declarations", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow lexical declarations in case clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-case-declarations" - ] - }, - { - "name": "no-class-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-class-assign" - ] - }, - { - "name": "no-compare-neg-zero", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow comparing against -0", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-compare-neg-zero" - ] - }, - { - "name": "no-cond-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignment operators in conditional expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-cond-assign" - ] - }, - { - "name": "no-const-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `const` variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-const-assign" - ] - }, - { - "name": "no-constant-condition", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow constant expressions in conditions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-constant-condition" - ] - }, - { - "name": "no-control-regex", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow control characters in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-control-regex" - ] - }, - { - "name": "no-debugger", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow the use of `debugger`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-debugger" - ] - }, - { - "name": "no-delete-var", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow deleting variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-delete-var" - ] - }, - { - "name": "no-dupe-args", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate arguments in `function` definitions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-args" - ] - }, - { - "name": "no-dupe-class-members", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate class members", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-class-members" - ] - }, - { - "name": "no-dupe-else-if", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate conditions in if-else-if chains", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-else-if" - ] - }, - { - "name": "no-dupe-keys", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow duplicate keys in object literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-dupe-keys" - ] - }, - { - "name": "no-duplicate-case", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow duplicate case labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-duplicate-case" - ] - }, - { - "name": "no-empty", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow empty block statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty" - ] - }, - { - "name": "no-empty-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty character classes in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-character-class" - ] - }, - { - "name": "no-empty-pattern", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow empty destructuring patterns", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-empty-pattern" - ] - }, - { - "name": "no-ex-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow reassigning exceptions in `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-ex-assign" - ] - }, - { - "name": "no-extra-boolean-cast", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary boolean casts", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-extra-boolean-cast" - ] - }, - { - "name": "no-fallthrough", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow fallthrough of `case` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-fallthrough" - ] - }, - { - "name": "no-func-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow reassigning `function` declarations", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-func-assign" - ] - }, - { - "name": "no-global-assign", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments to native objects or read-only global variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-global-assign" - ] - }, - { - "name": "no-import-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow assigning to imported bindings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-import-assign" - ] - }, - { - "name": "no-inner-declarations", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow variable or `function` declarations in nested blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-inner-declarations" - ] - }, - { - "name": "no-invalid-regexp", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow invalid regular expression strings in `RegExp` constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-invalid-regexp" - ] - }, - { - "name": "no-irregular-whitespace", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow irregular whitespace", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-irregular-whitespace" - ] - }, - { - "name": "no-loss-of-precision", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow literal numbers that lose precision", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-loss-of-precision" - ] - }, - { - "name": "no-misleading-character-class", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow characters which are made with multiple code points in character class syntax", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-misleading-character-class" - ] - }, - { - "name": "no-new-symbol", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `new` operators with the `Symbol` object", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-new-symbol" - ] - }, - { - "name": "no-nonoctal-decimal-escape", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `\\8` and `\\9` escape sequences in string literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape" - ] - }, - { - "name": "no-obj-calls", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow calling global object properties as functions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-obj-calls" - ] - }, - { - "name": "no-octal", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow octal literals", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-octal" - ] - }, - { - "name": "no-prototype-builtins", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow calling some `Object.prototype` methods directly on objects", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-prototype-builtins" - ] - }, - { - "name": "no-redeclare", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript" - ], - "description": "Disallow variable redeclaration", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-redeclare" - ] - }, - { - "name": "no-regex-spaces", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow multiple spaces in regular expressions", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-regex-spaces" - ] - }, - { - "name": "no-self-assign", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow assignments where both sides are exactly the same", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-self-assign" - ] - }, - { - "name": "no-setter-return", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow returning values from setters", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-setter-return" - ] - }, - { - "name": "no-shadow-restricted-names", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow identifiers from shadowing restricted names", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-shadow-restricted-names" - ] - }, - { - "name": "no-sparse-arrays", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow sparse arrays", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-sparse-arrays" - ] - }, - { - "name": "no-this-before-super", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow `this`/`super` before calling `super()` in constructors", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-this-before-super" - ] - }, - { - "name": "no-undef", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow the use of undeclared variables unless mentioned in `/*global */` comments", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-undef" - ] - }, - { - "name": "no-unexpected-multiline", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow confusing multiline expressions", + "description": "Enforce `return` statements in callbacks of array methods", + "name": "array-callback-return", "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unexpected-multiline" - ] - }, - { - "name": "no-unreachable", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" + "https://eslint.org/docs/latest/rules/array-callback-return" ], - "description": "Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unreachable" - ] - }, - { - "name": "no-unsafe-finally", "severityLevel": 2, "tags": [ - "Recommended", "ErrorProne", "Javascript", "Typescript" - ], - "description": "Disallow control flow statements in `finally` blocks", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-finally" - ] - }, - { - "name": "no-unsafe-negation", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript" - ], - "description": "Disallow negating the left operand of relational operators", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-negation" ] }, { - "name": "no-unsafe-optional-chaining", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], - "description": "Disallow use of optional chaining in contexts where the `undefined` value is not allowed", + "description": "Disallow unused variables", + "name": "no-unused-vars", "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining" - ] - }, - { - "name": "no-unused-labels", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" + "https://eslint.org/docs/latest/rules/no-unused-vars" ], - "description": "Disallow unused labels", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-labels" - ] - }, - { - "name": "no-unused-vars", "severityLevel": 2, "tags": [ "Recommended", "ErrorProne", "Javascript" - ], - "description": "Disallow unused variables", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-unused-vars" ] }, { - "name": "no-useless-backreference", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" - ], "description": "Disallow useless backreferences in regular expressions", + "name": "no-useless-backreference", "resourceUrls": [ "https://eslint.org/docs/latest/rules/no-useless-backreference" - ] - }, - { - "name": "no-useless-catch", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow unnecessary `catch` clauses", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-useless-catch" - ] - }, - { - "name": "no-with", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Disallow `with` statements", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/no-with" - ] - }, - { - "name": "require-yield", - "severityLevel": 3, - "tags": [ - "Recommended", - "BestPractices", - "Javascript", - "Typescript" - ], - "description": "Require generator functions to contain `yield`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/require-yield" - ] - }, - { - "name": "use-isnan", - "severityLevel": 2, - "tags": [ - "Recommended", - "ErrorProne", - "Javascript", - "Typescript" ], - "description": "Require calls to `isNaN()` when checking for `NaN`", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/use-isnan" - ] - }, - { - "name": "valid-typeof", "severityLevel": 2, "tags": [ "Recommended", "ErrorProne", "Javascript", "Typescript" - ], - "description": "Enforce comparing `typeof` expressions against valid strings", - "resourceUrls": [ - "https://eslint.org/docs/latest/rules/valid-typeof" ] } ] \ No newline at end of file diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyLwcBaseConfig.goldfile.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyLwcBaseConfig.goldfile.json index c17a34da..deae95d3 100644 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyLwcBaseConfig.goldfile.json +++ b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/rules_OnlyLwcBaseConfig.goldfile.json @@ -334,7 +334,7 @@ ], "description": "prevent public property reassignments", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-api-reassignments.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-api-reassignments.md" ] }, { @@ -348,7 +348,7 @@ ], "description": "restrict usage of async operations", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-async-operation.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-async-operation.md" ] }, { @@ -362,7 +362,7 @@ ], "description": "no attributes during construction", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-attributes-during-construction.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-attributes-during-construction.md" ] }, { @@ -376,7 +376,7 @@ ], "description": "disallow usage of deprecated LWC APIs", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-deprecated.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-deprecated.md" ] }, { @@ -390,7 +390,7 @@ ], "description": "restrict unexpected imports from the lwc package", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-disallowed-lwc-imports.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-disallowed-lwc-imports.md" ] }, { @@ -404,7 +404,7 @@ ], "description": "disallow DOM query at the document level.", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-document-query.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-document-query.md" ] }, { @@ -418,7 +418,7 @@ ], "description": "disallow usage of \"innerHtml\"", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-inner-htm.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-inner-html.md" ] }, { @@ -432,7 +432,7 @@ ], "description": "disallow public property to start with an upper case character", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-leading-uppercase-api-name.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-leading-uppercase-api-name.md" ] }, { @@ -446,7 +446,7 @@ ], "description": "prevent accessing the immediate children of this.template", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-template-children.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-template-children.md" ] }, { @@ -460,7 +460,7 @@ ], "description": "restrict unexpected wire adapter usages", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unexpected-wire-adapter-usages.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-unexpected-wire-adapter-usages.md" ] }, { @@ -474,7 +474,7 @@ ], "description": "restrict usage of unknown wire adapters", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/no-unknown-wire-adapters.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/no-unknown-wire-adapters.md" ] }, { @@ -488,7 +488,7 @@ ], "description": "suggest usage of \"CustomEvent\" over \"Event\" constructor", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/prefer-custom-event.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/prefer-custom-event.md" ] }, { @@ -502,7 +502,7 @@ ], "description": "validate api decorator usage", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-api.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/valid-api.md" ] }, { @@ -516,7 +516,7 @@ ], "description": "validate graphql error callback parameter", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-graphql-error-callback-parameter.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/valid-graphql-wire-adapter-callback-parameters.md" ] }, { @@ -530,7 +530,7 @@ ], "description": "validate track decorator usage", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-track.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/valid-track.md" ] }, { @@ -544,7 +544,7 @@ ], "description": "validate wire decorator usage", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-lwc/blob/v1.9.0/docs/rules/valid-wire.md" + "https://github.com/salesforce/eslint-plugin-lwc/blob/v2.0.1/docs/rules/valid-wire.md" ] }, { @@ -558,7 +558,7 @@ ], "description": "enforce invoking Apex methods with the right arguments", "resourceUrls": [ - "https://github.com/salesforce/eslint-plugin-light/blob/v1.0.0/docs/rules/valid-apex-method-invocation.md" + "https://github.com/salesforce/eslint-plugin-lightning/blob/v1.0.1/docs/rules/valid-apex-method-invocation.md" ] }, { diff --git a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/workspace_HasCustomConfigModifyingExistingRules/.eslintrc.json b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/workspace_HasCustomConfigModifyingExistingRules/.eslintrc.json index d1900731..eec9bfee 100644 --- a/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/workspace_HasCustomConfigModifyingExistingRules/.eslintrc.json +++ b/packages/code-analyzer-eslint-engine/test/test-data/legacyConfigCases/workspace_HasCustomConfigModifyingExistingRules/.eslintrc.json @@ -1,7 +1,4 @@ { - "extends": [ - "eslint:recommended" - ], "rules": { "array-callback-return": ["error"], "no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],