8000 fix: add `allowReserved` to `Linter.ParserOptions` type (#19710) · eslint/eslint@9da90ca · GitHub
[go: up one dir, main page]

Skip to content

Commit 9da90ca

Browse files
authored
fix: add allowReserved to Linter.ParserOptions type (#19710)

4 files changed

+30
-3
lines changed

lib/cli-engine/cli-engine.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ const validFixTypes = new Set(["directive", "problem", "suggestion", "layout"]);
6060
// For VSCode IntelliSense
6161
/** @typedef {import("../shared/types").LintMessage} LintMessage */
6262
/** @typedef {import("../shared/types").SuppressedLintMessage} SuppressedLintMessage */
63-
/** @typedef {import("../shared/types").ParserOptions} ParserOptions */
6463
/** @typedef {import("../shared/types").RuleConf} RuleConf */
6564
/** @typedef {import("../types").ESLint.ConfigData} ConfigData */
6665
/** @typedef {import("../types").ESLint.DeprecatedRuleUse} DeprecatedRuleInfo */
6766
/** @typedef {import("../types").ESLint.FormatterFunction} FormatterFunction */
67+
/** @typedef {import("../types").Linter.ParserOptions} ParserOptions */
6868
/** @typedef {import("../types").ESLint.Plugin} Plugin */
6969
/** @typedef {import("../types").Rule.RuleModule} Rule */
7070
/** @typedef {ReturnType<CascadingConfigArrayFactory.getConfigArrayForFile>} ConfigArray */

lib/linter/linter.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1560,9 +1560,16 @@ export namespace Linter {
15601560
/**
15611561
* Parser options.
15621562
*
1563-
* @see [Specifying Parser Options](https://eslint.org/docs/latest/use/configure/language-options-deprecated#specifying-parser-options)
1563+
* @see [Specifying Parser Options](https://eslint.org/docs/latest/use/configure/language-options#specifying-parser-options)
15641564
*/
15651565
interface ParserOptions {
1566+
/**
1567+
* Allow the use of reserved words as identifiers (if `ecmaVersion` is 3).
1568+
*
1569+
* @default false
1570+
*/
1571+
allowReserved?: boolean | undefined;
1572+
15661573
/**
15671574
* Accepts any valid ECMAScript version number or `'latest'`:
15681575
*

tests/lib/types/types.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,16 @@ linter.verify(
945945
},
946946
"test.js",
947947
);
948+
linter.verify(
949+
SOURCE,
950+
{
951+
parserOptions: {
952+
ecmaVersion: 3,
953+
allowReserved: true,
954+
},
955+
},
956+
"test.js",
957+
);
948958
linter.verify(SOURCE, { env: { node: true } }, "test.js");
949959
linter.verify(SOURCE, { globals: { foo: true } }, "test.js");
950960
linter.verify(SOURCE, { globals: { foo: "off" } }, "test.js");
@@ -1340,6 +1350,16 @@ linterWithEslintrcConfig.verify(
13401350
},
13411351
"test.js",
13421352
);
1353+
linterWithEslintrcConfig.verify(
1354+
SOURCE,
1355+
{
1356+
parserOptions: {
1357+
ecmaVersion: 3,
1358+
allowReserved: true,
1359+
},
1360+
},
1361+
"test.js",
1362+
);
13431363
linterWithEslintrcConfig.verify(SOURCE, { env: { node: true } }, "test.js");
13441364
linterWithEslintrcConfig.verify(SOURCE, { globals: { foo: true } }, "test.js");
13451365
linterWithEslintrcConfig.verify(SOURCE, { globals: { foo: "off" } }, "test.js");

0 commit comments

Comments
 (0)
0