eslint-plugin-unicorn 65.0.1 → 67.0.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 (325) hide show
  1. package/configs/core-rule-replacements.js +9 -0
  2. package/index.js +11 -7
  3. package/package.json +34 -30
  4. package/readme.md +323 -212
  5. package/rules/ast/call-or-new-expression.js +1 -1
  6. package/rules/ast/index.js +4 -0
  7. package/rules/ast/is-loop.js +5 -0
  8. package/rules/ast/literal.js +18 -0
  9. package/rules/ast/loop-types.js +9 -0
  10. package/rules/better-dom-traversing.js +46 -16
  11. package/rules/catch-error-name.js +3 -0
  12. package/rules/class-reference-in-static-methods.js +451 -0
  13. package/rules/comment-content.js +1083 -0
  14. package/rules/consistent-assert.js +3 -0
  15. package/rules/consistent-boolean-name.js +493 -0
  16. package/rules/consistent-class-member-order.js +268 -0
  17. package/rules/consistent-compound-words.js +40 -26
  18. package/rules/consistent-date-clone.js +3 -0
  19. package/rules/consistent-destructuring.js +267 -143
  20. package/rules/consistent-empty-array-spread.js +3 -0
  21. package/rules/consistent-existence-index-check.js +3 -0
  22. package/rules/consistent-export-decorator-position.js +206 -0
  23. package/rules/consistent-function-scoping.js +79 -33
  24. package/rules/consistent-function-style.js +344 -0
  25. package/rules/consistent-json-file-read.js +4 -1
  26. package/rules/consistent-optional-chaining.js +203 -0
  27. package/rules/consistent-template-literal-escape.js +4 -1
  28. package/rules/custom-error-definition.js +222 -20
  29. package/rules/dom-node-dataset.js +234 -47
  30. package/rules/empty-brace-spaces.js +3 -0
  31. package/rules/error-message.js +3 -0
  32. package/rules/escape-case.js +3 -0
  33. package/rules/expiring-todo-comments.js +118 -19
  34. package/rules/explicit-length-check.js +20 -26
  35. package/rules/explicit-timer-delay.js +156 -0
  36. package/rules/filename-case.js +101 -12
  37. package/rules/fix/index.js +3 -2
  38. package/rules/fix/remove-argument.js +18 -5
  39. package/rules/fix/remove-spaces-after.js +3 -4
  40. package/rules/fix/{remove-expression-statement.js → remove-statement.js} +20 -7
  41. package/rules/fix/replace-node-or-token-and-spaces-before.js +1 -1
  42. package/rules/fix/replace-node-with-expression.js +47 -0
  43. package/rules/fix/replace-reference-identifier.js +4 -1
  44. package/rules/id-match.js +77 -0
  45. package/rules/import-style.js +25 -29
  46. package/rules/index.js +91 -2
  47. package/rules/isolated-functions.js +7 -4
  48. package/rules/logical-assignment-operators.js +112 -0
  49. package/rules/max-nested-calls.js +102 -0
  50. package/rules/new-for-builtins.js +14 -7
  51. package/rules/no-abusive-eslint-disable.js +5 -1
  52. package/rules/no-accessor-recursion.js +3 -0
  53. package/rules/no-anonymous-default-export.js +7 -3
  54. package/rules/no-array-callback-reference.js +148 -2
  55. package/rules/no-array-fill-with-reference-type.js +4 -13
  56. package/rules/no-array-from-fill.js +3 -0
  57. package/rules/no-array-method-this-argument.js +45 -20
  58. package/rules/no-array-reduce.js +82 -9
  59. package/rules/no-array-splice.js +232 -0
  60. package/rules/no-asterisk-prefix-in-documentation-comments.js +89 -0
  61. package/rules/no-await-expression-member.js +3 -0
  62. package/rules/no-await-in-promise-methods.js +3 -0
  63. package/rules/no-blob-to-file.js +9 -44
  64. package/rules/no-break-in-nested-loop.js +97 -0
  65. package/rules/no-canvas-to-image.js +3 -0
  66. package/rules/no-computed-property-existence-check.js +164 -0
  67. package/rules/no-confusing-array-splice.js +41 -13
  68. package/rules/no-confusing-array-with.js +103 -0
  69. package/rules/no-console-spaces.js +3 -0
  70. package/rules/no-declarations-before-early-exit.js +276 -0
  71. package/rules/no-document-cookie.js +3 -0
  72. package/rules/no-duplicate-loops.js +60 -0
  73. package/rules/no-duplicate-set-values.js +3 -0
  74. package/rules/no-empty-file.js +109 -3
  75. package/rules/no-error-property-assignment.js +440 -0
  76. package/rules/no-exports-in-scripts.js +3 -0
  77. package/rules/{no-array-for-each.js → no-for-each.js} +21 -11
  78. package/rules/no-for-loop.js +557 -96
  79. package/rules/no-global-object-property-assignment.js +89 -0
  80. package/rules/no-immediate-mutation.js +5 -2
  81. package/rules/no-incorrect-query-selector.js +8 -36
  82. package/rules/no-incorrect-template-string-interpolation.js +93 -0
  83. package/rules/no-instanceof-builtins.js +4 -1
  84. package/rules/no-invalid-argument-count.js +1345 -0
  85. package/rules/no-invalid-fetch-options.js +6 -3
  86. package/rules/no-invalid-file-input-accept.js +12 -5
  87. package/rules/no-invalid-remove-event-listener.js +3 -0
  88. package/rules/no-keyword-prefix.js +27 -22
  89. package/rules/no-late-current-target-access.js +3 -0
  90. package/rules/no-lonely-if.js +3 -0
  91. package/rules/no-magic-array-flat-depth.js +3 -0
  92. package/rules/no-manually-wrapped-comments.js +20 -9
  93. package/rules/no-mismatched-map-key.js +520 -0
  94. package/rules/no-named-default.js +3 -0
  95. package/rules/no-negated-array-predicate.js +212 -0
  96. package/rules/no-negated-comparison.js +347 -0
  97. package/rules/no-negated-condition.js +3 -0
  98. package/rules/no-negation-in-equality-check.js +3 -0
  99. package/rules/no-nested-ternary.js +3 -0
  100. package/rules/no-new-array.js +3 -0
  101. package/rules/no-new-buffer.js +3 -0
  102. package/rules/no-non-function-verb-prefix.js +324 -0
  103. package/rules/no-null.js +3 -0
  104. package/rules/no-object-as-default-parameter.js +3 -0
  105. package/rules/no-object-methods-with-collections.js +381 -0
  106. package/rules/no-optional-chaining-on-undeclared-variable.js +135 -0
  107. package/rules/no-process-exit.js +3 -0
  108. package/rules/no-redundant-comparison.js +305 -0
  109. package/rules/no-return-array-push.js +164 -0
  110. package/rules/no-single-promise-in-promise-methods.js +95 -5
  111. package/rules/no-static-only-class.js +3 -0
  112. package/rules/no-subtraction-comparison.js +111 -0
  113. package/rules/no-thenable.js +3 -0
  114. package/rules/no-this-assignment.js +3 -0
  115. package/rules/no-this-outside-of-class.js +3 -0
  116. package/rules/no-top-level-assignment-in-function.js +76 -0
  117. package/rules/no-top-level-side-effects.js +74 -0
  118. package/rules/no-typeof-undefined.js +5 -3
  119. package/rules/no-uncalled-method.js +308 -0
  120. package/rules/no-undeclared-class-members.js +349 -0
  121. package/rules/no-unnecessary-array-flat-depth.js +3 -0
  122. package/rules/no-unnecessary-array-splice-count.js +3 -0
  123. package/rules/no-unnecessary-await.js +3 -0
  124. package/rules/no-unnecessary-global-this.js +176 -0
  125. package/rules/no-unnecessary-nested-ternary.js +3 -0
  126. package/rules/no-unnecessary-polyfills.js +29 -11
  127. package/rules/no-unnecessary-slice-end.js +3 -0
  128. package/rules/no-unnecessary-splice.js +157 -0
  129. package/rules/no-unreadable-array-destructuring.js +99 -9
  130. package/rules/no-unreadable-for-of-expression.js +130 -0
  131. package/rules/no-unreadable-iife.js +3 -0
  132. package/rules/no-unreadable-new-expression.js +63 -0
  133. package/rules/no-unreadable-object-destructuring.js +140 -0
  134. package/rules/no-unsafe-buffer-conversion.js +532 -0
  135. package/rules/no-unsafe-dom-html.js +172 -0
  136. package/rules/no-unsafe-property-key.js +584 -0
  137. package/rules/no-unsafe-string-replacement.js +78 -0
  138. package/rules/no-unused-array-method-return.js +4 -1
  139. package/rules/no-unused-properties.js +71 -35
  140. package/rules/no-useless-boolean-cast.js +120 -0
  141. package/rules/no-useless-coercion.js +91 -0
  142. package/rules/no-useless-collection-argument.js +3 -0
  143. package/rules/no-useless-concat.js +144 -0
  144. package/rules/no-useless-continue.js +81 -0
  145. package/rules/no-useless-else.js +269 -0
  146. package/rules/no-useless-error-capture-stack-trace.js +3 -0
  147. package/rules/no-useless-fallback-in-spread.js +125 -1
  148. package/rules/no-useless-iterator-to-array.js +3 -0
  149. package/rules/no-useless-length-check.js +20 -8
  150. package/rules/no-useless-override.js +217 -0
  151. package/rules/no-useless-promise-resolve-reject.js +6 -1
  152. package/rules/no-useless-recursion.js +118 -0
  153. package/rules/no-useless-spread.js +189 -73
  154. package/rules/no-useless-switch-case.js +12 -1
  155. package/rules/no-useless-template-literals.js +370 -0
  156. package/rules/no-useless-undefined.js +254 -21
  157. package/rules/no-zero-fractions.js +3 -0
  158. package/rules/number-literal-case.js +3 -0
  159. package/rules/numeric-separators-style.js +12 -11
  160. package/rules/operator-assignment.js +111 -0
  161. package/rules/prefer-add-event-listener-options.js +54 -0
  162. package/rules/prefer-add-event-listener.js +3 -0
  163. package/rules/prefer-array-find.js +16 -11
  164. package/rules/prefer-array-flat-map.js +180 -12
  165. package/rules/prefer-array-flat.js +16 -11
  166. package/rules/prefer-array-from-map.js +465 -0
  167. package/rules/prefer-array-index-of.js +3 -0
  168. package/rules/prefer-array-last-methods.js +4 -1
  169. package/rules/prefer-array-slice.js +97 -0
  170. package/rules/prefer-array-some.js +24 -4
  171. package/rules/prefer-at.js +94 -36
  172. package/rules/prefer-await.js +69 -0
  173. package/rules/prefer-bigint-literals.js +4 -0
  174. package/rules/prefer-blob-reading-methods.js +3 -0
  175. package/rules/prefer-class-fields.js +3 -0
  176. package/rules/prefer-classlist-toggle.js +5 -2
  177. package/rules/prefer-code-point.js +3 -0
  178. package/rules/prefer-date-now.js +3 -0
  179. package/rules/prefer-default-parameters.js +7 -4
  180. package/rules/prefer-direct-iteration.js +424 -0
  181. package/rules/prefer-dispose.js +346 -0
  182. package/rules/prefer-dom-node-append.js +3 -0
  183. package/rules/prefer-dom-node-html-methods.js +136 -0
  184. package/rules/prefer-dom-node-remove.js +3 -0
  185. package/rules/prefer-dom-node-text-content.js +26 -0
  186. package/rules/prefer-early-return.js +267 -0
  187. package/rules/prefer-else-if.js +524 -0
  188. package/rules/prefer-event-target.js +3 -0
  189. package/rules/prefer-export-from.js +5 -3
  190. package/rules/prefer-get-or-insert-computed.js +3 -0
  191. package/rules/prefer-global-number-constants.js +86 -0
  192. package/rules/prefer-global-this.js +35 -19
  193. package/rules/prefer-has-check.js +946 -0
  194. package/rules/prefer-https.js +55 -11
  195. package/rules/prefer-identifier-import-export-specifiers.js +94 -0
  196. package/rules/prefer-import-meta-properties.js +13 -10
  197. package/rules/prefer-includes-over-repeated-comparisons.js +10 -71
  198. package/rules/prefer-includes.js +4 -0
  199. package/rules/prefer-iterable-in-constructor.js +346 -0
  200. package/rules/prefer-iterator-concat.js +3 -0
  201. package/rules/prefer-iterator-to-array-at-end.js +3 -0
  202. package/rules/prefer-iterator-to-array.js +210 -0
  203. package/rules/prefer-keyboard-event-key.js +7 -3
  204. package/rules/prefer-location-assign.js +145 -0
  205. package/rules/prefer-logical-operator-over-ternary.js +253 -2
  206. package/rules/prefer-map-from-entries.js +482 -0
  207. package/rules/prefer-math-abs.js +3 -0
  208. package/rules/prefer-math-min-max.js +3 -0
  209. package/rules/prefer-math-trunc.js +100 -2
  210. package/rules/prefer-minimal-ternary.js +243 -0
  211. package/rules/prefer-modern-dom-apis.js +181 -16
  212. package/rules/prefer-modern-math-apis.js +3 -0
  213. package/rules/prefer-module.js +5 -1
  214. package/rules/prefer-native-coercion-functions.js +5 -4
  215. package/rules/prefer-negative-index.js +4 -12
  216. package/rules/prefer-node-protocol.js +3 -0
  217. package/rules/prefer-number-coercion.js +157 -0
  218. package/rules/prefer-number-is-safe-integer.js +193 -0
  219. package/rules/prefer-number-properties.js +71 -9
  220. package/rules/prefer-object-define-properties.js +208 -0
  221. package/rules/prefer-object-destructuring-defaults.js +177 -0
  222. package/rules/prefer-object-from-entries.js +141 -2
  223. package/rules/prefer-object-iterable-methods.js +609 -0
  224. package/rules/prefer-optional-catch-binding.js +3 -0
  225. package/rules/prefer-path2d.js +842 -0
  226. package/rules/prefer-private-class-fields.js +503 -0
  227. package/rules/prefer-prototype-methods.js +3 -0
  228. package/rules/prefer-query-selector.js +74 -32
  229. package/rules/prefer-queue-microtask.js +7 -12
  230. package/rules/prefer-reflect-apply.js +3 -0
  231. package/rules/prefer-regexp-test.js +489 -84
  232. package/rules/prefer-response-static-json.js +3 -0
  233. package/rules/prefer-scoped-selector.js +189 -0
  234. package/rules/prefer-set-has.js +8 -14
  235. package/rules/prefer-set-size.js +6 -34
  236. package/rules/prefer-short-arrow-method.js +138 -0
  237. package/rules/prefer-simple-condition-first.js +5 -4
  238. package/rules/prefer-simple-sort-comparator.js +270 -0
  239. package/rules/prefer-single-array-predicate.js +209 -0
  240. package/rules/prefer-single-call.js +3 -0
  241. package/rules/prefer-single-object-destructuring.js +145 -0
  242. package/rules/prefer-smaller-scope.js +238 -0
  243. package/rules/prefer-split-limit.js +4 -1
  244. package/rules/prefer-spread.js +915 -86
  245. package/rules/prefer-string-match-all.js +4 -1
  246. package/rules/prefer-string-pad-start-end.js +4 -3
  247. package/rules/prefer-string-raw.js +4 -1
  248. package/rules/prefer-string-repeat.js +3 -0
  249. package/rules/prefer-string-replace-all.js +131 -65
  250. package/rules/prefer-string-slice.js +21 -5
  251. package/rules/prefer-string-starts-ends-with.js +84 -11
  252. package/rules/prefer-string-trim-start-end.js +9 -0
  253. package/rules/prefer-structured-clone.js +3 -0
  254. package/rules/prefer-switch.js +9 -5
  255. package/rules/prefer-temporal.js +254 -0
  256. package/rules/prefer-ternary.js +146 -111
  257. package/rules/prefer-top-level-await.js +3 -0
  258. package/rules/prefer-type-error.js +31 -9
  259. package/rules/prefer-type-literal-last.js +139 -0
  260. package/rules/prefer-uint8array-base64.js +165 -0
  261. package/rules/prefer-unicode-code-point-escapes.js +400 -0
  262. package/rules/prefer-url-href.js +592 -0
  263. package/rules/prevent-abbreviations.js +28 -24
  264. package/rules/relative-url-style.js +6 -1
  265. package/rules/require-array-join-separator.js +9 -1
  266. package/rules/require-array-sort-compare.js +88 -0
  267. package/rules/require-css-escape.js +3 -0
  268. package/rules/require-module-attributes.js +3 -0
  269. package/rules/require-module-specifiers.js +4 -2
  270. package/rules/require-number-to-fixed-digits-argument.js +3 -0
  271. package/rules/require-passive-events.js +4 -5
  272. package/rules/require-post-message-target-origin.js +3 -0
  273. package/rules/require-proxy-trap-boolean-return.js +415 -0
  274. package/rules/rule/to-eslint-rule.js +1 -1
  275. package/rules/shared/abbreviations.js +2 -0
  276. package/rules/shared/iterator-helpers.js +104 -0
  277. package/rules/shared/negative-index.js +13 -4
  278. package/rules/shared/no-array-mutate-rule.js +9 -1
  279. package/rules/shared/simple-array-search-rule.js +135 -3
  280. package/rules/shared/splice-replacements.js +149 -0
  281. package/rules/shared/substring.js +69 -0
  282. package/rules/string-content.js +7 -3
  283. package/rules/switch-case-braces.js +102 -11
  284. package/rules/switch-case-break-position.js +5 -3
  285. package/rules/template-indent.js +3 -0
  286. package/rules/text-encoding-identifier-case.js +77 -0
  287. package/rules/throw-new-error.js +3 -0
  288. package/rules/try-complexity.js +3 -0
  289. package/rules/utils/boolean.js +27 -11
  290. package/rules/utils/cartesian-product-samples.js +1 -1
  291. package/rules/utils/comments.js +47 -0
  292. package/rules/utils/comparison.js +80 -0
  293. package/rules/utils/escape-template-element-raw.js +1 -1
  294. package/rules/utils/get-available-variable-name.js +1 -1
  295. package/rules/utils/get-comments.js +15 -0
  296. package/rules/utils/has-unsafe-arrow-conversion-reference.js +46 -0
  297. package/rules/utils/imports.js +11 -0
  298. package/rules/utils/index.js +43 -1
  299. package/rules/utils/is-array.js +79 -0
  300. package/rules/utils/is-bigint.js +86 -0
  301. package/rules/utils/is-boolean.js +564 -0
  302. package/rules/utils/is-dom-node.js +53 -0
  303. package/rules/utils/is-global-identifier.js +13 -0
  304. package/rules/utils/is-left-hand-side.js +1 -0
  305. package/rules/utils/is-map.js +22 -0
  306. package/rules/utils/is-number.js +51 -14
  307. package/rules/utils/is-promise-type.js +28 -0
  308. package/rules/utils/is-reg-exp.js +24 -0
  309. package/rules/utils/is-same-reference.js +2 -1
  310. package/rules/utils/is-set.js +22 -0
  311. package/rules/utils/is-string.js +119 -0
  312. package/rules/utils/is-strong-precedence-node.js +32 -0
  313. package/rules/utils/is-typescript-file.js +9 -0
  314. package/rules/utils/is-virtual-filename.js +9 -0
  315. package/rules/utils/normalize-comment.js +38 -0
  316. package/rules/utils/numeric.js +1 -1
  317. package/rules/utils/on-root.js +31 -0
  318. package/rules/utils/rule.js +2 -6
  319. package/rules/utils/scope.js +22 -0
  320. package/rules/utils/should-skip-known-non-array-receiver.js +13 -0
  321. package/rules/utils/type-check.js +20 -0
  322. package/rules/utils/type-helpers.js +595 -0
  323. package/rules/utils/types.js +27 -0
  324. package/rules/utils/unwrap-typescript-expression.js +16 -0
  325. package/rules/no-hex-escape.js +0 -55
@@ -0,0 +1,9 @@
1
+ const coreRuleReplacements = [
2
+ 'id-match',
3
+ 'logical-assignment-operators',
4
+ 'no-negated-condition',
5
+ 'no-nested-ternary',
6
+ 'no-process-exit',
7
+ ];
8
+
9
+ export default coreRuleReplacements;
package/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import createDeprecatedRules from './rules/utils/create-deprecated-rules.js';
2
2
  import flatConfigBase from './configs/flat-config-base.js';
3
+ import coreRuleReplacements from './configs/core-rule-replacements.js';
3
4
  import * as rawRules from './rules/index.js';
4
5
  import {toEslintRules} from './rules/rule/index.js';
5
6
  import packageJson from './package.json' with {type: 'json'};
@@ -19,6 +20,10 @@ const deprecatedRules = createDeprecatedRules({
19
20
  message: 'Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.',
20
21
  replacedBy: ['unicorn/no-unnecessary-slice-end'],
21
22
  },
23
+ 'no-hex-escape': {
24
+ message: 'Replaced by `unicorn/prefer-unicode-code-point-escapes` which covers more cases.',
25
+ replacedBy: ['unicorn/prefer-unicode-code-point-escapes'],
26
+ },
22
27
  'no-array-push-push': {
23
28
  message: 'Replaced by `unicorn/prefer-single-call` which covers more cases.',
24
29
  replacedBy: ['unicorn/prefer-single-call'],
@@ -33,12 +38,11 @@ const deprecatedRules = createDeprecatedRules({
33
38
  },
34
39
  });
35
40
 
36
- const externalRules = {
37
- // Covered by `unicorn/no-negated-condition`
38
- 'no-negated-condition': 'off',
39
- // Covered by `unicorn/no-nested-ternary`
40
- 'no-nested-ternary': 'off',
41
- };
41
+ const getExternalRules = rules => Object.fromEntries(
42
+ coreRuleReplacements
43
+ .filter(ruleName => rules[`unicorn/${ruleName}`] === 'error')
44
+ .map(ruleName => [ruleName, 'off']),
45
+ );
42
46
 
43
47
  const recommendedRules = Object.fromEntries(Object.entries(rules).map(([id, rule]) => [
44
48
  `unicorn/${id}`,
@@ -64,7 +68,7 @@ const createConfig = (rules, flatConfigName) => ({
64
68
  unicorn,
65
69
  },
66
70
  rules: {
67
- ...externalRules,
71
+ ...getExternalRules(rules),
68
72
  ...rules,
69
73
  },
70
74
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eslint-plugin-unicorn",
3
- "version": "65.0.1",
4
- "description": "More than 100 powerful ESLint rules",
3
+ "version": "67.0.0",
4
+ "description": "More than 200 powerful ESLint rules",
5
5
  "license": "MIT",
6
6
  "repository": "sindresorhus/eslint-plugin-unicorn",
7
7
  "funding": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1",
@@ -17,27 +17,30 @@
17
17
  },
18
18
  "sideEffects": false,
19
19
  "engines": {
20
- "node": "^20.10.0 || >=21.0.0"
20
+ "node": ">=22"
21
21
  },
22
22
  "scripts": {
23
+ "coverage": "c8 ava",
23
24
  "create-rule": "node ./scripts/create-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs",
24
25
  "create-rules-index-file": "node ./scripts/create-rules-index-file.js",
25
26
  "fix": "run-p --continue-on-error \"fix:*\"",
26
27
  "fix:eslint-docs": "eslint-doc-generator",
27
28
  "fix:js": "npm run lint:js -- --fix",
28
29
  "fix:markdown": "npm run lint:markdown -- --fix",
30
+ "fix:non-js-languages": "node ./scripts/create-non-js-languages-list.js",
29
31
  "fix:snapshots": "ava --update-snapshots",
30
32
  "integration": "node ./test/integration/test.js",
31
33
  "lint": "run-p --continue-on-error \"lint:*\"",
32
34
  "lint:eslint-docs": "npm run fix:eslint-docs -- --check",
33
35
  "lint:js": "eslint",
34
36
  "lint:markdown": "markdownlint \"**/*.md\"",
37
+ "lint:non-js-languages": "node ./scripts/create-non-js-languages-list.js --check",
35
38
  "lint:package-json": "npmPkgJsonLint .",
36
39
  "rename-rule": "node ./scripts/rename-rule.js && npm run create-rules-index-file && npm run fix:eslint-docs",
37
40
  "run-rules-on-codebase": "eslint --config=./eslint.dogfooding.config.js",
38
41
  "smoke": "eslint-remote-tester --config ./test/smoke/eslint-remote-tester.config.js",
39
- "test": "npm-run-all --continue-on-error lint \"test:*\"",
40
- "test:js": "c8 ava"
42
+ "test": "npm-run-all --node-run --continue-on-error lint \"test:*\"",
43
+ "test:js": "ava"
41
44
  },
42
45
  "files": [
43
46
  "index.js",
@@ -56,62 +59,63 @@
56
59
  "xo"
57
60
  ],
58
61
  "dependencies": {
59
- "@babel/helper-validator-identifier": "^7.28.5",
62
+ "@babel/helper-validator-identifier": "^7.29.7",
60
63
  "@eslint-community/eslint-utils": "^4.9.1",
64
+ "browserslist": "^4.28.2",
61
65
  "change-case": "^5.4.4",
62
66
  "ci-info": "^4.4.0",
63
67
  "core-js-compat": "^3.49.0",
64
68
  "detect-indent": "^7.0.2",
65
69
  "find-up-simple": "^1.0.1",
66
- "globals": "^17.4.0",
70
+ "globals": "^17.6.0",
67
71
  "indent-string": "^5.0.0",
68
72
  "is-builtin-module": "^5.0.0",
69
73
  "jsesc": "^3.1.0",
70
74
  "pluralize": "^8.0.0",
71
- "regjsparser": "^0.13.0",
72
- "semver": "^7.7.4",
75
+ "regjsparser": "^0.13.1",
76
+ "semver": "^7.8.4",
73
77
  "strip-indent": "^4.1.1"
74
78
  },
75
79
  "devDependencies": {
76
- "@babel/code-frame": "^7.28.3",
77
- "@eslint/css": "^0.14.1",
80
+ "@babel/code-frame": "^8.0.0-rc.6",
81
+ "@eslint/css": "^1.3.0",
78
82
  "@eslint/eslintrc": "^3.3.5",
79
- "@eslint/json": "^1.2.0",
83
+ "@eslint/json": "^2.0.0",
80
84
  "@eslint/markdown": "^8.0.2",
81
- "@html-eslint/eslint-plugin": "^0.61.0",
82
- "@html-eslint/parser": "^0.61.0",
85
+ "@html-eslint/eslint-plugin": "^0.62.0",
86
+ "@html-eslint/parser": "^0.62.0",
83
87
  "@lubien/fixture-beta-package": "^1.0.0-beta.1",
84
- "@typescript-eslint/parser": "^8.57.2",
85
- "@typescript-eslint/types": "^8.57.2",
86
- "ava": "^7.0.0",
88
+ "@typescript-eslint/parser": "^8.61.0",
89
+ "@typescript-eslint/types": "^8.61.0",
90
+ "ava": "^8.0.1",
87
91
  "c8": "^11.0.0",
88
92
  "enquirer": "^2.4.1",
89
- "eslint": "^10.1.0",
93
+ "eslint": "^10.4.1",
90
94
  "eslint-ava-rule-tester": "^5.0.1",
91
- "eslint-config-xo": "^0.51.0",
92
- "eslint-doc-generator": "^3.3.2",
93
- "eslint-plugin-eslint-plugin": "^7.3.2",
94
- "eslint-plugin-jsdoc": "^62.8.1",
95
- "eslint-plugin-unicorn": "^63.0.0",
95
+ "eslint-config-xo": "^0.52.0",
96
+ "eslint-doc-generator": "^3.6.0",
97
+ "eslint-plugin-eslint-plugin": "^7.4.0",
98
+ "eslint-plugin-jsdoc": "^63.0.2",
99
+ "eslint-plugin-unicorn": "^65.0.1",
96
100
  "eslint-remote-tester": "^4.0.4",
97
101
  "eslint-remote-tester-repositories": "^2.0.2",
98
102
  "eslint-scope": "^9.1.2",
99
103
  "espree": "^11.2.0",
100
104
  "listr2": "^10.2.1",
101
105
  "markdownlint-cli": "^0.48.0",
102
- "nano-spawn": "^2.0.0",
106
+ "nano-spawn": "^2.1.0",
103
107
  "node-style-text": "^2.1.2",
104
- "npm-package-json-lint": "^9.1.0",
105
- "npm-run-all2": "^8.0.4",
108
+ "npm-package-json-lint": "^10.4.0",
109
+ "npm-run-all2": "^9.0.1",
106
110
  "open-editor": "^6.0.0",
107
111
  "outdent": "^0.8.0",
108
112
  "pretty-ms": "^9.3.0",
109
- "typescript": "^5.9.3",
110
- "vue-eslint-parser": "^10.4.0",
111
- "yaml": "^2.8.3"
113
+ "typescript": "^6.0.3",
114
+ "vue-eslint-parser": "^10.4.1",
115
+ "yaml": "^2.9.0"
112
116
  },
113
117
  "peerDependencies": {
114
- "eslint": ">=9.38.0"
118
+ "eslint": ">=10.4"
115
119
  },
116
120
  "ava": {
117
121
  "files": [