@alexlit/lint-kit 166.1.0 → 167.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 (602) hide show
  1. package/package.json +1 -1
  2. package/packages/config-commitlint/package.json +3 -3
  3. package/packages/config-eslint/package.json +2 -2
  4. package/packages/config-eslint/node_modules/@eslint/js/LICENSE +0 -19
  5. package/packages/config-eslint/node_modules/@eslint/js/README.md +0 -103
  6. package/packages/config-eslint/node_modules/@eslint/js/package.json +0 -36
  7. package/packages/config-eslint/node_modules/@eslint/js/src/configs/eslint-all.js +0 -217
  8. package/packages/config-eslint/node_modules/@eslint/js/src/configs/eslint-recommended.js +0 -79
  9. package/packages/config-eslint/node_modules/@eslint/js/src/index.js +0 -23
  10. package/packages/config-eslint/node_modules/@eslint/js/types/index.d.ts +0 -14
  11. package/packages/config-eslint/node_modules/ajv/.tonic_example.js +0 -20
  12. package/packages/config-eslint/node_modules/ajv/LICENSE +0 -22
  13. package/packages/config-eslint/node_modules/ajv/README.md +0 -1497
  14. package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +0 -7189
  15. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +0 -3
  16. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +0 -1
  17. package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +0 -397
  18. package/packages/config-eslint/node_modules/ajv/lib/ajv.js +0 -506
  19. package/packages/config-eslint/node_modules/ajv/lib/cache.js +0 -26
  20. package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +0 -90
  21. package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +0 -5
  22. package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +0 -34
  23. package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +0 -142
  24. package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +0 -387
  25. package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +0 -270
  26. package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +0 -66
  27. package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +0 -9
  28. package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +0 -20
  29. package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +0 -239
  30. package/packages/config-eslint/node_modules/ajv/lib/data.js +0 -49
  31. package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +0 -37
  32. package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +0 -113
  33. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
  34. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
  35. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
  36. package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +0 -32
  37. package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +0 -46
  38. package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +0 -51
  39. package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +0 -9
  40. package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +0 -11
  41. package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +0 -55
  42. package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +0 -191
  43. package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +0 -47
  44. package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +0 -203
  45. package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +0 -79
  46. package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +0 -30
  47. package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +0 -194
  48. package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +0 -106
  49. package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +0 -73
  50. package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +0 -98
  51. package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +0 -39
  52. package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
  53. package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +0 -43
  54. package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +0 -54
  55. package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +0 -14
  56. package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +0 -245
  57. package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
  58. package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +0 -85
  59. package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +0 -108
  60. package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
  61. package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +0 -276
  62. package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +0 -3
  63. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +0 -163
  64. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
  65. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
  66. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
  67. package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +0 -42
  68. package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
  69. package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +0 -14
  70. package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +0 -56
  71. package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +0 -81
  72. package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +0 -228
  73. package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
  74. package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +0 -66
  75. package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +0 -150
  76. package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +0 -103
  77. package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +0 -33
  78. package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +0 -140
  79. package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
  80. package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +0 -84
  81. package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
  82. package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +0 -75
  83. package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +0 -335
  84. package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
  85. package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +0 -124
  86. package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +0 -270
  87. package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
  88. package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +0 -482
  89. package/packages/config-eslint/node_modules/ajv/lib/keyword.js +0 -146
  90. package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +0 -17
  91. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
  92. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
  93. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
  94. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
  95. package/packages/config-eslint/node_modules/ajv/package.json +0 -106
  96. package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +0 -3
  97. package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +0 -61
  98. package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +0 -73
  99. package/packages/config-eslint/node_modules/ajv/scripts/info +0 -10
  100. package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +0 -12
  101. package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +0 -32
  102. package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +0 -23
  103. package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +0 -345
  104. package/packages/config-eslint/node_modules/ansi-styles/index.js +0 -163
  105. package/packages/config-eslint/node_modules/ansi-styles/license +0 -9
  106. package/packages/config-eslint/node_modules/ansi-styles/package.json +0 -56
  107. package/packages/config-eslint/node_modules/ansi-styles/readme.md +0 -152
  108. package/packages/config-eslint/node_modules/chalk/index.d.ts +0 -415
  109. package/packages/config-eslint/node_modules/chalk/license +0 -9
  110. package/packages/config-eslint/node_modules/chalk/package.json +0 -68
  111. package/packages/config-eslint/node_modules/chalk/readme.md +0 -341
  112. package/packages/config-eslint/node_modules/chalk/source/index.js +0 -229
  113. package/packages/config-eslint/node_modules/chalk/source/templates.js +0 -134
  114. package/packages/config-eslint/node_modules/chalk/source/util.js +0 -39
  115. package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +0 -54
  116. package/packages/config-eslint/node_modules/color-convert/LICENSE +0 -21
  117. package/packages/config-eslint/node_modules/color-convert/README.md +0 -68
  118. package/packages/config-eslint/node_modules/color-convert/conversions.js +0 -839
  119. package/packages/config-eslint/node_modules/color-convert/index.js +0 -81
  120. package/packages/config-eslint/node_modules/color-convert/package.json +0 -48
  121. package/packages/config-eslint/node_modules/color-convert/route.js +0 -97
  122. package/packages/config-eslint/node_modules/color-name/LICENSE +0 -8
  123. package/packages/config-eslint/node_modules/color-name/README.md +0 -11
  124. package/packages/config-eslint/node_modules/color-name/index.js +0 -152
  125. package/packages/config-eslint/node_modules/color-name/package.json +0 -28
  126. package/packages/config-eslint/node_modules/eslint/LICENSE +0 -19
  127. package/packages/config-eslint/node_modules/eslint/README.md +0 -354
  128. package/packages/config-eslint/node_modules/eslint/bin/eslint.js +0 -196
  129. package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +0 -32
  130. package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +0 -16
  131. package/packages/config-eslint/node_modules/eslint/conf/globals.js +0 -169
  132. package/packages/config-eslint/node_modules/eslint/conf/replacements.json +0 -26
  133. package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +0 -91
  134. package/packages/config-eslint/node_modules/eslint/lib/api.js +0 -50
  135. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1109
  136. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -541
  137. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -18
  138. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -359
  139. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  140. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  141. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -122
  142. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  143. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +0 -7
  144. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -220
  145. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  146. package/packages/config-eslint/node_modules/eslint/lib/cli.js +0 -553
  147. package/packages/config-eslint/node_modules/eslint/lib/config/config-loader.js +0 -816
  148. package/packages/config-eslint/node_modules/eslint/lib/config/config.js +0 -674
  149. package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +0 -78
  150. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +0 -217
  151. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +0 -598
  152. package/packages/config-eslint/node_modules/eslint/lib/config-api.js +0 -12
  153. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -1465
  154. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +0 -1362
  155. package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +0 -9
  156. package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +0 -786
  157. package/packages/config-eslint/node_modules/eslint/lib/eslint/worker.js +0 -173
  158. package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +0 -336
  159. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +0 -7
  160. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +0 -1364
  161. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +0 -61
  162. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +0 -57
  163. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +0 -76
  164. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +0 -120
  165. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +0 -38
  166. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +0 -42
  167. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +0 -65
  168. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +0 -62
  169. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +0 -721
  170. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +0 -39
  171. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +0 -45
  172. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +0 -41
  173. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +0 -110
  174. package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +0 -196
  175. package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -584
  176. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -828
  177. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -262
  178. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2370
  179. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -332
  180. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -223
  181. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -374
  182. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -44
  183. package/packages/config-eslint/node_modules/eslint/lib/linter/esquery.js +0 -332
  184. package/packages/config-eslint/node_modules/eslint/lib/linter/file-context.js +0 -144
  185. package/packages/config-eslint/node_modules/eslint/lib/linter/file-report.js +0 -608
  186. package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +0 -11
  187. package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +0 -50
  188. package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +0 -2676
  189. package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +0 -169
  190. package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +0 -71
  191. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +0 -154
  192. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-traverser.js +0 -333
  193. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-visitor.js +0 -81
  194. package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +0 -209
  195. package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +0 -115
  196. package/packages/config-eslint/node_modules/eslint/lib/options.js +0 -536
  197. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +0 -7
  198. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1579
  199. package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +0 -420
  200. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -291
  201. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -301
  202. package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +0 -493
  203. package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +0 -374
  204. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +0 -418
  205. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +0 -237
  206. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +0 -188
  207. package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +0 -137
  208. package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +0 -202
  209. package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +0 -278
  210. package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +0 -216
  211. package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +0 -422
  212. package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +0 -325
  213. package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -250
  214. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +0 -424
  215. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +0 -208
  216. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +0 -391
  217. package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +0 -201
  218. package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -251
  219. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +0 -221
  220. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +0 -179
  221. package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +0 -453
  222. package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +0 -425
  223. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +0 -51
  224. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +0 -103
  225. package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +0 -78
  226. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +0 -138
  227. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +0 -216
  228. package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +0 -135
  229. package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +0 -210
  230. package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +0 -168
  231. package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +0 -281
  232. package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +0 -338
  233. package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +0 -192
  234. package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +0 -221
  235. package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -166
  236. package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +0 -368
  237. package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -246
  238. package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +0 -242
  239. package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +0 -117
  240. package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -268
  241. package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +0 -85
  242. package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +0 -122
  243. package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +0 -241
  244. package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +0 -223
  245. package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +0 -217
  246. package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +0 -363
  247. package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -125
  248. package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +0 -1369
  249. package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +0 -2334
  250. package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +0 -332
  251. package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +0 -172
  252. package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +0 -128
  253. package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +0 -822
  254. package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +0 -701
  255. package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +0 -157
  256. package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +0 -135
  257. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +0 -581
  258. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +0 -249
  259. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -358
  260. package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -688
  261. package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -90
  262. package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +0 -159
  263. package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +0 -497
  264. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -238
  265. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +0 -189
  266. package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -115
  267. package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +0 -129
  268. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -224
  269. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +0 -188
  270. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -652
  271. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +0 -257
  272. package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +0 -277
  273. package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +0 -120
  274. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +0 -307
  275. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +0 -242
  276. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -159
  277. package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +0 -149
  278. package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +0 -195
  279. package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -45
  280. package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -115
  281. package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +0 -145
  282. package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -74
  283. package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +0 -52
  284. package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +0 -80
  285. package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -96
  286. package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +0 -66
  287. package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -74
  288. package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +0 -175
  289. package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -127
  290. package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +0 -221
  291. package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +0 -73
  292. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -603
  293. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +0 -177
  294. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  295. package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +0 -38
  296. package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +0 -142
  297. package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +0 -41
  298. package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  299. package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +0 -60
  300. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +0 -92
  301. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -117
  302. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -145
  303. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -165
  304. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -78
  305. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -368
  306. package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +0 -450
  307. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -83
  308. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +0 -236
  309. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -85
  310. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -73
  311. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +0 -153
  312. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +0 -51
  313. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +0 -295
  314. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +0 -57
  315. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +0 -180
  316. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +0 -224
  317. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -420
  318. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +0 -169
  319. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1669
  320. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +0 -167
  321. package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +0 -260
  322. package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -99
  323. package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +0 -77
  324. package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +0 -101
  325. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -468
  326. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -187
  327. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +0 -170
  328. package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +0 -227
  329. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +0 -115
  330. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -147
  331. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -243
  332. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +0 -178
  333. package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -292
  334. package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +0 -48
  335. package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +0 -78
  336. package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +0 -156
  337. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -140
  338. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +0 -126
  339. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +0 -267
  340. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -249
  341. package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -365
  342. package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -595
  343. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -253
  344. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -267
  345. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -148
  346. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +0 -66
  347. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -179
  348. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +0 -67
  349. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -210
  350. package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +0 -114
  351. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +0 -100
  352. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -59
  353. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -46
  354. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +0 -96
  355. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -70
  356. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +0 -76
  357. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +0 -67
  358. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +0 -74
  359. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -62
  360. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +0 -42
  361. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -176
  362. package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +0 -99
  363. package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +0 -124
  364. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +0 -53
  365. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +0 -42
  366. package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +0 -248
  367. package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +0 -79
  368. package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +0 -102
  369. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +0 -68
  370. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +0 -67
  371. package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -264
  372. package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +0 -45
  373. package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -181
  374. package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +0 -173
  375. package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -219
  376. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -227
  377. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -266
  378. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -850
  379. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -249
  380. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -233
  381. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -74
  382. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +0 -87
  383. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +0 -162
  384. package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +0 -68
  385. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +0 -186
  386. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +0 -77
  387. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +0 -158
  388. package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +0 -224
  389. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -113
  390. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +0 -624
  391. package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +0 -105
  392. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -68
  393. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +0 -81
  394. package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +0 -110
  395. package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -45
  396. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +0 -38
  397. package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +0 -365
  398. package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +0 -46
  399. package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -227
  400. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unassigned-vars.js +0 -80
  401. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +0 -101
  402. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +0 -84
  403. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +0 -85
  404. package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -383
  405. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -130
  406. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  407. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -232
  408. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -190
  409. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +0 -300
  410. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -119
  411. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -152
  412. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -221
  413. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -227
  414. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +0 -158
  415. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -219
  416. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +0 -1739
  417. package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +0 -446
  418. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +0 -654
  419. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -263
  420. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +0 -95
  421. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  422. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -204
  423. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +0 -121
  424. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -252
  425. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +0 -406
  426. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +0 -202
  427. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +0 -401
  428. package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +0 -367
  429. package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +0 -69
  430. package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +0 -209
  431. package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -150
  432. package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +0 -37
  433. package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -164
  434. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +0 -383
  435. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -375
  436. package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +0 -151
  437. package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +0 -652
  438. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -117
  439. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +0 -717
  440. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +0 -270
  441. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +0 -315
  442. package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +0 -366
  443. package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -612
  444. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -437
  445. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +0 -546
  446. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -332
  447. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -235
  448. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -197
  449. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -157
  450. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -148
  451. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -319
  452. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -154
  453. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +0 -150
  454. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -605
  455. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -117
  456. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +0 -91
  457. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +0 -347
  458. package/packages/config-eslint/node_modules/eslint/lib/rules/preserve-caught-error.js +0 -535
  459. package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +0 -394
  460. package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +0 -416
  461. package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +0 -216
  462. package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -365
  463. package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +0 -184
  464. package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -317
  465. package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +0 -76
  466. package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -153
  467. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +0 -297
  468. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +0 -218
  469. package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +0 -476
  470. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +0 -319
  471. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +0 -268
  472. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +0 -140
  473. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +0 -232
  474. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -205
  475. package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +0 -374
  476. package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +0 -252
  477. package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +0 -400
  478. package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +0 -447
  479. package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +0 -314
  480. package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -158
  481. package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +0 -70
  482. package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -168
  483. package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -121
  484. package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  485. package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +0 -268
  486. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2733
  487. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +0 -247
  488. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -125
  489. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  490. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -118
  491. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -58
  492. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -16
  493. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  494. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  495. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  496. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  497. package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +0 -171
  498. package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +0 -165
  499. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +0 -238
  500. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +0 -91
  501. package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -159
  502. package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +0 -362
  503. package/packages/config-eslint/node_modules/eslint/lib/services/parser-service.js +0 -65
  504. package/packages/config-eslint/node_modules/eslint/lib/services/processor-service.js +0 -101
  505. package/packages/config-eslint/node_modules/eslint/lib/services/suppressions-service.js +0 -302
  506. package/packages/config-eslint/node_modules/eslint/lib/services/warning-service.js +0 -111
  507. package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +0 -34
  508. package/packages/config-eslint/node_modules/eslint/lib/shared/assert.js +0 -21
  509. package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +0 -30
  510. package/packages/config-eslint/node_modules/eslint/lib/shared/deep-merge-arrays.js +0 -62
  511. package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +0 -16
  512. package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +0 -108
  513. package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +0 -38
  514. package/packages/config-eslint/node_modules/eslint/lib/shared/naming.js +0 -109
  515. package/packages/config-eslint/node_modules/eslint/lib/shared/option-utils.js +0 -63
  516. package/packages/config-eslint/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -28
  517. package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +0 -177
  518. package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +0 -78
  519. package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +0 -49
  520. package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +0 -30
  521. package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +0 -58
  522. package/packages/config-eslint/node_modules/eslint/lib/shared/text-table.js +0 -68
  523. package/packages/config-eslint/node_modules/eslint/lib/shared/translate-cli-options.js +0 -281
  524. package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +0 -202
  525. package/packages/config-eslint/node_modules/eslint/lib/types/config-api.d.ts +0 -12
  526. package/packages/config-eslint/node_modules/eslint/lib/types/index.d.ts +0 -1473
  527. package/packages/config-eslint/node_modules/eslint/lib/types/rules.d.ts +0 -5589
  528. package/packages/config-eslint/node_modules/eslint/lib/types/universal.d.ts +0 -6
  529. package/packages/config-eslint/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts +0 -87
  530. package/packages/config-eslint/node_modules/eslint/lib/universal.js +0 -10
  531. package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +0 -29
  532. package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +0 -16
  533. package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +0 -21
  534. package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +0 -16
  535. package/packages/config-eslint/node_modules/eslint/messages/config-plugin-missing.js +0 -14
  536. package/packages/config-eslint/node_modules/eslint/messages/config-serialize-function.js +0 -30
  537. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +0 -117
  538. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +0 -27
  539. package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +0 -13
  540. package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  541. package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +0 -10
  542. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  543. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  544. package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +0 -15
  545. package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +0 -22
  546. package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +0 -16
  547. package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +0 -19
  548. package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  549. package/packages/config-eslint/node_modules/eslint/messages/shared.js +0 -23
  550. package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +0 -11
  551. package/packages/config-eslint/node_modules/eslint/package.json +0 -226
  552. package/packages/config-eslint/node_modules/find-up/index.d.ts +0 -138
  553. package/packages/config-eslint/node_modules/find-up/index.js +0 -89
  554. package/packages/config-eslint/node_modules/find-up/license +0 -9
  555. package/packages/config-eslint/node_modules/find-up/package.json +0 -54
  556. package/packages/config-eslint/node_modules/find-up/readme.md +0 -151
  557. package/packages/config-eslint/node_modules/globals/globals.json +0 -3970
  558. package/packages/config-eslint/node_modules/globals/index.d.ts +0 -4087
  559. package/packages/config-eslint/node_modules/globals/index.js +0 -2
  560. package/packages/config-eslint/node_modules/globals/license +0 -9
  561. package/packages/config-eslint/node_modules/globals/package.json +0 -122
  562. package/packages/config-eslint/node_modules/globals/readme.md +0 -42
  563. package/packages/config-eslint/node_modules/ignore/LICENSE-MIT +0 -21
  564. package/packages/config-eslint/node_modules/ignore/README.md +0 -412
  565. package/packages/config-eslint/node_modules/ignore/index.d.ts +0 -61
  566. package/packages/config-eslint/node_modules/ignore/index.js +0 -636
  567. package/packages/config-eslint/node_modules/ignore/legacy.js +0 -559
  568. package/packages/config-eslint/node_modules/ignore/package.json +0 -74
  569. package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  570. package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +0 -8
  571. package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +0 -21
  572. package/packages/config-eslint/node_modules/json-schema-traverse/README.md +0 -83
  573. package/packages/config-eslint/node_modules/json-schema-traverse/index.js +0 -89
  574. package/packages/config-eslint/node_modules/json-schema-traverse/package.json +0 -43
  575. package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  576. package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  577. package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  578. package/packages/config-eslint/node_modules/locate-path/index.d.ts +0 -83
  579. package/packages/config-eslint/node_modules/locate-path/index.js +0 -68
  580. package/packages/config-eslint/node_modules/locate-path/license +0 -9
  581. package/packages/config-eslint/node_modules/locate-path/package.json +0 -46
  582. package/packages/config-eslint/node_modules/locate-path/readme.md +0 -125
  583. package/packages/config-eslint/node_modules/p-limit/index.d.ts +0 -42
  584. package/packages/config-eslint/node_modules/p-limit/index.js +0 -71
  585. package/packages/config-eslint/node_modules/p-limit/license +0 -9
  586. package/packages/config-eslint/node_modules/p-limit/package.json +0 -52
  587. package/packages/config-eslint/node_modules/p-limit/readme.md +0 -101
  588. package/packages/config-eslint/node_modules/p-locate/index.d.ts +0 -53
  589. package/packages/config-eslint/node_modules/p-locate/index.js +0 -50
  590. package/packages/config-eslint/node_modules/p-locate/license +0 -9
  591. package/packages/config-eslint/node_modules/p-locate/package.json +0 -54
  592. package/packages/config-eslint/node_modules/p-locate/readme.md +0 -93
  593. package/packages/config-eslint/node_modules/path-exists/index.d.ts +0 -28
  594. package/packages/config-eslint/node_modules/path-exists/index.js +0 -23
  595. package/packages/config-eslint/node_modules/path-exists/license +0 -9
  596. package/packages/config-eslint/node_modules/path-exists/package.json +0 -39
  597. package/packages/config-eslint/node_modules/path-exists/readme.md +0 -52
  598. package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +0 -56
  599. package/packages/config-eslint/node_modules/yocto-queue/index.js +0 -68
  600. package/packages/config-eslint/node_modules/yocto-queue/license +0 -9
  601. package/packages/config-eslint/node_modules/yocto-queue/package.json +0 -43
  602. package/packages/config-eslint/node_modules/yocto-queue/readme.md +0 -64
@@ -1,654 +0,0 @@
1
- /**
2
- * @fileoverview A rule to disallow unnecessary assignments`.
3
- * @author Yosuke Ota
4
- */
5
-
6
- "use strict";
7
-
8
- const { findVariable } = require("@eslint-community/eslint-utils");
9
-
10
- //------------------------------------------------------------------------------
11
- // Types
12
- //------------------------------------------------------------------------------
13
-
14
- /** @typedef {import("estree").Node} ASTNode */
15
- /** @typedef {import("estree").Pattern} Pattern */
16
- /** @typedef {import("estree").Identifier} Identifier */
17
- /** @typedef {import("estree").VariableDeclarator} VariableDeclarator */
18
- /** @typedef {import("estree").AssignmentExpression} AssignmentExpression */
19
- /** @typedef {import("estree").UpdateExpression} UpdateExpression */
20
- /** @typedef {import("estree").Expression} Expression */
21
- /** @typedef {import("eslint-scope").Scope} Scope */
22
- /** @typedef {import("eslint-scope").Variable} Variable */
23
- /** @typedef {import("../linter/code-path-analysis/code-path")} CodePath */
24
- /** @typedef {import("../linter/code-path-analysis/code-path-segment")} CodePathSegment */
25
-
26
- //------------------------------------------------------------------------------
27
- // Helpers
28
- //------------------------------------------------------------------------------
29
-
30
- /**
31
- * Extract identifier from the given pattern node used on the left-hand side of the assignment.
32
- * @param {Pattern} pattern The pattern node to extract identifier
33
- * @returns {Iterable<Identifier>} The extracted identifier
34
- */
35
- function* extractIdentifiersFromPattern(pattern) {
36
- switch (pattern.type) {
37
- case "Identifier":
38
- yield pattern;
39
- return;
40
- case "ObjectPattern":
41
- for (const property of pattern.properties) {
42
- yield* extractIdentifiersFromPattern(
43
- property.type === "Property" ? property.value : property,
44
- );
45
- }
46
- return;
47
- case "ArrayPattern":
48
- for (const element of pattern.elements) {
49
- if (!element) {
50
- continue;
51
- }
52
- yield* extractIdentifiersFromPattern(element);
53
- }
54
- return;
55
- case "RestElement":
56
- yield* extractIdentifiersFromPattern(pattern.argument);
57
- return;
58
- case "AssignmentPattern":
59
- yield* extractIdentifiersFromPattern(pattern.left);
60
-
61
- // no default
62
- }
63
- }
64
-
65
- /**
66
- * Checks whether the given identifier node is evaluated after the assignment identifier.
67
- * @param {AssignmentInfo} assignment The assignment info.
68
- * @param {Identifier} identifier The identifier to check.
69
- * @returns {boolean} `true` if the given identifier node is evaluated after the assignment identifier.
70
- */
71
- function isIdentifierEvaluatedAfterAssignment(assignment, identifier) {
72
- if (identifier.range[0] < assignment.identifier.range[1]) {
73
- return false;
74
- }
75
- if (
76
- assignment.expression &&
77
- assignment.expression.range[0] <= identifier.range[0] &&
78
- identifier.range[1] <= assignment.expression.range[1]
79
- ) {
80
- /*
81
- * The identifier node is in an expression that is evaluated before the assignment.
82
- * e.g. x = id;
83
- * ^^ identifier to check
84
- * ^ assignment identifier
85
- */
86
- return false;
87
- }
88
-
89
- /*
90
- * e.g.
91
- * x = 42; id;
92
- * ^^ identifier to check
93
- * ^ assignment identifier
94
- * let { x, y = id } = obj;
95
- * ^^ identifier to check
96
- * ^ assignment identifier
97
- */
98
- return true;
99
- }
100
-
101
- /**
102
- * Checks whether the given identifier node is used between the assigned identifier and the equal sign.
103
- *
104
- * e.g. let { x, y = x } = obj;
105
- * ^ identifier to check
106
- * ^ assigned identifier
107
- * @param {AssignmentInfo} assignment The assignment info.
108
- * @param {Identifier} identifier The identifier to check.
109
- * @returns {boolean} `true` if the given identifier node is used between the assigned identifier and the equal sign.
110
- */
111
- function isIdentifierUsedBetweenAssignedAndEqualSign(assignment, identifier) {
112
- if (!assignment.expression) {
113
- return false;
114
- }
115
- return (
116
- assignment.identifier.range[1] <= identifier.range[0] &&
117
- identifier.range[1] <= assignment.expression.range[0]
118
- );
119
- }
120
-
121
- //------------------------------------------------------------------------------
122
- // Rule Definition
123
- //------------------------------------------------------------------------------
124
-
125
- /** @type {import('../types').Rule.RuleModule} */
126
- module.exports = {
127
- meta: {
128
- type: "problem",
129
-
130
- docs: {
131
- description:
132
- "Disallow variable assignments when the value is not used",
133
- recommended: false,
134
- url: "https://eslint.org/docs/latest/rules/no-useless-assignment",
135
- },
136
-
137
- schema: [],
138
-
139
- messages: {
140
- unnecessaryAssignment:
141
- "This assigned value is not used in subsequent statements.",
142
- },
143
- },
144
-
145
- create(context) {
146
- const sourceCode = context.sourceCode;
147
-
148
- /**
149
- * @typedef {Object} ScopeStack
150
- * @property {CodePath} codePath The code path of this scope stack.
151
- * @property {Scope} scope The scope of this scope stack.
152
- * @property {ScopeStack} upper The upper scope stack.
153
- * @property {Record<string, ScopeStackSegmentInfo>} segments The map of ScopeStackSegmentInfo.
154
- * @property {Set<CodePathSegment>} currentSegments The current CodePathSegments.
155
- * @property {Map<Variable, AssignmentInfo[]>} assignments The map of list of AssignmentInfo for each variable.
156
- * @property {Array} tryStatementBlocks The array of TryStatement block nodes in this scope stack.
157
- */
158
- /**
159
- * @typedef {Object} ScopeStackSegmentInfo
160
- * @property {CodePathSegment} segment The code path segment.
161
- * @property {Identifier|null} first The first identifier that appears within the segment.
162
- * @property {Identifier|null} last The last identifier that appears within the segment.
163
- * `first` and `last` are used to determine whether an identifier exists within the segment position range.
164
- * Since it is used as a range of segments, we should originally hold all nodes, not just identifiers,
165
- * but since the only nodes to be judged are identifiers, it is sufficient to have a range of identifiers.
166
- */
167
- /**
168
- * @typedef {Object} AssignmentInfo
169
- * @property {Variable} variable The variable that is assigned.
170
- * @property {Identifier} identifier The identifier that is assigned.
171
- * @property {VariableDeclarator|AssignmentExpression|UpdateExpression} node The node where the variable was updated.
172
- * @property {Expression|null} expression The expression that is evaluated before the assignment.
173
- * @property {CodePathSegment[]} segments The code path segments where the assignment was made.
174
- */
175
-
176
- /** @type {ScopeStack} */
177
- let scopeStack = null;
178
-
179
- /** @type {Set<Scope>} */
180
- const codePathStartScopes = new Set();
181
-
182
- /**
183
- * Gets the scope of code path start from given scope
184
- * @param {Scope} scope The initial scope
185
- * @returns {Scope} The scope of code path start
186
- * @throws {Error} Unexpected error
187
- */
188
- function getCodePathStartScope(scope) {
189
- let target = scope;
190
-
191
- while (target) {
192
- if (codePathStartScopes.has(target)) {
193
- return target;
194
- }
195
- target = target.upper;
196
- }
197
-
198
- // Should be unreachable
199
- return null;
200
- }
201
-
202
- /**
203
- * Verify the given scope stack.
204
- * @param {ScopeStack} target The scope stack to verify.
205
- * @returns {void}
206
- */
207
- function verify(target) {
208
- /**
209
- * Checks whether the given identifier is used in the segment.
210
- * @param {CodePathSegment} segment The code path segment.
211
- * @param {Identifier} identifier The identifier to check.
212
- * @returns {boolean} `true` if the identifier is used in the segment.
213
- */
214
- function isIdentifierUsedInSegment(segment, identifier) {
215
- const segmentInfo = target.segments[segment.id];
216
-
217
- return (
218
- segmentInfo.first &&
219
- segmentInfo.last &&
220
- segmentInfo.first.range[0] <= identifier.range[0] &&
221
- identifier.range[1] <= segmentInfo.last.range[1]
222
- );
223
- }
224
-
225
- /**
226
- * Verifies whether the given assignment info is an used assignment.
227
- * Report if it is an unused assignment.
228
- * @param {AssignmentInfo} targetAssignment The assignment info to verify.
229
- * @param {AssignmentInfo[]} allAssignments The list of all assignment info for variables.
230
- * @returns {void}
231
- */
232
- function verifyAssignmentIsUsed(targetAssignment, allAssignments) {
233
- // Skip assignment if it is in a try block.
234
- const isAssignmentInTryBlock = target.tryStatementBlocks.some(
235
- tryBlock =>
236
- tryBlock.range[0] <=
237
- targetAssignment.identifier.range[0] &&
238
- targetAssignment.identifier.range[1] <=
239
- tryBlock.range[1],
240
- );
241
-
242
- if (isAssignmentInTryBlock) {
243
- return;
244
- }
245
-
246
- /**
247
- * @typedef {Object} SubsequentSegmentData
248
- * @property {CodePathSegment} segment The code path segment
249
- * @property {AssignmentInfo} [assignment] The first occurrence of the assignment within the segment.
250
- * There is no need to check if the variable is used after this assignment,
251
- * as the value it was assigned will be used.
252
- */
253
-
254
- /**
255
- * Information used in `getSubsequentSegments()`.
256
- * To avoid unnecessary iterations, cache information that has already been iterated over,
257
- * and if additional iterations are needed, start iterating from the retained position.
258
- */
259
- const subsequentSegmentData = {
260
- /**
261
- * Cache of subsequent segment information list that have already been iterated.
262
- * @type {SubsequentSegmentData[]}
263
- */
264
- results: [],
265
-
266
- /**
267
- * Subsequent segments that have already been iterated on. Used to avoid infinite loops.
268
- * @type {Set<CodePathSegment>}
269
- */
270
- subsequentSegments: new Set(),
271
-
272
- /**
273
- * Unexplored code path segment.
274
- * If additional iterations are needed, consume this information and iterate.
275
- * @type {CodePathSegment[]}
276
- */
277
- queueSegments: targetAssignment.segments.flatMap(
278
- segment => segment.nextSegments,
279
- ),
280
- };
281
-
282
- /**
283
- * Gets the subsequent segments from the segment of
284
- * the assignment currently being validated (targetAssignment).
285
- * @returns {Iterable<SubsequentSegmentData>} the subsequent segments
286
- */
287
- function* getSubsequentSegments() {
288
- yield* subsequentSegmentData.results;
289
-
290
- while (subsequentSegmentData.queueSegments.length > 0) {
291
- const nextSegment =
292
- subsequentSegmentData.queueSegments.shift();
293
-
294
- if (
295
- subsequentSegmentData.subsequentSegments.has(
296
- nextSegment,
297
- )
298
- ) {
299
- continue;
300
- }
301
- subsequentSegmentData.subsequentSegments.add(
302
- nextSegment,
303
- );
304
-
305
- const assignmentInSegment = allAssignments.find(
306
- otherAssignment =>
307
- otherAssignment.segments.includes(
308
- nextSegment,
309
- ) &&
310
- !isIdentifierUsedBetweenAssignedAndEqualSign(
311
- otherAssignment,
312
- targetAssignment.identifier,
313
- ),
314
- );
315
-
316
- if (!assignmentInSegment) {
317
- /*
318
- * Stores the next segment to explore.
319
- * If `assignmentInSegment` exists,
320
- * we are guarding it because we don't need to explore the next segment.
321
- */
322
- subsequentSegmentData.queueSegments.push(
323
- ...nextSegment.nextSegments,
324
- );
325
- }
326
-
327
- /** @type {SubsequentSegmentData} */
328
- const result = {
329
- segment: nextSegment,
330
- assignment: assignmentInSegment,
331
- };
332
-
333
- subsequentSegmentData.results.push(result);
334
- yield result;
335
- }
336
- }
337
-
338
- if (
339
- targetAssignment.variable.references.some(
340
- ref => ref.identifier.type !== "Identifier",
341
- )
342
- ) {
343
- /**
344
- * Skip checking for a variable that has at least one non-identifier reference.
345
- * It's generated by plugins and cannot be handled reliably in the core rule.
346
- */
347
- return;
348
- }
349
-
350
- const readReferences =
351
- targetAssignment.variable.references.filter(reference =>
352
- reference.isRead(),
353
- );
354
-
355
- if (!readReferences.length) {
356
- /*
357
- * It is not just an unnecessary assignment, but an unnecessary (unused) variable
358
- * and thus should not be reported by this rule because it is reported by `no-unused-vars`.
359
- */
360
- return;
361
- }
362
-
363
- /**
364
- * Other assignment on the current segment and after current assignment.
365
- */
366
- const otherAssignmentAfterTargetAssignment =
367
- allAssignments.find(assignment => {
368
- if (
369
- assignment === targetAssignment ||
370
- (assignment.segments.length &&
371
- assignment.segments.every(
372
- segment =>
373
- !targetAssignment.segments.includes(
374
- segment,
375
- ),
376
- ))
377
- ) {
378
- return false;
379
- }
380
- if (
381
- isIdentifierEvaluatedAfterAssignment(
382
- targetAssignment,
383
- assignment.identifier,
384
- )
385
- ) {
386
- return true;
387
- }
388
- if (
389
- assignment.expression &&
390
- assignment.expression.range[0] <=
391
- targetAssignment.identifier.range[0] &&
392
- targetAssignment.identifier.range[1] <=
393
- assignment.expression.range[1]
394
- ) {
395
- /*
396
- * The target assignment is in an expression that is evaluated before the assignment.
397
- * e.g. x=(x=1);
398
- * ^^^ targetAssignment
399
- * ^^^^^^^ assignment
400
- */
401
- return true;
402
- }
403
-
404
- return false;
405
- });
406
-
407
- for (const reference of readReferences) {
408
- /*
409
- * If the scope of the reference is outside the current code path scope,
410
- * we cannot track whether this assignment is not used.
411
- * For example, it can also be called asynchronously.
412
- */
413
- if (
414
- target.scope !== getCodePathStartScope(reference.from)
415
- ) {
416
- return;
417
- }
418
-
419
- // Checks if it is used in the same segment as the target assignment.
420
- if (
421
- isIdentifierEvaluatedAfterAssignment(
422
- targetAssignment,
423
- reference.identifier,
424
- ) &&
425
- (isIdentifierUsedBetweenAssignedAndEqualSign(
426
- targetAssignment,
427
- reference.identifier,
428
- ) ||
429
- targetAssignment.segments.some(segment =>
430
- isIdentifierUsedInSegment(
431
- segment,
432
- reference.identifier,
433
- ),
434
- ))
435
- ) {
436
- if (
437
- otherAssignmentAfterTargetAssignment &&
438
- isIdentifierEvaluatedAfterAssignment(
439
- otherAssignmentAfterTargetAssignment,
440
- reference.identifier,
441
- )
442
- ) {
443
- // There was another assignment before the reference. Therefore, it has not been used yet.
444
- continue;
445
- }
446
-
447
- // Uses in statements after the written identifier.
448
- return;
449
- }
450
-
451
- if (otherAssignmentAfterTargetAssignment) {
452
- /*
453
- * The assignment was followed by another assignment in the same segment.
454
- * Therefore, there is no need to check the next segment.
455
- */
456
- continue;
457
- }
458
-
459
- // Check subsequent segments.
460
- for (const subsequentSegment of getSubsequentSegments()) {
461
- if (
462
- isIdentifierUsedInSegment(
463
- subsequentSegment.segment,
464
- reference.identifier,
465
- )
466
- ) {
467
- if (
468
- subsequentSegment.assignment &&
469
- isIdentifierEvaluatedAfterAssignment(
470
- subsequentSegment.assignment,
471
- reference.identifier,
472
- )
473
- ) {
474
- // There was another assignment before the reference. Therefore, it has not been used yet.
475
- continue;
476
- }
477
-
478
- // It is used
479
- return;
480
- }
481
- }
482
- }
483
- context.report({
484
- node: targetAssignment.identifier,
485
- messageId: "unnecessaryAssignment",
486
- });
487
- }
488
-
489
- // Verify that each assignment in the code path is used.
490
- for (const assignments of target.assignments.values()) {
491
- assignments.sort(
492
- (a, b) => a.identifier.range[0] - b.identifier.range[0],
493
- );
494
- for (const assignment of assignments) {
495
- verifyAssignmentIsUsed(assignment, assignments);
496
- }
497
- }
498
- }
499
-
500
- return {
501
- onCodePathStart(codePath, node) {
502
- const scope = sourceCode.getScope(node);
503
-
504
- scopeStack = {
505
- upper: scopeStack,
506
- codePath,
507
- scope,
508
- segments: Object.create(null),
509
- currentSegments: new Set(),
510
- assignments: new Map(),
511
- tryStatementBlocks: [],
512
- };
513
- codePathStartScopes.add(scopeStack.scope);
514
- },
515
- onCodePathEnd() {
516
- verify(scopeStack);
517
-
518
- scopeStack = scopeStack.upper;
519
- },
520
- onCodePathSegmentStart(segment) {
521
- const segmentInfo = { segment, first: null, last: null };
522
-
523
- scopeStack.segments[segment.id] = segmentInfo;
524
- scopeStack.currentSegments.add(segment);
525
- },
526
- onCodePathSegmentEnd(segment) {
527
- scopeStack.currentSegments.delete(segment);
528
- },
529
- TryStatement(node) {
530
- scopeStack.tryStatementBlocks.push(node.block);
531
- },
532
- Identifier(node) {
533
- for (const segment of scopeStack.currentSegments) {
534
- const segmentInfo = scopeStack.segments[segment.id];
535
-
536
- if (!segmentInfo.first) {
537
- segmentInfo.first = node;
538
- }
539
- segmentInfo.last = node;
540
- }
541
- },
542
- ":matches(VariableDeclarator[init!=null], AssignmentExpression, UpdateExpression):exit"(
543
- node,
544
- ) {
545
- if (scopeStack.currentSegments.size === 0) {
546
- // Ignore unreachable segments
547
- return;
548
- }
549
-
550
- const assignments = scopeStack.assignments;
551
-
552
- let pattern;
553
- let expression = null;
554
-
555
- if (node.type === "VariableDeclarator") {
556
- pattern = node.id;
557
- expression = node.init;
558
- } else if (node.type === "AssignmentExpression") {
559
- pattern = node.left;
560
- expression = node.right;
561
- } else {
562
- // UpdateExpression
563
- pattern = node.argument;
564
- }
565
-
566
- for (const identifier of extractIdentifiersFromPattern(
567
- pattern,
568
- )) {
569
- const scope = sourceCode.getScope(identifier);
570
-
571
- /** @type {Variable} */
572
- const variable = findVariable(scope, identifier);
573
-
574
- if (!variable) {
575
- continue;
576
- }
577
-
578
- // We don't know where global variables are used.
579
- if (
580
- variable.scope.type === "global" &&
581
- variable.defs.length === 0
582
- ) {
583
- continue;
584
- }
585
-
586
- /*
587
- * If the scope of the variable is outside the current code path scope,
588
- * we cannot track whether this assignment is not used.
589
- */
590
- if (
591
- scopeStack.scope !==
592
- getCodePathStartScope(variable.scope)
593
- ) {
594
- continue;
595
- }
596
-
597
- // Variables marked by `markVariableAsUsed()` or
598
- // exported by "exported" block comment.
599
- if (variable.eslintUsed) {
600
- continue;
601
- }
602
-
603
- // Variables exported by ESM export syntax
604
- if (variable.scope.type === "module") {
605
- if (
606
- variable.defs.some(
607
- def =>
608
- (def.type === "Variable" &&
609
- def.parent.parent.type ===
610
- "ExportNamedDeclaration") ||
611
- (def.type === "FunctionName" &&
612
- (def.node.parent.type ===
613
- "ExportNamedDeclaration" ||
614
- def.node.parent.type ===
615
- "ExportDefaultDeclaration")) ||
616
- (def.type === "ClassName" &&
617
- (def.node.parent.type ===
618
- "ExportNamedDeclaration" ||
619
- def.node.parent.type ===
620
- "ExportDefaultDeclaration")),
621
- )
622
- ) {
623
- continue;
624
- }
625
- if (
626
- variable.references.some(
627
- reference =>
628
- reference.identifier.parent.type ===
629
- "ExportSpecifier",
630
- )
631
- ) {
632
- // It have `export { ... }` reference.
633
- continue;
634
- }
635
- }
636
-
637
- let list = assignments.get(variable);
638
-
639
- if (!list) {
640
- list = [];
641
- assignments.set(variable, list);
642
- }
643
- list.push({
644
- variable,
645
- identifier,
646
- node,
647
- expression,
648
- segments: [...scopeStack.currentSegments],
649
- });
650
- }
651
- },
652
- };
653
- },
654
- };