eslint 9.16.0 → 9.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +2 -2
  2. package/lib/cli.js +3 -4
  3. package/lib/config/config-loader.js +9 -22
  4. package/lib/eslint/eslint.js +2 -5
  5. package/lib/linter/source-code-fixer.js +1 -1
  6. package/lib/rules/arrow-body-style.js +1 -0
  7. package/lib/rules/camelcase.js +1 -0
  8. package/lib/rules/capitalized-comments.js +1 -0
  9. package/lib/rules/consistent-this.js +1 -0
  10. package/lib/rules/curly.js +1 -0
  11. package/lib/rules/default-case-last.js +2 -2
  12. package/lib/rules/default-param-last.js +1 -0
  13. package/lib/rules/dot-notation.js +1 -0
  14. package/lib/rules/for-direction.js +2 -2
  15. package/lib/rules/func-name-matching.js +1 -0
  16. package/lib/rules/func-style.js +1 -0
  17. package/lib/rules/id-denylist.js +1 -0
  18. package/lib/rules/id-length.js +1 -0
  19. package/lib/rules/id-match.js +1 -0
  20. package/lib/rules/init-declarations.js +1 -0
  21. package/lib/rules/logical-assignment-operators.js +1 -0
  22. package/lib/rules/no-console.js +3 -1
  23. package/lib/rules/no-continue.js +1 -0
  24. package/lib/rules/no-div-regex.js +1 -0
  25. package/lib/rules/no-else-return.js +1 -0
  26. package/lib/rules/no-extra-boolean-cast.js +1 -0
  27. package/lib/rules/no-extra-label.js +1 -0
  28. package/lib/rules/no-implicit-coercion.js +1 -0
  29. package/lib/rules/no-inline-comments.js +1 -0
  30. package/lib/rules/no-label-var.js +1 -0
  31. package/lib/rules/no-labels.js +1 -0
  32. package/lib/rules/no-lonely-if.js +1 -0
  33. package/lib/rules/no-magic-numbers.js +1 -0
  34. package/lib/rules/no-multi-str.js +1 -0
  35. package/lib/rules/no-negated-condition.js +1 -0
  36. package/lib/rules/no-nested-ternary.js +1 -0
  37. package/lib/rules/no-param-reassign.js +2 -2
  38. package/lib/rules/no-plusplus.js +1 -0
  39. package/lib/rules/no-script-url.js +3 -3
  40. package/lib/rules/no-shadow-restricted-names.js +17 -7
  41. package/lib/rules/no-ternary.js +1 -0
  42. package/lib/rules/no-undef-init.js +1 -0
  43. package/lib/rules/no-undefined.js +1 -0
  44. package/lib/rules/no-underscore-dangle.js +1 -0
  45. package/lib/rules/no-unneeded-ternary.js +1 -0
  46. package/lib/rules/no-unused-vars.js +613 -2
  47. package/lib/rules/no-useless-assignment.js +9 -0
  48. package/lib/rules/no-useless-computed-key.js +1 -0
  49. package/lib/rules/no-useless-concat.js +1 -0
  50. package/lib/rules/no-void.js +1 -0
  51. package/lib/rules/no-warning-comments.js +1 -0
  52. package/lib/rules/object-shorthand.js +1 -0
  53. package/lib/rules/one-var.js +1 -0
  54. package/lib/rules/operator-assignment.js +1 -0
  55. package/lib/rules/prefer-arrow-callback.js +1 -0
  56. package/lib/rules/prefer-destructuring.js +1 -0
  57. package/lib/rules/prefer-exponentiation-operator.js +1 -0
  58. package/lib/rules/prefer-numeric-literals.js +1 -0
  59. package/lib/rules/prefer-object-spread.js +3 -2
  60. package/lib/rules/prefer-spread.js +1 -0
  61. package/lib/rules/prefer-template.js +1 -0
  62. package/lib/rules/require-unicode-regexp.js +2 -2
  63. package/lib/rules/sort-imports.js +3 -2
  64. package/lib/rules/sort-keys.js +1 -0
  65. package/lib/rules/sort-vars.js +1 -0
  66. package/lib/rules/vars-on-top.js +1 -0
  67. package/lib/rules/yoda.js +1 -0
  68. package/lib/shared/flags.js +3 -3
  69. package/lib/types/index.d.ts +1 -1
  70. package/package.json +7 -7
@@ -72,6 +72,7 @@ module.exports = {
72
72
  docs: {
73
73
  description: "Disallow unnecessary concatenation of literals or template literals",
74
74
  recommended: false,
75
+ frozen: true,
75
76
  url: "https://eslint.org/docs/latest/rules/no-useless-concat"
76
77
  },
77
78
 
@@ -20,6 +20,7 @@ module.exports = {
20
20
  docs: {
21
21
  description: "Disallow `void` operators",
22
22
  recommended: false,
23
+ frozen: true,
23
24
  url: "https://eslint.org/docs/latest/rules/no-void"
24
25
  },
25
26
 
@@ -27,6 +27,7 @@ module.exports = {
27
27
  docs: {
28
28
  description: "Disallow specified warning terms in comments",
29
29
  recommended: false,
30
+ frozen: true,
30
31
  url: "https://eslint.org/docs/latest/rules/no-warning-comments"
31
32
  },
32
33
 
@@ -30,6 +30,7 @@ module.exports = {
30
30
  docs: {
31
31
  description: "Require or disallow method and property shorthand syntax for object literals",
32
32
  recommended: false,
33
+ frozen: true,
33
34
  url: "https://eslint.org/docs/latest/rules/object-shorthand"
34
35
  },
35
36
 
@@ -36,6 +36,7 @@ module.exports = {
36
36
  docs: {
37
37
  description: "Enforce variables to be declared either together or separately in functions",
38
38
  recommended: false,
39
+ frozen: true,
39
40
  url: "https://eslint.org/docs/latest/rules/one-var"
40
41
  },
41
42
 
@@ -67,6 +67,7 @@ module.exports = {
67
67
  docs: {
68
68
  description: "Require or disallow assignment operator shorthand where possible",
69
69
  recommended: false,
70
+ frozen: true,
70
71
  url: "https://eslint.org/docs/latest/rules/operator-assignment"
71
72
  },
72
73
 
@@ -155,6 +155,7 @@ module.exports = {
155
155
  docs: {
156
156
  description: "Require using arrow functions for callbacks",
157
157
  recommended: false,
158
+ frozen: true,
158
159
  url: "https://eslint.org/docs/latest/rules/prefer-arrow-callback"
159
160
  },
160
161
 
@@ -28,6 +28,7 @@ module.exports = {
28
28
  docs: {
29
29
  description: "Require destructuring from arrays and/or objects",
30
30
  recommended: false,
31
+ frozen: true,
31
32
  url: "https://eslint.org/docs/latest/rules/prefer-destructuring"
32
33
  },
33
34
 
@@ -93,6 +93,7 @@ module.exports = {
93
93
  docs: {
94
94
  description: "Disallow the use of `Math.pow` in favor of the `**` operator",
95
95
  recommended: false,
96
+ frozen: true,
96
97
  url: "https://eslint.org/docs/latest/rules/prefer-exponentiation-operator"
97
98
  },
98
99
 
@@ -47,6 +47,7 @@ module.exports = {
47
47
  docs: {
48
48
  description: "Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals",
49
49
  recommended: false,
50
+ frozen: true,
50
51
  url: "https://eslint.org/docs/latest/rules/prefer-numeric-literals"
51
52
  },
52
53
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview Prefers object spread property over Object.assign
2
+ * @fileoverview Rule to disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead
3
3
  * @author Sharmila Jesupaul
4
4
  */
5
5
 
@@ -246,8 +246,9 @@ module.exports = {
246
246
 
247
247
  docs: {
248
248
  description:
249
- "Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead",
249
+ "Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead",
250
250
  recommended: false,
251
+ frozen: true,
251
252
  url: "https://eslint.org/docs/latest/rules/prefer-object-spread"
252
253
  },
253
254
 
@@ -51,6 +51,7 @@ module.exports = {
51
51
  docs: {
52
52
  description: "Require spread operators instead of `.apply()`",
53
53
  recommended: false,
54
+ frozen: true,
54
55
  url: "https://eslint.org/docs/latest/rules/prefer-spread"
55
56
  },
56
57
 
@@ -130,6 +130,7 @@ module.exports = {
130
130
  docs: {
131
131
  description: "Require template literals instead of string concatenation",
132
132
  recommended: false,
133
+ frozen: true,
133
134
  url: "https://eslint.org/docs/latest/rules/prefer-template"
134
135
  },
135
136
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview Rule to enforce the use of `u` flag on RegExp.
2
+ * @fileoverview Rule to enforce the use of `u` or `v` flag on regular expressions.
3
3
  * @author Toru Nagashima
4
4
  */
5
5
 
@@ -48,7 +48,7 @@ module.exports = {
48
48
  type: "suggestion",
49
49
 
50
50
  docs: {
51
- description: "Enforce the use of `u` or `v` flag on RegExp",
51
+ description: "Enforce the use of `u` or `v` flag on regular expressions",
52
52
  recommended: false,
53
53
  url: "https://eslint.org/docs/latest/rules/require-unicode-regexp"
54
54
  },
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @fileoverview Rule to require sorting of import declarations
2
+ * @fileoverview Rule to enforce sorted `import` declarations within modules
3
3
  * @author Christian Schuller
4
4
  */
5
5
 
@@ -23,8 +23,9 @@ module.exports = {
23
23
  }],
24
24
 
25
25
  docs: {
26
- description: "Enforce sorted import declarations within modules",
26
+ description: "Enforce sorted `import` declarations within modules",
27
27
  recommended: false,
28
+ frozen: true,
28
29
  url: "https://eslint.org/docs/latest/rules/sort-imports"
29
30
  },
30
31
 
@@ -91,6 +91,7 @@ module.exports = {
91
91
  docs: {
92
92
  description: "Require object keys to be sorted",
93
93
  recommended: false,
94
+ frozen: true,
94
95
  url: "https://eslint.org/docs/latest/rules/sort-keys"
95
96
  },
96
97
 
@@ -21,6 +21,7 @@ module.exports = {
21
21
  docs: {
22
22
  description: "Require variables within the same declaration block to be sorted",
23
23
  recommended: false,
24
+ frozen: true,
24
25
  url: "https://eslint.org/docs/latest/rules/sort-vars"
25
26
  },
26
27
 
@@ -17,6 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Require `var` declarations be placed at the top of their containing scope",
19
19
  recommended: false,
20
+ frozen: true,
20
21
  url: "https://eslint.org/docs/latest/rules/vars-on-top"
21
22
  },
22
23
 
package/lib/rules/yoda.js CHANGED
@@ -119,6 +119,7 @@ module.exports = {
119
119
  docs: {
120
120
  description: 'Require or disallow "Yoda" conditions',
121
121
  recommended: false,
122
+ frozen: true,
122
123
  url: "https://eslint.org/docs/latest/rules/yoda"
123
124
  },
124
125
 
@@ -10,8 +10,7 @@
10
10
  */
11
11
  const activeFlags = new Map([
12
12
  ["test_only", "Used only for testing."],
13
- ["unstable_config_lookup_from_file", "Look up eslint.config.js from the file being linted."],
14
- ["unstable_ts_config", "Enable TypeScript configuration files."]
13
+ ["unstable_config_lookup_from_file", "Look up `eslint.config.js` from the file being linted."]
15
14
  ]);
16
15
 
17
16
  /**
@@ -19,7 +18,8 @@ const activeFlags = new Map([
19
18
  * @type {Map<string, string>}
20
19
  */
21
20
  const inactiveFlags = new Map([
22
- ["test_only_old", "Used only for testing."]
21
+ ["test_only_old", "Used only for testing."],
22
+ ["unstable_ts_config", "This flag is no longer required to enable TypeScript configuration files."]
23
23
  ]);
24
24
 
25
25
  module.exports = {
@@ -1484,7 +1484,7 @@ export namespace ESLint {
1484
1484
  allowInlineConfig?: boolean | undefined;
1485
1485
  baseConfig?: Linter.Config | Linter.Config[] | null | undefined;
1486
1486
  overrideConfig?: Linter.Config | Linter.Config[] | null | undefined;
1487
- overrideConfigFile?: string | boolean | undefined;
1487
+ overrideConfigFile?: string | true | null | undefined;
1488
1488
  plugins?: Record<string, Plugin> | null | undefined;
1489
1489
  ruleFilter?: ((arg: { ruleId: string; severity: Exclude<Linter.Severity, 0> }) => boolean) | undefined;
1490
1490
  stats?: boolean | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint",
3
- "version": "9.16.0",
3
+ "version": "9.18.0",
4
4
  "author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>",
5
5
  "description": "An AST-based pattern checker for JavaScript.",
6
6
  "type": "commonjs",
@@ -100,10 +100,10 @@
100
100
  "@eslint-community/eslint-utils": "^4.2.0",
101
101
  "@eslint-community/regexpp": "^4.12.1",
102
102
  "@eslint/config-array": "^0.19.0",
103
- "@eslint/core": "^0.9.0",
103
+ "@eslint/core": "^0.10.0",
104
104
  "@eslint/eslintrc": "^3.2.0",
105
- "@eslint/js": "9.16.0",
106
- "@eslint/plugin-kit": "^0.2.3",
105
+ "@eslint/js": "9.18.0",
106
+ "@eslint/plugin-kit": "^0.2.5",
107
107
  "@humanfs/node": "^0.16.6",
108
108
  "@humanwhocodes/module-importer": "^1.0.1",
109
109
  "@humanwhocodes/retry": "^0.4.1",
@@ -111,7 +111,7 @@
111
111
  "@types/json-schema": "^7.0.15",
112
112
  "ajv": "^6.12.4",
113
113
  "chalk": "^4.0.0",
114
- "cross-spawn": "^7.0.5",
114
+ "cross-spawn": "^7.0.6",
115
115
  "debug": "^4.3.2",
116
116
  "escape-string-regexp": "^4.0.0",
117
117
  "eslint-scope": "^8.2.0",
@@ -136,7 +136,7 @@
136
136
  "@arethetypeswrong/cli": "^0.17.0",
137
137
  "@babel/core": "^7.4.3",
138
138
  "@babel/preset-env": "^7.4.3",
139
- "@eslint/json": "^0.8.0",
139
+ "@eslint/json": "^0.9.0",
140
140
  "@trunkio/launcher": "^1.3.0",
141
141
  "@types/node": "^20.11.5",
142
142
  "@typescript-eslint/parser": "^8.4.0",
@@ -154,7 +154,7 @@
154
154
  "eslint": "file:.",
155
155
  "eslint-config-eslint": "file:packages/eslint-config-eslint",
156
156
  "eslint-plugin-eslint-plugin": "^6.0.0",
157
- "eslint-plugin-expect-type": "^0.4.0",
157
+ "eslint-plugin-expect-type": "^0.6.0",
158
158
  "eslint-plugin-yml": "^1.14.0",
159
159
  "eslint-release": "^3.3.0",
160
160
  "eslint-rule-composer": "^0.3.0",