eslint 9.23.0 → 9.25.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 (320) hide show
  1. package/README.md +3 -2
  2. package/lib/cli-engine/cli-engine.js +2 -2
  3. package/lib/cli-engine/formatters/html.js +3 -3
  4. package/lib/cli-engine/formatters/stylish.js +1 -1
  5. package/lib/cli.js +98 -1
  6. package/lib/config/config-loader.js +108 -34
  7. package/lib/config/flat-config-helpers.js +7 -4
  8. package/lib/eslint/eslint-helpers.js +50 -5
  9. package/lib/eslint/eslint.js +17 -53
  10. package/lib/eslint/legacy-eslint.js +1 -1
  11. package/lib/languages/js/source-code/source-code.js +3 -3
  12. package/lib/languages/js/source-code/token-store/index.js +3 -3
  13. package/lib/linter/code-path-analysis/code-path-state.js +1 -1
  14. package/lib/linter/linter.js +1 -1
  15. package/lib/linter/node-event-generator.js +3 -1
  16. package/lib/linter/report-translator.js +1 -1
  17. package/lib/linter/rule-fixer.js +13 -5
  18. package/lib/linter/rules.js +1 -1
  19. package/lib/linter/source-code-fixer.js +2 -2
  20. package/lib/linter/timing.js +2 -2
  21. package/lib/options.js +29 -0
  22. package/lib/rule-tester/rule-tester.js +1 -1
  23. package/lib/rules/accessor-pairs.js +1 -1
  24. package/lib/rules/array-bracket-newline.js +1 -1
  25. package/lib/rules/array-bracket-spacing.js +1 -1
  26. package/lib/rules/array-callback-return.js +1 -1
  27. package/lib/rules/array-element-newline.js +1 -1
  28. package/lib/rules/arrow-body-style.js +1 -1
  29. package/lib/rules/arrow-parens.js +1 -1
  30. package/lib/rules/arrow-spacing.js +1 -1
  31. package/lib/rules/block-scoped-var.js +1 -1
  32. package/lib/rules/block-spacing.js +1 -1
  33. package/lib/rules/brace-style.js +1 -1
  34. package/lib/rules/callback-return.js +1 -1
  35. package/lib/rules/camelcase.js +1 -1
  36. package/lib/rules/capitalized-comments.js +1 -1
  37. package/lib/rules/class-methods-use-this.js +46 -2
  38. package/lib/rules/comma-dangle.js +1 -1
  39. package/lib/rules/comma-spacing.js +1 -1
  40. package/lib/rules/comma-style.js +1 -1
  41. package/lib/rules/complexity.js +1 -1
  42. package/lib/rules/computed-property-spacing.js +1 -1
  43. package/lib/rules/consistent-return.js +1 -1
  44. package/lib/rules/consistent-this.js +1 -1
  45. package/lib/rules/constructor-super.js +1 -1
  46. package/lib/rules/curly.js +1 -1
  47. package/lib/rules/default-case-last.js +1 -1
  48. package/lib/rules/default-case.js +1 -1
  49. package/lib/rules/default-param-last.js +1 -1
  50. package/lib/rules/dot-location.js +1 -1
  51. package/lib/rules/dot-notation.js +1 -1
  52. package/lib/rules/eol-last.js +1 -1
  53. package/lib/rules/eqeqeq.js +1 -1
  54. package/lib/rules/for-direction.js +5 -5
  55. package/lib/rules/func-call-spacing.js +1 -1
  56. package/lib/rules/func-name-matching.js +2 -2
  57. package/lib/rules/func-names.js +1 -1
  58. package/lib/rules/func-style.js +1 -1
  59. package/lib/rules/function-call-argument-newline.js +1 -1
  60. package/lib/rules/function-paren-newline.js +1 -1
  61. package/lib/rules/generator-star-spacing.js +1 -1
  62. package/lib/rules/getter-return.js +1 -1
  63. package/lib/rules/global-require.js +1 -1
  64. package/lib/rules/grouped-accessor-pairs.js +1 -1
  65. package/lib/rules/guard-for-in.js +1 -1
  66. package/lib/rules/handle-callback-err.js +1 -1
  67. package/lib/rules/id-blacklist.js +1 -1
  68. package/lib/rules/id-denylist.js +1 -1
  69. package/lib/rules/id-length.js +1 -1
  70. package/lib/rules/id-match.js +1 -1
  71. package/lib/rules/implicit-arrow-linebreak.js +1 -1
  72. package/lib/rules/indent-legacy.js +14 -14
  73. package/lib/rules/indent.js +4 -4
  74. package/lib/rules/init-declarations.js +22 -1
  75. package/lib/rules/jsx-quotes.js +1 -1
  76. package/lib/rules/key-spacing.js +3 -3
  77. package/lib/rules/keyword-spacing.js +1 -1
  78. package/lib/rules/line-comment-position.js +1 -1
  79. package/lib/rules/linebreak-style.js +10 -2
  80. package/lib/rules/lines-around-comment.js +1 -1
  81. package/lib/rules/lines-around-directive.js +1 -1
  82. package/lib/rules/lines-between-class-members.js +1 -1
  83. package/lib/rules/logical-assignment-operators.js +1 -1
  84. package/lib/rules/max-classes-per-file.js +1 -1
  85. package/lib/rules/max-depth.js +1 -1
  86. package/lib/rules/max-len.js +3 -3
  87. package/lib/rules/max-lines-per-function.js +1 -1
  88. package/lib/rules/max-lines.js +1 -1
  89. package/lib/rules/max-nested-callbacks.js +1 -1
  90. package/lib/rules/max-params.js +1 -1
  91. package/lib/rules/max-statements-per-line.js +1 -1
  92. package/lib/rules/max-statements.js +3 -3
  93. package/lib/rules/multiline-comment-style.js +1 -1
  94. package/lib/rules/multiline-ternary.js +1 -1
  95. package/lib/rules/new-cap.js +1 -1
  96. package/lib/rules/new-parens.js +1 -1
  97. package/lib/rules/newline-after-var.js +1 -1
  98. package/lib/rules/newline-before-return.js +1 -1
  99. package/lib/rules/newline-per-chained-call.js +1 -1
  100. package/lib/rules/no-alert.js +1 -1
  101. package/lib/rules/no-array-constructor.js +4 -1
  102. package/lib/rules/no-async-promise-executor.js +1 -1
  103. package/lib/rules/no-await-in-loop.js +1 -1
  104. package/lib/rules/no-bitwise.js +1 -1
  105. package/lib/rules/no-buffer-constructor.js +1 -1
  106. package/lib/rules/no-caller.js +1 -1
  107. package/lib/rules/no-case-declarations.js +1 -1
  108. package/lib/rules/no-catch-shadow.js +1 -1
  109. package/lib/rules/no-class-assign.js +1 -1
  110. package/lib/rules/no-compare-neg-zero.js +1 -1
  111. package/lib/rules/no-cond-assign.js +1 -1
  112. package/lib/rules/no-confusing-arrow.js +1 -1
  113. package/lib/rules/no-console.js +1 -1
  114. package/lib/rules/no-const-assign.js +1 -1
  115. package/lib/rules/no-constant-binary-expression.js +2 -2
  116. package/lib/rules/no-constant-condition.js +1 -1
  117. package/lib/rules/no-constructor-return.js +1 -1
  118. package/lib/rules/no-continue.js +1 -1
  119. package/lib/rules/no-control-regex.js +1 -1
  120. package/lib/rules/no-debugger.js +1 -1
  121. package/lib/rules/no-delete-var.js +1 -1
  122. package/lib/rules/no-div-regex.js +1 -1
  123. package/lib/rules/no-dupe-args.js +1 -1
  124. package/lib/rules/no-dupe-class-members.js +10 -1
  125. package/lib/rules/no-dupe-else-if.js +1 -1
  126. package/lib/rules/no-dupe-keys.js +1 -1
  127. package/lib/rules/no-duplicate-case.js +1 -1
  128. package/lib/rules/no-duplicate-imports.js +1 -1
  129. package/lib/rules/no-else-return.js +1 -1
  130. package/lib/rules/no-empty-character-class.js +1 -1
  131. package/lib/rules/no-empty-function.js +54 -3
  132. package/lib/rules/no-empty-pattern.js +1 -1
  133. package/lib/rules/no-empty-static-block.js +1 -1
  134. package/lib/rules/no-empty.js +1 -1
  135. package/lib/rules/no-eq-null.js +1 -1
  136. package/lib/rules/no-eval.js +1 -1
  137. package/lib/rules/no-ex-assign.js +1 -1
  138. package/lib/rules/no-extend-native.js +1 -1
  139. package/lib/rules/no-extra-bind.js +1 -1
  140. package/lib/rules/no-extra-boolean-cast.js +1 -1
  141. package/lib/rules/no-extra-label.js +1 -1
  142. package/lib/rules/no-extra-parens.js +1 -1
  143. package/lib/rules/no-extra-semi.js +1 -1
  144. package/lib/rules/no-fallthrough.js +1 -1
  145. package/lib/rules/no-floating-decimal.js +1 -1
  146. package/lib/rules/no-func-assign.js +1 -1
  147. package/lib/rules/no-global-assign.js +2 -2
  148. package/lib/rules/no-implicit-coercion.js +1 -1
  149. package/lib/rules/no-implicit-globals.js +1 -1
  150. package/lib/rules/no-implied-eval.js +1 -1
  151. package/lib/rules/no-import-assign.js +1 -1
  152. package/lib/rules/no-inline-comments.js +1 -1
  153. package/lib/rules/no-inner-declarations.js +1 -1
  154. package/lib/rules/no-invalid-regexp.js +1 -1
  155. package/lib/rules/no-invalid-this.js +23 -1
  156. package/lib/rules/no-irregular-whitespace.js +1 -1
  157. package/lib/rules/no-iterator.js +1 -1
  158. package/lib/rules/no-label-var.js +1 -1
  159. package/lib/rules/no-labels.js +1 -1
  160. package/lib/rules/no-lone-blocks.js +1 -1
  161. package/lib/rules/no-lonely-if.js +1 -1
  162. package/lib/rules/no-loop-func.js +10 -4
  163. package/lib/rules/no-loss-of-precision.js +3 -1
  164. package/lib/rules/no-magic-numbers.js +1 -1
  165. package/lib/rules/no-misleading-character-class.js +1 -1
  166. package/lib/rules/no-mixed-operators.js +1 -1
  167. package/lib/rules/no-mixed-requires.js +1 -1
  168. package/lib/rules/no-mixed-spaces-and-tabs.js +1 -1
  169. package/lib/rules/no-multi-assign.js +1 -1
  170. package/lib/rules/no-multi-spaces.js +1 -1
  171. package/lib/rules/no-multi-str.js +1 -1
  172. package/lib/rules/no-multiple-empty-lines.js +1 -1
  173. package/lib/rules/no-native-reassign.js +2 -2
  174. package/lib/rules/no-negated-condition.js +1 -1
  175. package/lib/rules/no-negated-in-lhs.js +1 -1
  176. package/lib/rules/no-nested-ternary.js +1 -1
  177. package/lib/rules/no-new-func.js +1 -1
  178. package/lib/rules/no-new-native-nonconstructor.js +1 -1
  179. package/lib/rules/no-new-object.js +1 -1
  180. package/lib/rules/no-new-require.js +1 -1
  181. package/lib/rules/no-new-symbol.js +1 -1
  182. package/lib/rules/no-new-wrappers.js +1 -1
  183. package/lib/rules/no-new.js +1 -1
  184. package/lib/rules/no-nonoctal-decimal-escape.js +10 -2
  185. package/lib/rules/no-obj-calls.js +1 -1
  186. package/lib/rules/no-object-constructor.js +1 -1
  187. package/lib/rules/no-octal-escape.js +1 -1
  188. package/lib/rules/no-octal.js +1 -1
  189. package/lib/rules/no-param-reassign.js +2 -2
  190. package/lib/rules/no-path-concat.js +1 -1
  191. package/lib/rules/no-plusplus.js +1 -1
  192. package/lib/rules/no-process-env.js +1 -1
  193. package/lib/rules/no-process-exit.js +1 -1
  194. package/lib/rules/no-promise-executor-return.js +1 -1
  195. package/lib/rules/no-proto.js +1 -1
  196. package/lib/rules/no-prototype-builtins.js +1 -1
  197. package/lib/rules/no-redeclare.js +1 -1
  198. package/lib/rules/no-regex-spaces.js +1 -1
  199. package/lib/rules/no-restricted-exports.js +1 -1
  200. package/lib/rules/no-restricted-globals.js +1 -1
  201. package/lib/rules/no-restricted-imports.js +1 -1
  202. package/lib/rules/no-restricted-modules.js +1 -1
  203. package/lib/rules/no-restricted-properties.js +43 -29
  204. package/lib/rules/no-restricted-syntax.js +1 -1
  205. package/lib/rules/no-return-assign.js +1 -1
  206. package/lib/rules/no-return-await.js +1 -2
  207. package/lib/rules/no-script-url.js +1 -1
  208. package/lib/rules/no-self-assign.js +1 -1
  209. package/lib/rules/no-self-compare.js +1 -1
  210. package/lib/rules/no-sequences.js +1 -1
  211. package/lib/rules/no-setter-return.js +1 -1
  212. package/lib/rules/no-shadow-restricted-names.js +1 -1
  213. package/lib/rules/no-shadow.js +1 -1
  214. package/lib/rules/no-spaced-func.js +1 -1
  215. package/lib/rules/no-sparse-arrays.js +1 -1
  216. package/lib/rules/no-sync.js +1 -1
  217. package/lib/rules/no-tabs.js +1 -1
  218. package/lib/rules/no-template-curly-in-string.js +1 -1
  219. package/lib/rules/no-ternary.js +1 -1
  220. package/lib/rules/no-this-before-super.js +1 -1
  221. package/lib/rules/no-throw-literal.js +1 -1
  222. package/lib/rules/no-trailing-spaces.js +11 -3
  223. package/lib/rules/no-undef-init.js +1 -1
  224. package/lib/rules/no-undef.js +1 -1
  225. package/lib/rules/no-undefined.js +1 -1
  226. package/lib/rules/no-underscore-dangle.js +1 -1
  227. package/lib/rules/no-unexpected-multiline.js +1 -1
  228. package/lib/rules/no-unmodified-loop-condition.js +1 -1
  229. package/lib/rules/no-unneeded-ternary.js +1 -1
  230. package/lib/rules/no-unreachable-loop.js +1 -1
  231. package/lib/rules/no-unreachable.js +1 -1
  232. package/lib/rules/no-unsafe-finally.js +1 -1
  233. package/lib/rules/no-unsafe-negation.js +1 -1
  234. package/lib/rules/no-unsafe-optional-chaining.js +1 -1
  235. package/lib/rules/no-unused-expressions.js +15 -57
  236. package/lib/rules/no-unused-labels.js +1 -1
  237. package/lib/rules/no-unused-private-class-members.js +1 -1
  238. package/lib/rules/no-unused-vars.js +3 -3
  239. package/lib/rules/no-use-before-define.js +1 -1
  240. package/lib/rules/no-useless-assignment.js +1 -1
  241. package/lib/rules/no-useless-backreference.js +1 -1
  242. package/lib/rules/no-useless-call.js +1 -1
  243. package/lib/rules/no-useless-catch.js +1 -1
  244. package/lib/rules/no-useless-computed-key.js +1 -1
  245. package/lib/rules/no-useless-concat.js +1 -1
  246. package/lib/rules/no-useless-constructor.js +1 -1
  247. package/lib/rules/no-useless-escape.js +1 -1
  248. package/lib/rules/no-useless-rename.js +1 -1
  249. package/lib/rules/no-useless-return.js +1 -1
  250. package/lib/rules/no-var.js +1 -1
  251. package/lib/rules/no-void.js +1 -1
  252. package/lib/rules/no-warning-comments.js +1 -1
  253. package/lib/rules/no-whitespace-before-property.js +1 -1
  254. package/lib/rules/no-with.js +1 -1
  255. package/lib/rules/nonblock-statement-body-position.js +1 -1
  256. package/lib/rules/object-curly-newline.js +1 -1
  257. package/lib/rules/object-curly-spacing.js +1 -1
  258. package/lib/rules/object-property-newline.js +1 -1
  259. package/lib/rules/object-shorthand.js +1 -1
  260. package/lib/rules/one-var-declaration-per-line.js +1 -1
  261. package/lib/rules/one-var.js +1 -1
  262. package/lib/rules/operator-assignment.js +1 -1
  263. package/lib/rules/operator-linebreak.js +1 -1
  264. package/lib/rules/padded-blocks.js +1 -1
  265. package/lib/rules/padding-line-between-statements.js +1 -1
  266. package/lib/rules/prefer-arrow-callback.js +1 -1
  267. package/lib/rules/prefer-const.js +1 -1
  268. package/lib/rules/prefer-destructuring.js +1 -1
  269. package/lib/rules/prefer-exponentiation-operator.js +1 -1
  270. package/lib/rules/prefer-named-capture-group.js +1 -1
  271. package/lib/rules/prefer-numeric-literals.js +1 -1
  272. package/lib/rules/prefer-object-has-own.js +1 -1
  273. package/lib/rules/prefer-object-spread.js +1 -1
  274. package/lib/rules/prefer-promise-reject-errors.js +1 -1
  275. package/lib/rules/prefer-reflect.js +1 -2
  276. package/lib/rules/prefer-regex-literals.js +1 -1
  277. package/lib/rules/prefer-rest-params.js +1 -1
  278. package/lib/rules/prefer-spread.js +1 -1
  279. package/lib/rules/prefer-template.js +1 -1
  280. package/lib/rules/quote-props.js +1 -1
  281. package/lib/rules/quotes.js +1 -1
  282. package/lib/rules/radix.js +1 -1
  283. package/lib/rules/require-atomic-updates.js +1 -1
  284. package/lib/rules/require-await.js +1 -1
  285. package/lib/rules/require-unicode-regexp.js +1 -1
  286. package/lib/rules/require-yield.js +1 -1
  287. package/lib/rules/rest-spread-spacing.js +1 -1
  288. package/lib/rules/semi-spacing.js +1 -1
  289. package/lib/rules/semi-style.js +1 -1
  290. package/lib/rules/semi.js +1 -1
  291. package/lib/rules/sort-imports.js +1 -1
  292. package/lib/rules/sort-keys.js +1 -1
  293. package/lib/rules/sort-vars.js +1 -1
  294. package/lib/rules/space-before-blocks.js +1 -1
  295. package/lib/rules/space-before-function-paren.js +1 -1
  296. package/lib/rules/space-in-parens.js +1 -1
  297. package/lib/rules/space-infix-ops.js +1 -1
  298. package/lib/rules/space-unary-ops.js +1 -1
  299. package/lib/rules/spaced-comment.js +1 -1
  300. package/lib/rules/strict.js +1 -1
  301. package/lib/rules/switch-colon-spacing.js +1 -1
  302. package/lib/rules/symbol-description.js +1 -1
  303. package/lib/rules/template-curly-spacing.js +1 -1
  304. package/lib/rules/template-tag-spacing.js +1 -1
  305. package/lib/rules/unicode-bom.js +1 -1
  306. package/lib/rules/use-isnan.js +1 -1
  307. package/lib/rules/utils/ast-utils.js +13 -2
  308. package/lib/rules/utils/fix-tracker.js +10 -2
  309. package/lib/rules/valid-typeof.js +1 -1
  310. package/lib/rules/vars-on-top.js +1 -1
  311. package/lib/rules/wrap-iife.js +1 -1
  312. package/lib/rules/wrap-regex.js +1 -1
  313. package/lib/rules/yield-star-spacing.js +1 -1
  314. package/lib/rules/yoda.js +1 -1
  315. package/lib/services/suppressions-service.js +289 -0
  316. package/lib/shared/flags.js +4 -0
  317. package/lib/shared/types.js +4 -27
  318. package/lib/types/index.d.ts +30 -7
  319. package/lib/types/rules.d.ts +14 -0
  320. package/package.json +9 -9
@@ -39,7 +39,7 @@ const astUtils = require("./utils/ast-utils");
39
39
  // Rule Definition
40
40
  //------------------------------------------------------------------------------
41
41
 
42
- /** @type {import('../shared/types').Rule} */
42
+ /** @type {import('../types').Rule.RuleModule} */
43
43
  module.exports = {
44
44
  meta: {
45
45
  type: "problem",
@@ -1601,12 +1601,12 @@ module.exports = {
1601
1601
  return fixer.removeRange(parent.range);
1602
1602
  }
1603
1603
 
1604
- // remove unused varible that is in a sequence [a,b] fixes to [a]
1604
+ // remove unused variable that is in a sequence [a,b] fixes to [a]
1605
1605
  if (tokenBefore?.value === ",") {
1606
1606
  return fixer.removeRange([tokenBefore.range[0], id.range[1]]);
1607
1607
  }
1608
1608
 
1609
- // remove unused varible that is in a sequence inside function arguments and object pattern
1609
+ // remove unused variable that is in a sequence inside function arguments and object pattern
1610
1610
  if (tokenAfter.value === ",") {
1611
1611
  // fix function foo(a, b) {}
1612
1612
  if (tokenBefore.value === "(") {
@@ -212,7 +212,7 @@ function isEvaluatedDuringInitialization(reference) {
212
212
  // Rule Definition
213
213
  //------------------------------------------------------------------------------
214
214
 
215
- /** @type {import('../shared/types').Rule} */
215
+ /** @type {import('../types').Rule.RuleModule} */
216
216
  module.exports = {
217
217
  meta: {
218
218
  type: "problem",
@@ -122,7 +122,7 @@ function isIdentifierUsedBetweenAssignedAndEqualSign(assignment, identifier) {
122
122
  // Rule Definition
123
123
  //------------------------------------------------------------------------------
124
124
 
125
- /** @type {import('../shared/types').Rule} */
125
+ /** @type {import('../types').Rule.RuleModule} */
126
126
  module.exports = {
127
127
  meta: {
128
128
  type: "problem",
@@ -65,7 +65,7 @@ function isNegativeLookaround(node) {
65
65
  // Rule Definition
66
66
  //------------------------------------------------------------------------------
67
67
 
68
- /** @type {import('../shared/types').Rule} */
68
+ /** @type {import('../types').Rule.RuleModule} */
69
69
  module.exports = {
70
70
  meta: {
71
71
  type: "problem",
@@ -48,7 +48,7 @@ function isValidThisArg(expectedThis, thisArg, sourceCode) {
48
48
  // Rule Definition
49
49
  //------------------------------------------------------------------------------
50
50
 
51
- /** @type {import('../shared/types').Rule} */
51
+ /** @type {import('../types').Rule.RuleModule} */
52
52
  module.exports = {
53
53
  meta: {
54
54
  type: "suggestion",
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -87,7 +87,7 @@ function hasUselessComputedKey(node) {
87
87
  // Rule Definition
88
88
  //------------------------------------------------------------------------------
89
89
 
90
- /** @type {import('../shared/types').Rule} */
90
+ /** @type {import('../types').Rule.RuleModule} */
91
91
  module.exports = {
92
92
  meta: {
93
93
  type: "suggestion",
@@ -64,7 +64,7 @@ function getRight(node) {
64
64
  // Rule Definition
65
65
  //------------------------------------------------------------------------------
66
66
 
67
- /** @type {import('../shared/types').Rule} */
67
+ /** @type {import('../types').Rule.RuleModule} */
68
68
  module.exports = {
69
69
  meta: {
70
70
  type: "suggestion",
@@ -161,7 +161,7 @@ function isRedundantSuperCall(body, ctorParams) {
161
161
  // Rule Definition
162
162
  //------------------------------------------------------------------------------
163
163
 
164
- /** @type {import('../shared/types').Rule} */
164
+ /** @type {import('../types').Rule.RuleModule} */
165
165
  module.exports = {
166
166
  meta: {
167
167
  dialects: ["javascript", "typescript"],
@@ -55,7 +55,7 @@ const REGEX_CLASS_SET_RESERVED_DOUBLE_PUNCTUATOR = new Set(
55
55
  "!#$%&*+,.:;<=>?@^`~",
56
56
  );
57
57
 
58
- /** @type {import('../shared/types').Rule} */
58
+ /** @type {import('../types').Rule.RuleModule} */
59
59
  module.exports = {
60
60
  meta: {
61
61
  type: "suggestion",
@@ -15,7 +15,7 @@ const astUtils = require("./utils/ast-utils");
15
15
  // Rule Definition
16
16
  //------------------------------------------------------------------------------
17
17
 
18
- /** @type {import('../shared/types').Rule} */
18
+ /** @type {import('../types').Rule.RuleModule} */
19
19
  module.exports = {
20
20
  meta: {
21
21
  type: "suggestion",
@@ -79,7 +79,7 @@ function isAnySegmentReachable(segments) {
79
79
  // Rule Definition
80
80
  //------------------------------------------------------------------------------
81
81
 
82
- /** @type {import('../shared/types').Rule} */
82
+ /** @type {import('../types').Rule.RuleModule} */
83
83
  module.exports = {
84
84
  meta: {
85
85
  type: "suggestion",
@@ -195,7 +195,7 @@ function hasNameDisallowedForLetDeclarations(variable) {
195
195
  // Rule Definition
196
196
  //------------------------------------------------------------------------------
197
197
 
198
- /** @type {import('../shared/types').Rule} */
198
+ /** @type {import('../types').Rule.RuleModule} */
199
199
  module.exports = {
200
200
  meta: {
201
201
  type: "suggestion",
@@ -8,7 +8,7 @@
8
8
  // Rule Definition
9
9
  //------------------------------------------------------------------------------
10
10
 
11
- /** @type {import('../shared/types').Rule} */
11
+ /** @type {import('../types').Rule.RuleModule} */
12
12
  module.exports = {
13
13
  meta: {
14
14
  type: "suggestion",
@@ -14,7 +14,7 @@ const CHAR_LIMIT = 40;
14
14
  // Rule Definition
15
15
  //------------------------------------------------------------------------------
16
16
 
17
- /** @type {import('../shared/types').Rule} */
17
+ /** @type {import('../types').Rule.RuleModule} */
18
18
  module.exports = {
19
19
  meta: {
20
20
  type: "suggestion",
@@ -15,7 +15,7 @@ const astUtils = require("./utils/ast-utils");
15
15
  // Rule Definition
16
16
  //------------------------------------------------------------------------------
17
17
 
18
- /** @type {import('../shared/types').Rule} */
18
+ /** @type {import('../types').Rule.RuleModule} */
19
19
  module.exports = {
20
20
  meta: {
21
21
  deprecated: {
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -11,7 +11,7 @@
11
11
 
12
12
  const POSITION_SCHEMA = { enum: ["beside", "below", "any"] };
13
13
 
14
- /** @type {import('../shared/types').Rule} */
14
+ /** @type {import('../types').Rule.RuleModule} */
15
15
  module.exports = {
16
16
  meta: {
17
17
  deprecated: {
@@ -155,7 +155,7 @@ function areLineBreaksRequired(node, options, first, last) {
155
155
  // Rule Definition
156
156
  //------------------------------------------------------------------------------
157
157
 
158
- /** @type {import('../shared/types').Rule} */
158
+ /** @type {import('../types').Rule.RuleModule} */
159
159
  module.exports = {
160
160
  meta: {
161
161
  deprecated: {
@@ -11,7 +11,7 @@ const astUtils = require("./utils/ast-utils");
11
11
  // Rule Definition
12
12
  //------------------------------------------------------------------------------
13
13
 
14
- /** @type {import('../shared/types').Rule} */
14
+ /** @type {import('../types').Rule.RuleModule} */
15
15
  module.exports = {
16
16
  meta: {
17
17
  deprecated: {
@@ -10,7 +10,7 @@
10
10
  // Rule Definition
11
11
  //------------------------------------------------------------------------------
12
12
 
13
- /** @type {import('../shared/types').Rule} */
13
+ /** @type {import('../types').Rule.RuleModule} */
14
14
  module.exports = {
15
15
  meta: {
16
16
  deprecated: {
@@ -22,7 +22,7 @@ const astUtils = require("./utils/ast-utils");
22
22
  //------------------------------------------------------------------------------
23
23
  // Rule Definition
24
24
  //------------------------------------------------------------------------------
25
- /** @type {import('../shared/types').Rule} */
25
+ /** @type {import('../types').Rule.RuleModule} */
26
26
  module.exports = {
27
27
  meta: {
28
28
  type: "suggestion",
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  deprecated: {
@@ -28,7 +28,7 @@ function isInStatementList(node) {
28
28
  // Rule Definition
29
29
  //------------------------------------------------------------------------------
30
30
 
31
- /** @type {import('../shared/types').Rule} */
31
+ /** @type {import('../types').Rule.RuleModule} */
32
32
  module.exports = {
33
33
  meta: {
34
34
  type: "suggestion",
@@ -56,7 +56,7 @@ function canBeFixed(node) {
56
56
  );
57
57
  }
58
58
 
59
- /** @type {import('../shared/types').Rule} */
59
+ /** @type {import('../types').Rule.RuleModule} */
60
60
  module.exports = {
61
61
  meta: {
62
62
  type: "suggestion",
@@ -16,7 +16,7 @@ const astUtils = require("./utils/ast-utils");
16
16
  // Rule Definition
17
17
  //------------------------------------------------------------------------------
18
18
 
19
- /** @type {import('../shared/types').Rule} */
19
+ /** @type {import('../types').Rule.RuleModule} */
20
20
  module.exports = {
21
21
  meta: {
22
22
  deprecated: {
@@ -16,7 +16,7 @@ const astUtils = require("./utils/ast-utils");
16
16
  // Rule Definition
17
17
  //------------------------------------------------------------------------------
18
18
 
19
- /** @type {import('../shared/types').Rule} */
19
+ /** @type {import('../types').Rule.RuleModule} */
20
20
  module.exports = {
21
21
  meta: {
22
22
  deprecated: {
@@ -386,7 +386,7 @@ const StatementTypes = {
386
386
  // Rule Definition
387
387
  //------------------------------------------------------------------------------
388
388
 
389
- /** @type {import('../shared/types').Rule} */
389
+ /** @type {import('../types').Rule.RuleModule} */
390
390
  module.exports = {
391
391
  meta: {
392
392
  deprecated: {
@@ -147,7 +147,7 @@ function hasDuplicateParams(paramsList) {
147
147
  // Rule Definition
148
148
  //------------------------------------------------------------------------------
149
149
 
150
- /** @type {import('../shared/types').Rule} */
150
+ /** @type {import('../types').Rule.RuleModule} */
151
151
  module.exports = {
152
152
  meta: {
153
153
  type: "suggestion",
@@ -335,7 +335,7 @@ function findUp(node, type, shouldStop) {
335
335
  // Rule Definition
336
336
  //------------------------------------------------------------------------------
337
337
 
338
- /** @type {import('../shared/types').Rule} */
338
+ /** @type {import('../types').Rule.RuleModule} */
339
339
  module.exports = {
340
340
  meta: {
341
341
  type: "suggestion",
@@ -22,7 +22,7 @@ const PRECEDENCE_OF_ASSIGNMENT_EXPR = astUtils.getPrecedence({
22
22
  // Rule Definition
23
23
  //------------------------------------------------------------------------------
24
24
 
25
- /** @type {import('../shared/types').Rule} */
25
+ /** @type {import('../types').Rule.RuleModule} */
26
26
  module.exports = {
27
27
  meta: {
28
28
  type: "suggestion",
@@ -98,7 +98,7 @@ function parenthesizeIfShould(text, shouldParenthesize) {
98
98
  // Rule Definition
99
99
  //------------------------------------------------------------------------------
100
100
 
101
- /** @type {import('../shared/types').Rule} */
101
+ /** @type {import('../types').Rule.RuleModule} */
102
102
  module.exports = {
103
103
  meta: {
104
104
  type: "suggestion",
@@ -82,7 +82,7 @@ function suggestIfPossible(groupStart, pattern, rawText, regexNode) {
82
82
  // Rule Definition
83
83
  //------------------------------------------------------------------------------
84
84
 
85
- /** @type {import('../shared/types').Rule} */
85
+ /** @type {import('../types').Rule.RuleModule} */
86
86
  module.exports = {
87
87
  meta: {
88
88
  type: "suggestion",
@@ -39,7 +39,7 @@ function isParseInt(calleeNode) {
39
39
  // Rule Definition
40
40
  //------------------------------------------------------------------------------
41
41
 
42
- /** @type {import('../shared/types').Rule} */
42
+ /** @type {import('../types').Rule.RuleModule} */
43
43
  module.exports = {
44
44
  meta: {
45
45
  type: "suggestion",
@@ -53,7 +53,7 @@ function hasLeftHandObject(node) {
53
53
  // Rule Definition
54
54
  //------------------------------------------------------------------------------
55
55
 
56
- /** @type {import('../shared/types').Rule} */
56
+ /** @type {import('../types').Rule.RuleModule} */
57
57
  module.exports = {
58
58
  meta: {
59
59
  type: "suggestion",
@@ -254,7 +254,7 @@ function defineFixer(node, sourceCode) {
254
254
  };
255
255
  }
256
256
 
257
- /** @type {import('../shared/types').Rule} */
257
+ /** @type {import('../types').Rule.RuleModule} */
258
258
  module.exports = {
259
259
  meta: {
260
260
  type: "suggestion",
@@ -10,7 +10,7 @@ const astUtils = require("./utils/ast-utils");
10
10
  // Rule Definition
11
11
  //------------------------------------------------------------------------------
12
12
 
13
- /** @type {import('../shared/types').Rule} */
13
+ /** @type {import('../types').Rule.RuleModule} */
14
14
  module.exports = {
15
15
  meta: {
16
16
  type: "suggestion",
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -22,7 +22,6 @@ module.exports = {
22
22
 
23
23
  deprecated: {
24
24
  message: "The original intention of this rule was misguided.",
25
- url: "https://eslint.org/docs/latest/rules/prefer-reflect",
26
25
  deprecatedSince: "3.9.0",
27
26
  availableUntil: null,
28
27
  replacedBy: [],
@@ -115,7 +115,7 @@ const validPrecedingTokens = new Set([
115
115
  // Rule Definition
116
116
  //------------------------------------------------------------------------------
117
117
 
118
- /** @type {import('../shared/types').Rule} */
118
+ /** @type {import('../types').Rule.RuleModule} */
119
119
  module.exports = {
120
120
  meta: {
121
121
  type: "suggestion",
@@ -58,7 +58,7 @@ function isNotNormalMemberAccess(reference) {
58
58
  // Rule Definition
59
59
  //------------------------------------------------------------------------------
60
60
 
61
- /** @type {import('../shared/types').Rule} */
61
+ /** @type {import('../types').Rule.RuleModule} */
62
62
  module.exports = {
63
63
  meta: {
64
64
  type: "suggestion",
@@ -43,7 +43,7 @@ function isValidThisArg(expectedThis, thisArg, context) {
43
43
  // Rule Definition
44
44
  //------------------------------------------------------------------------------
45
45
 
46
- /** @type {import('../shared/types').Rule} */
46
+ /** @type {import('../types').Rule.RuleModule} */
47
47
  module.exports = {
48
48
  meta: {
49
49
  type: "suggestion",
@@ -130,7 +130,7 @@ function endsWithTemplateCurly(node) {
130
130
  // Rule Definition
131
131
  //------------------------------------------------------------------------------
132
132
 
133
- /** @type {import('../shared/types').Rule} */
133
+ /** @type {import('../types').Rule.RuleModule} */
134
134
  module.exports = {
135
135
  meta: {
136
136
  type: "suggestion",
@@ -17,7 +17,7 @@ const keywords = require("./utils/keywords");
17
17
  // Rule Definition
18
18
  //------------------------------------------------------------------------------
19
19
 
20
- /** @type {import('../shared/types').Rule} */
20
+ /** @type {import('../types').Rule.RuleModule} */
21
21
  module.exports = {
22
22
  meta: {
23
23
  deprecated: {
@@ -94,7 +94,7 @@ const AVOID_ESCAPE = "avoid-escape";
94
94
  // Rule Definition
95
95
  //------------------------------------------------------------------------------
96
96
 
97
- /** @type {import('../shared/types').Rule} */
97
+ /** @type {import('../types').Rule.RuleModule} */
98
98
  module.exports = {
99
99
  meta: {
100
100
  deprecated: {
@@ -76,7 +76,7 @@ function isDefaultRadix(radix) {
76
76
  // Rule Definition
77
77
  //------------------------------------------------------------------------------
78
78
 
79
- /** @type {import('../shared/types').Rule} */
79
+ /** @type {import('../types').Rule.RuleModule} */
80
80
  module.exports = {
81
81
  meta: {
82
82
  type: "suggestion",
@@ -175,7 +175,7 @@ class SegmentInfo {
175
175
  // Rule Definition
176
176
  //------------------------------------------------------------------------------
177
177
 
178
- /** @type {import('../shared/types').Rule} */
178
+ /** @type {import('../types').Rule.RuleModule} */
179
179
  module.exports = {
180
180
  meta: {
181
181
  type: "problem",
@@ -28,7 +28,7 @@ function capitalizeFirstLetter(text) {
28
28
  // Rule Definition
29
29
  //------------------------------------------------------------------------------
30
30
 
31
- /** @type {import('../shared/types').Rule} */
31
+ /** @type {import('../types').Rule.RuleModule} */
32
32
  module.exports = {
33
33
  meta: {
34
34
  type: "suggestion",
@@ -42,7 +42,7 @@ function checkFlags(requireFlag, flags) {
42
42
  // Rule Definition
43
43
  //------------------------------------------------------------------------------
44
44
 
45
- /** @type {import('../shared/types').Rule} */
45
+ /** @type {import('../types').Rule.RuleModule} */
46
46
  module.exports = {
47
47
  meta: {
48
48
  type: "suggestion",
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -10,7 +10,7 @@
10
10
  // Rule Definition
11
11
  //------------------------------------------------------------------------------
12
12
 
13
- /** @type {import('../shared/types').Rule} */
13
+ /** @type {import('../types').Rule.RuleModule} */
14
14
  module.exports = {
15
15
  meta: {
16
16
  deprecated: {
@@ -12,7 +12,7 @@ const astUtils = require("./utils/ast-utils");
12
12
  // Rule Definition
13
13
  //------------------------------------------------------------------------------
14
14
 
15
- /** @type {import('../shared/types').Rule} */
15
+ /** @type {import('../types').Rule.RuleModule} */
16
16
  module.exports = {
17
17
  meta: {
18
18
  deprecated: {
@@ -82,7 +82,7 @@ function isLastChild(node) {
82
82
  return nodeList !== null && nodeList.at(-1) === node; // before `}` or etc.
83
83
  }
84
84
 
85
- /** @type {import('../shared/types').Rule} */
85
+ /** @type {import('../types').Rule.RuleModule} */
86
86
  module.exports = {
87
87
  meta: {
88
88
  deprecated: {
package/lib/rules/semi.js CHANGED
@@ -16,7 +16,7 @@ const astUtils = require("./utils/ast-utils");
16
16
  // Rule Definition
17
17
  //------------------------------------------------------------------------------
18
18
 
19
- /** @type {import('../shared/types').Rule} */
19
+ /** @type {import('../types').Rule.RuleModule} */
20
20
  module.exports = {
21
21
  meta: {
22
22
  deprecated: {
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -75,7 +75,7 @@ const isValidOrders = {
75
75
  // Rule Definition
76
76
  //------------------------------------------------------------------------------
77
77
 
78
- /** @type {import('../shared/types').Rule} */
78
+ /** @type {import('../types').Rule.RuleModule} */
79
79
  module.exports = {
80
80
  meta: {
81
81
  type: "suggestion",
@@ -9,7 +9,7 @@
9
9
  // Rule Definition
10
10
  //------------------------------------------------------------------------------
11
11
 
12
- /** @type {import('../shared/types').Rule} */
12
+ /** @type {import('../types').Rule.RuleModule} */
13
13
  module.exports = {
14
14
  meta: {
15
15
  type: "suggestion",
@@ -35,7 +35,7 @@ function isFunctionBody(node) {
35
35
  // Rule Definition
36
36
  //------------------------------------------------------------------------------
37
37
 
38
- /** @type {import('../shared/types').Rule} */
38
+ /** @type {import('../types').Rule.RuleModule} */
39
39
  module.exports = {
40
40
  meta: {
41
41
  deprecated: {
@@ -15,7 +15,7 @@ const astUtils = require("./utils/ast-utils");
15
15
  // Rule Definition
16
16
  //------------------------------------------------------------------------------
17
17
 
18
- /** @type {import('../shared/types').Rule} */
18
+ /** @type {import('../types').Rule.RuleModule} */
19
19
  module.exports = {
20
20
  meta: {
21
21
  deprecated: {
@@ -11,7 +11,7 @@ const astUtils = require("./utils/ast-utils");
11
11
  // Rule Definition
12
12
  //------------------------------------------------------------------------------
13
13
 
14
- /** @type {import('../shared/types').Rule} */
14
+ /** @type {import('../types').Rule.RuleModule} */
15
15
  module.exports = {
16
16
  meta: {
17
17
  deprecated: {