@alexlit/lint-kit 176.0.0 → 177.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 (295) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +1 -1
  3. package/packages/config-eslint/plugins/vue.js +6 -0
  4. package/packages/config-stylelint/package.json +5 -5
  5. package/packages/config-stylelint/plugins/color-format.js +1 -5
  6. package/packages/config-stylelint/plugins/logical-css.js +1 -4
  7. package/packages/config-eslint/node_modules/@eslint/core/LICENSE +0 -201
  8. package/packages/config-eslint/node_modules/@eslint/core/README.md +0 -29
  9. package/packages/config-eslint/node_modules/@eslint/core/dist/cjs/types.d.cts +0 -1179
  10. package/packages/config-eslint/node_modules/@eslint/core/dist/esm/types.d.ts +0 -1179
  11. package/packages/config-eslint/node_modules/@eslint/core/package.json +0 -49
  12. package/packages/config-eslint/node_modules/@eslint/plugin-kit/LICENSE +0 -201
  13. package/packages/config-eslint/node_modules/@eslint/plugin-kit/README.md +0 -273
  14. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/cjs/index.cjs +0 -884
  15. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/cjs/index.d.cts +0 -328
  16. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/cjs/types.cts +0 -7
  17. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/esm/index.d.ts +0 -328
  18. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/esm/index.js +0 -879
  19. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/esm/types.d.ts +0 -6
  20. package/packages/config-eslint/node_modules/@eslint/plugin-kit/dist/esm/types.ts +0 -7
  21. package/packages/config-eslint/node_modules/@eslint/plugin-kit/package.json +0 -61
  22. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/configs/flat-config-base.js +0 -9
  23. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/index.d.ts +0 -17
  24. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/index.js +0 -91
  25. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/license +0 -9
  26. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/globals.json +0 -3345
  27. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/index.d.ts +0 -3452
  28. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/index.js +0 -2
  29. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/license +0 -9
  30. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/package.json +0 -117
  31. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/node_modules/globals/readme.md +0 -42
  32. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/package.json +0 -128
  33. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/readme.md +0 -261
  34. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/call-or-new-expression.js +0 -120
  35. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/function-types.js +0 -7
  36. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/index.js +0 -30
  37. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-arrow-function-body.js +0 -3
  38. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-directive.js +0 -4
  39. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-empty-array-expression.js +0 -5
  40. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-empty-node.js +0 -17
  41. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-expression-statement.js +0 -7
  42. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-function.js +0 -5
  43. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-member-expression.js +0 -98
  44. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-method-call.js +0 -62
  45. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-negative-one.js +0 -8
  46. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-reference-identifier.js +0 -159
  47. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-static-require.js +0 -10
  48. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-tagged-template-literal.js +0 -24
  49. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/is-undefined.js +0 -3
  50. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/ast/literal.js +0 -24
  51. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/better-regex.js +0 -146
  52. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/catch-error-name.js +0 -138
  53. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-assert.js +0 -98
  54. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-date-clone.js +0 -54
  55. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-destructuring.js +0 -168
  56. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-empty-array-spread.js +0 -127
  57. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-existence-index-check.js +0 -137
  58. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/consistent-function-scoping.js +0 -265
  59. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/custom-error-definition.js +0 -218
  60. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/empty-brace-spaces.js +0 -62
  61. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/error-message.js +0 -98
  62. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/escape-case.js +0 -86
  63. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/expiring-todo-comments.js +0 -584
  64. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/explicit-length-check.js +0 -236
  65. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/filename-case.js +0 -276
  66. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/add-parenthesizes-to-return-or-throw-expression.js +0 -29
  67. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/append-argument.js +0 -30
  68. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/extend-fix-range.js +0 -11
  69. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/fix-space-around-keywords.js +0 -43
  70. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/index.js +0 -23
  71. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-argument.js +0 -40
  72. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-expression-statement.js +0 -34
  73. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-method-call.js +0 -28
  74. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-object-property.js +0 -21
  75. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-parentheses.js +0 -19
  76. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-spaces-after.js +0 -22
  77. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/remove-specifier.js +0 -59
  78. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/rename-variable.js +0 -8
  79. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-argument.js +0 -17
  80. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-member-expression-property.js +0 -25
  81. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-node-or-token-and-spaces-before.js +0 -31
  82. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-reference-identifier.js +0 -32
  83. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-string-raw.js +0 -12
  84. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/replace-template-element.js +0 -10
  85. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/switch-call-expression-to-new-expression.js +0 -29
  86. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/fix/switch-new-expression-to-call-expression.js +0 -42
  87. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/import-style.js +0 -375
  88. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/index.js +0 -143
  89. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/new-for-builtins.js +0 -112
  90. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-abusive-eslint-disable.js +0 -63
  91. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-accessor-recursion.js +0 -160
  92. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-anonymous-default-export.js +0 -210
  93. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-callback-reference.js +0 -285
  94. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-for-each.js +0 -496
  95. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-method-this-argument.js +0 -223
  96. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-reduce.js +0 -128
  97. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-reverse.js +0 -6
  98. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-array-sort.js +0 -6
  99. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-await-expression-member.js +0 -85
  100. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-await-in-promise-methods.js +0 -69
  101. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-console-spaces.js +0 -89
  102. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-document-cookie.js +0 -27
  103. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-empty-file.js +0 -58
  104. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-for-loop.js +0 -419
  105. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-hex-escape.js +0 -54
  106. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-immediate-mutation.js +0 -778
  107. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-instanceof-builtins.js +0 -216
  108. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-invalid-fetch-options.js +0 -112
  109. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-invalid-remove-event-listener.js +0 -61
  110. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-keyword-prefix.js +0 -202
  111. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-lonely-if.js +0 -155
  112. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-magic-array-flat-depth.js +0 -55
  113. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-named-default.js +0 -101
  114. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-negated-condition.js +0 -145
  115. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-negation-in-equality-check.js +0 -99
  116. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-nested-ternary.js +0 -60
  117. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-new-array.js +0 -106
  118. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-new-buffer.js +0 -100
  119. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-null.js +0 -153
  120. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-object-as-default-parameter.js +0 -52
  121. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-process-exit.js +0 -106
  122. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-single-promise-in-promise-methods.js +0 -179
  123. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-static-only-class.js +0 -226
  124. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-thenable.js +0 -194
  125. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-this-assignment.js +0 -40
  126. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-typeof-undefined.js +0 -146
  127. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unnecessary-array-flat-depth.js +0 -49
  128. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unnecessary-array-splice-count.js +0 -23
  129. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unnecessary-await.js +0 -110
  130. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unnecessary-polyfills.js +0 -174
  131. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unnecessary-slice-end.js +0 -22
  132. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unreadable-array-destructuring.js +0 -85
  133. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unreadable-iife.js +0 -43
  134. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-unused-properties.js +0 -240
  135. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-collection-argument.js +0 -101
  136. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-error-capture-stack-trace.js +0 -146
  137. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-fallback-in-spread.js +0 -66
  138. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-length-check.js +0 -150
  139. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-promise-resolve-reject.js +0 -210
  140. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-spread.js +0 -389
  141. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-switch-case.js +0 -59
  142. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-useless-undefined.js +0 -275
  143. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/no-zero-fractions.js +0 -81
  144. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/number-literal-case.js +0 -82
  145. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/numeric-separators-style.js +0 -189
  146. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-add-event-listener.js +0 -191
  147. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-array-find.js +0 -458
  148. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-array-flat-map.js +0 -86
  149. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-array-flat.js +0 -279
  150. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-array-index-of.js +0 -34
  151. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-array-some.js +0 -219
  152. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-at.js +0 -380
  153. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-bigint-literals.js +0 -129
  154. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-blob-reading-methods.js +0 -47
  155. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-class-fields.js +0 -158
  156. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-classlist-toggle.js +0 -255
  157. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-code-point.js +0 -56
  158. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-date-now.js +0 -133
  159. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-default-parameters.js +0 -218
  160. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-dom-node-append.js +0 -50
  161. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-dom-node-dataset.js +0 -135
  162. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-dom-node-remove.js +0 -124
  163. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-dom-node-text-content.js +0 -77
  164. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-event-target.js +0 -119
  165. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-export-from.js +0 -367
  166. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-global-this.js +0 -222
  167. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-import-meta-properties.js +0 -320
  168. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-includes.js +0 -111
  169. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-json-parse-buffer.js +0 -161
  170. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-keyboard-event-key.js +0 -188
  171. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-logical-operator-over-ternary.js +0 -162
  172. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-math-min-max.js +0 -205
  173. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-math-trunc.js +0 -111
  174. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-modern-dom-apis.js +0 -145
  175. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-modern-math-apis.js +0 -210
  176. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-module.js +0 -377
  177. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-native-coercion-functions.js +0 -187
  178. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-negative-index.js +0 -211
  179. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-node-protocol.js +0 -86
  180. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-number-properties.js +0 -142
  181. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-object-from-entries.js +0 -256
  182. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-optional-catch-binding.js +0 -77
  183. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-prototype-methods.js +0 -162
  184. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-query-selector.js +0 -170
  185. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-reflect-apply.js +0 -99
  186. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-regexp-test.js +0 -155
  187. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-response-static-json.js +0 -85
  188. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-set-has.js +0 -181
  189. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-set-size.js +0 -106
  190. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-single-call.js +0 -188
  191. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-spread.js +0 -521
  192. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-string-raw.js +0 -149
  193. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-string-replace-all.js +0 -180
  194. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-string-slice.js +0 -180
  195. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-string-starts-ends-with.js +0 -201
  196. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-string-trim-start-end.js +0 -46
  197. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-structured-clone.js +0 -149
  198. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-switch.js +0 -357
  199. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-ternary.js +0 -288
  200. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-top-level-await.js +0 -154
  201. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prefer-type-error.js +0 -169
  202. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/prevent-abbreviations.js +0 -655
  203. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/relative-url-style.js +0 -171
  204. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/require-array-join-separator.js +0 -65
  205. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/require-module-attributes.js +0 -120
  206. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/require-module-specifiers.js +0 -158
  207. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/require-number-to-fixed-digits-argument.js +0 -55
  208. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/require-post-message-target-origin.js +0 -74
  209. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/get-documentation-url.js +0 -9
  210. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/index.js +0 -9
  211. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-create.js +0 -51
  212. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-listener.js +0 -40
  213. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-problem.js +0 -38
  214. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-rule-fixer.js +0 -49
  215. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-rule.js +0 -38
  216. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/to-eslint-rules.js +0 -13
  217. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/unicorn-context.js +0 -36
  218. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/unicorn-listeners.js +0 -65
  219. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/rule/utilities.js +0 -27
  220. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/abbreviations.js +0 -270
  221. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/builtin-errors.js +0 -14
  222. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/dom-events.js +0 -275
  223. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/event-keys.js +0 -54
  224. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/negative-index.js +0 -52
  225. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/no-array-mutate-rule.js +0 -139
  226. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/no-unnecessary-length-or-infinity-rule.js +0 -80
  227. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/package-json.js +0 -42
  228. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/simple-array-search-rule.js +0 -126
  229. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/shared/typed-array.js +0 -17
  230. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/string-content.js +0 -192
  231. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/switch-case-braces.js +0 -114
  232. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/template-indent.js +0 -219
  233. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/text-encoding-identifier-case.js +0 -130
  234. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/throw-new-error.js +0 -60
  235. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/array-or-object-prototype-property.js +0 -57
  236. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/assert-token.js +0 -29
  237. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/boolean.js +0 -88
  238. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/builtins.js +0 -30
  239. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/cartesian-product-samples.js +0 -22
  240. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/create-deprecated-rules.js +0 -29
  241. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/escape-string.js +0 -24
  242. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/escape-template-element-raw.js +0 -6
  243. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-ancestor.js +0 -15
  244. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-available-variable-name.js +0 -147
  245. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-builtin-rule.js +0 -5
  246. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-call-expression-arguments-text.js +0 -36
  247. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-call-or-new-expression-tokens.js +0 -67
  248. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-class-head-location.js +0 -22
  249. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-documentation-url.js +0 -9
  250. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-indent-string.js +0 -18
  251. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-references.js +0 -5
  252. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-scopes.js +0 -12
  253. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-sibling-node.js +0 -38
  254. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-switch-case-head-location.js +0 -22
  255. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-token-store.js +0 -24
  256. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/get-variable-identifiers.js +0 -7
  257. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/global-reference-tracker.js +0 -68
  258. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/has-optional-chain-element.js +0 -17
  259. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/has-same-range.js +0 -7
  260. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/index.js +0 -59
  261. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-function-self-used-inside.js +0 -39
  262. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-left-hand-side.js +0 -20
  263. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-logical-expression.js +0 -14
  264. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-method-named.js +0 -7
  265. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-new-expression-with-parentheses.js +0 -28
  266. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-node-matches.js +0 -58
  267. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-node-value-not-dom-node.js +0 -20
  268. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-node-value-not-function.js +0 -40
  269. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-number.js +0 -224
  270. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-object-method.js +0 -10
  271. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-on-same-line.js +0 -7
  272. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-same-identifier.js +0 -5
  273. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-same-reference.js +0 -170
  274. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-shorthand-export-local.js +0 -8
  275. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-shorthand-import-local.js +0 -8
  276. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-shorthand-property-assignment-pattern-left.js +0 -8
  277. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-shorthand-property-value.js +0 -6
  278. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-unresolved-variable.js +0 -14
  279. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/is-value-not-usable.js +0 -5
  280. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/needs-semicolon.js +0 -118
  281. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/numeric.js +0 -49
  282. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/parentheses.js +0 -71
  283. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/resolve-variable-name.js +0 -18
  284. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/rule.js +0 -27
  285. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-await-expression-argument.js +0 -17
  286. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-call-expression-callee.js +0 -18
  287. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-conditional-expression-child.js +0 -13
  288. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-expression-statement-expression.js +0 -22
  289. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-logical-expression-child.js +0 -43
  290. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-member-expression-object.js +0 -47
  291. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-new-expression-callee.js +0 -28
  292. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/should-add-parentheses-to-unary-expression.js +0 -24
  293. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/singular.js +0 -16
  294. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/string-cases.js +0 -2
  295. package/packages/config-eslint/node_modules/eslint-plugin-unicorn/rules/utils/to-location.js +0 -25
@@ -1,419 +0,0 @@
1
- import {isClosingParenToken, getStaticValue} from '@eslint-community/eslint-utils';
2
- import {
3
- getAvailableVariableName,
4
- getScopes,
5
- singular,
6
- toLocation,
7
- getReferences,
8
- } from './utils/index.js';
9
- import {isLiteral} from './ast/index.js';
10
-
11
- const MESSAGE_ID = 'no-for-loop';
12
- const messages = {
13
- [MESSAGE_ID]: 'Use a `for-of` loop instead of this `for` loop.',
14
- };
15
-
16
- const defaultElementName = 'element';
17
- const isLiteralZero = node => isLiteral(node, 0);
18
- const isLiteralOne = node => isLiteral(node, 1);
19
-
20
- const isIdentifierWithName = (node, name) => node?.type === 'Identifier' && node.name === name;
21
-
22
- const getIndexIdentifierName = forStatement => {
23
- const {init: variableDeclaration} = forStatement;
24
-
25
- if (
26
- !variableDeclaration
27
- || variableDeclaration.type !== 'VariableDeclaration'
28
- ) {
29
- return;
30
- }
31
-
32
- if (variableDeclaration.declarations.length !== 1) {
33
- return;
34
- }
35
-
36
- const [variableDeclarator] = variableDeclaration.declarations;
37
-
38
- if (!isLiteralZero(variableDeclarator.init)) {
39
- return;
40
- }
41
-
42
- if (variableDeclarator.id.type !== 'Identifier') {
43
- return;
44
- }
45
-
46
- return variableDeclarator.id.name;
47
- };
48
-
49
- const getStrictComparisonOperands = binaryExpression => {
50
- if (binaryExpression.operator === '<') {
51
- return {
52
- lesser: binaryExpression.left,
53
- greater: binaryExpression.right,
54
- };
55
- }
56
-
57
- if (binaryExpression.operator === '>') {
58
- return {
59
- lesser: binaryExpression.right,
60
- greater: binaryExpression.left,
61
- };
62
- }
63
- };
64
-
65
- const getArrayIdentifierFromBinaryExpression = (binaryExpression, indexIdentifierName) => {
66
- const operands = getStrictComparisonOperands(binaryExpression);
67
-
68
- if (!operands) {
69
- return;
70
- }
71
-
72
- const {lesser, greater} = operands;
73
-
74
- if (!isIdentifierWithName(lesser, indexIdentifierName)) {
75
- return;
76
- }
77
-
78
- if (greater.type !== 'MemberExpression') {
79
- return;
80
- }
81
-
82
- if (
83
- greater.object.type !== 'Identifier'
84
- || greater.property.type !== 'Identifier'
85
- ) {
86
- return;
87
- }
88
-
89
- if (greater.property.name !== 'length') {
90
- return;
91
- }
92
-
93
- return greater.object;
94
- };
95
-
96
- const getArrayIdentifier = (forStatement, indexIdentifierName) => {
97
- const {test} = forStatement;
98
-
99
- if (!test || test.type !== 'BinaryExpression') {
100
- return;
101
- }
102
-
103
- return getArrayIdentifierFromBinaryExpression(test, indexIdentifierName);
104
- };
105
-
106
- const isLiteralOnePlusIdentifierWithName = (node, identifierName) => {
107
- if (node?.type === 'BinaryExpression' && node.operator === '+') {
108
- return (isIdentifierWithName(node.left, identifierName) && isLiteralOne(node.right))
109
- || (isIdentifierWithName(node.right, identifierName) && isLiteralOne(node.left));
110
- }
111
-
112
- return false;
113
- };
114
-
115
- const checkUpdateExpression = (forStatement, indexIdentifierName) => {
116
- const {update} = forStatement;
117
-
118
- if (!update) {
119
- return false;
120
- }
121
-
122
- if (update.type === 'UpdateExpression') {
123
- return update.operator === '++' && isIdentifierWithName(update.argument, indexIdentifierName);
124
- }
125
-
126
- if (
127
- update.type === 'AssignmentExpression'
128
- && isIdentifierWithName(update.left, indexIdentifierName)
129
- ) {
130
- if (update.operator === '+=') {
131
- return isLiteralOne(update.right);
132
- }
133
-
134
- if (update.operator === '=') {
135
- return isLiteralOnePlusIdentifierWithName(update.right, indexIdentifierName);
136
- }
137
- }
138
-
139
- return false;
140
- };
141
-
142
- const isOnlyArrayOfIndexVariableRead = (arrayReferences, indexIdentifierName) => arrayReferences.every(reference => {
143
- const node = reference.identifier.parent;
144
-
145
- if (node.type !== 'MemberExpression') {
146
- return false;
147
- }
148
-
149
- if (node.property.name !== indexIdentifierName) {
150
- return false;
151
- }
152
-
153
- if (
154
- node.parent.type === 'AssignmentExpression'
155
- && node.parent.left === node
156
- ) {
157
- return false;
158
- }
159
-
160
- return true;
161
- });
162
-
163
- const getRemovalRange = (node, sourceCode) => {
164
- const declarationNode = node.parent;
165
-
166
- if (declarationNode.declarations.length === 1) {
167
- const {line} = sourceCode.getLoc(declarationNode).start;
168
- const lineText = sourceCode.lines[line - 1];
169
-
170
- const isOnlyNodeOnLine = lineText.trim() === sourceCode.getText(declarationNode);
171
-
172
- return isOnlyNodeOnLine
173
- ? [
174
- sourceCode.getIndexFromLoc({line, column: 0}),
175
- sourceCode.getIndexFromLoc({line: line + 1, column: 0}),
176
- ]
177
- : sourceCode.getRange(declarationNode);
178
- }
179
-
180
- const index = declarationNode.declarations.indexOf(node);
181
-
182
- if (index === 0) {
183
- return [
184
- sourceCode.getRange(node)[0],
185
- sourceCode.getRange(declarationNode.declarations[1])[0],
186
- ];
187
- }
188
-
189
- return [
190
- sourceCode.getRange(declarationNode.declarations[index - 1])[1],
191
- sourceCode.getRange(node)[1],
192
- ];
193
- };
194
-
195
- const resolveIdentifierName = (name, scope) => {
196
- while (scope) {
197
- const variable = scope.set.get(name);
198
-
199
- if (variable) {
200
- return variable;
201
- }
202
-
203
- scope = scope.upper;
204
- }
205
- };
206
-
207
- const scopeContains = (ancestor, descendant) => {
208
- while (descendant) {
209
- if (descendant === ancestor) {
210
- return true;
211
- }
212
-
213
- descendant = descendant.upper;
214
- }
215
-
216
- return false;
217
- };
218
-
219
- const nodeContains = (ancestor, descendant) => {
220
- while (descendant) {
221
- if (descendant === ancestor) {
222
- return true;
223
- }
224
-
225
- descendant = descendant.parent;
226
- }
227
-
228
- return false;
229
- };
230
-
231
- const isIndexVariableUsedElsewhereInTheLoopBody = (indexVariable, bodyScope, arrayIdentifierName) => {
232
- const inBodyReferences = indexVariable.references.filter(reference => scopeContains(bodyScope, reference.from));
233
-
234
- const referencesOtherThanArrayAccess = inBodyReferences.filter(reference => {
235
- const node = reference.identifier.parent;
236
-
237
- if (node.type !== 'MemberExpression') {
238
- return true;
239
- }
240
-
241
- if (node.object.name !== arrayIdentifierName) {
242
- return true;
243
- }
244
-
245
- return false;
246
- });
247
-
248
- return referencesOtherThanArrayAccess.length > 0;
249
- };
250
-
251
- const isIndexVariableAssignedToInTheLoopBody = (indexVariable, bodyScope) =>
252
- indexVariable.references
253
- .filter(reference => scopeContains(bodyScope, reference.from))
254
- .some(inBodyReference => inBodyReference.isWrite());
255
-
256
- const someVariablesLeakOutOfTheLoop = (forStatement, variables, forScope) =>
257
- variables.some(
258
- variable => !variable.references.every(
259
- reference => scopeContains(forScope, reference.from) || nodeContains(forStatement, reference.identifier),
260
- ),
261
- );
262
-
263
- const getReferencesInChildScopes = (scope, name) =>
264
- getReferences(scope).filter(reference => reference.identifier.name === name);
265
-
266
- /** @param {import('eslint').Rule.RuleContext} context */
267
- const create = context => {
268
- const {sourceCode} = context;
269
- const {scopeManager} = sourceCode;
270
-
271
- return {
272
- ForStatement(node) {
273
- const indexIdentifierName = getIndexIdentifierName(node);
274
-
275
- if (!indexIdentifierName) {
276
- return;
277
- }
278
-
279
- const arrayIdentifier = getArrayIdentifier(node, indexIdentifierName);
280
- if (!arrayIdentifier) {
281
- return;
282
- }
283
-
284
- const arrayIdentifierName = arrayIdentifier.name;
285
-
286
- const scope = sourceCode.getScope(node);
287
- const staticResult = getStaticValue(arrayIdentifier, scope);
288
- if (staticResult && !Array.isArray(staticResult.value)) {
289
- // Bail out if we can tell that the array variable has a non-array value (i.e. we're looping through the characters of a string constant).
290
- return;
291
- }
292
-
293
- if (!checkUpdateExpression(node, indexIdentifierName)) {
294
- return;
295
- }
296
-
297
- if (!node.body || node.body.type !== 'BlockStatement') {
298
- return;
299
- }
300
-
301
- const forScope = scopeManager.acquire(node);
302
- const bodyScope = scopeManager.acquire(node.body);
303
-
304
- if (!bodyScope) {
305
- return;
306
- }
307
-
308
- const indexVariable = resolveIdentifierName(indexIdentifierName, bodyScope);
309
-
310
- if (isIndexVariableAssignedToInTheLoopBody(indexVariable, bodyScope)) {
311
- return;
312
- }
313
-
314
- const arrayReferences = getReferencesInChildScopes(bodyScope, arrayIdentifierName);
315
-
316
- if (arrayReferences.length === 0) {
317
- return;
318
- }
319
-
320
- if (!isOnlyArrayOfIndexVariableRead(arrayReferences, indexIdentifierName)) {
321
- return;
322
- }
323
-
324
- const [start] = sourceCode.getRange(node);
325
- const closingParenthesisToken = sourceCode.getTokenBefore(node.body, isClosingParenToken);
326
- const [, end] = sourceCode.getRange(closingParenthesisToken);
327
-
328
- const problem = {
329
- loc: toLocation([start, end], context),
330
- messageId: MESSAGE_ID,
331
- };
332
-
333
- const elementReference = arrayReferences.find(reference => {
334
- const node = reference.identifier.parent;
335
-
336
- if (node.parent.type !== 'VariableDeclarator') {
337
- return false;
338
- }
339
-
340
- return true;
341
- });
342
- const elementNode = elementReference?.identifier.parent.parent;
343
- const elementIdentifierName = elementNode?.id.name;
344
- const elementVariable = elementIdentifierName && resolveIdentifierName(elementIdentifierName, bodyScope);
345
-
346
- const shouldFix = !someVariablesLeakOutOfTheLoop(node, [indexVariable, elementVariable].filter(Boolean), forScope)
347
- && !elementNode?.id.typeAnnotation;
348
-
349
- if (shouldFix) {
350
- problem.fix = function * (fixer) {
351
- const shouldGenerateIndex = isIndexVariableUsedElsewhereInTheLoopBody(indexVariable, bodyScope, arrayIdentifierName);
352
- const index = indexIdentifierName;
353
- const element = elementIdentifierName
354
- || getAvailableVariableName(singular(arrayIdentifierName) || defaultElementName, getScopes(bodyScope));
355
- const array = arrayIdentifierName;
356
-
357
- let declarationElement = element;
358
- let declarationType = 'const';
359
- let removeDeclaration = true;
360
-
361
- if (elementNode) {
362
- if (elementNode.id.type === 'ObjectPattern' || elementNode.id.type === 'ArrayPattern') {
363
- removeDeclaration = arrayReferences.length === 1;
364
- }
365
-
366
- if (removeDeclaration) {
367
- declarationType = element.type === 'VariableDeclarator' ? elementNode.kind : elementNode.parent.kind;
368
- declarationElement = sourceCode.getText(elementNode.id);
369
- }
370
- }
371
-
372
- const parts = [declarationType];
373
- if (shouldGenerateIndex) {
374
- parts.push(` [${index}, ${declarationElement}] of ${array}.entries()`);
375
- } else {
376
- parts.push(` ${declarationElement} of ${array}`);
377
- }
378
-
379
- const replacement = parts.join('');
380
- const [start] = sourceCode.getRange(node.init);
381
- const [, end] = sourceCode.getRange(node.update);
382
-
383
- yield fixer.replaceTextRange([start, end], replacement);
384
-
385
- for (const reference of arrayReferences) {
386
- if (reference !== elementReference) {
387
- yield fixer.replaceText(reference.identifier.parent, element);
388
- }
389
- }
390
-
391
- if (elementNode) {
392
- yield removeDeclaration
393
- ? fixer.removeRange(getRemovalRange(elementNode, sourceCode))
394
- : fixer.replaceText(elementNode.init, element);
395
- }
396
- };
397
- }
398
-
399
- return problem;
400
- },
401
- };
402
- };
403
-
404
- /** @type {import('eslint').Rule.RuleModule} */
405
- const config = {
406
- create,
407
- meta: {
408
- type: 'suggestion',
409
- docs: {
410
- description: 'Do not use a `for` loop that can be replaced with a `for-of` loop.',
411
- recommended: true,
412
- },
413
- fixable: 'code',
414
- hasSuggestions: true,
415
- messages,
416
- },
417
- };
418
-
419
- export default config;
@@ -1,54 +0,0 @@
1
- import {replaceTemplateElement} from './fix/index.js';
2
- import {isStringLiteral, isRegexLiteral, isTaggedTemplateLiteral} from './ast/index.js';
3
-
4
- const MESSAGE_ID = 'no-hex-escape';
5
- const messages = {
6
- [MESSAGE_ID]: 'Use Unicode escapes instead of hexadecimal escapes.',
7
- };
8
-
9
- function checkEscape(context, node, value) {
10
- const fixedValue = value.replaceAll(/(?<=(?:^|[^\\])(?:\\\\)*\\)x/g, 'u00');
11
-
12
- if (value !== fixedValue) {
13
- return {
14
- node,
15
- messageId: MESSAGE_ID,
16
- fix: fixer =>
17
- node.type === 'TemplateElement'
18
- ? replaceTemplateElement(node, fixedValue, context, fixer)
19
- : fixer.replaceText(node, fixedValue),
20
- };
21
- }
22
- }
23
-
24
- /** @param {import('eslint').Rule.RuleContext} context */
25
- const create = context => ({
26
- Literal(node) {
27
- if (isStringLiteral(node) || isRegexLiteral(node)) {
28
- return checkEscape(context, node, node.raw);
29
- }
30
- },
31
- TemplateElement(node) {
32
- if (isTaggedTemplateLiteral(node.parent, ['String.raw'])) {
33
- return;
34
- }
35
-
36
- return checkEscape(context, node, node.value.raw);
37
- },
38
- });
39
-
40
- /** @type {import('eslint').Rule.RuleModule} */
41
- const config = {
42
- create,
43
- meta: {
44
- type: 'suggestion',
45
- docs: {
46
- description: 'Enforce the use of Unicode escapes instead of hexadecimal escapes.',
47
- recommended: 'unopinionated',
48
- },
49
- fixable: 'code',
50
- messages,
51
- },
52
- };
53
-
54
- export default config;