@alexlit/lint-kit 127.0.0 → 127.2.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 (592) hide show
  1. package/package.json +1 -1
  2. package/packages/config-commitlint/package.json +3 -3
  3. package/packages/config-eslint/package.json +6 -6
  4. package/packages/config-prettier/package.json +2 -2
  5. package/packages/config-stylelint/package.json +3 -3
  6. package/packages/config-stylelint/plugins/scss.js +1 -0
  7. package/scripts/up.sh +6 -2
  8. package/packages/config-eslint/node_modules/ajv/.tonic_example.js +0 -20
  9. package/packages/config-eslint/node_modules/ajv/LICENSE +0 -22
  10. package/packages/config-eslint/node_modules/ajv/README.md +0 -1497
  11. package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +0 -7189
  12. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +0 -3
  13. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +0 -1
  14. package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +0 -397
  15. package/packages/config-eslint/node_modules/ajv/lib/ajv.js +0 -506
  16. package/packages/config-eslint/node_modules/ajv/lib/cache.js +0 -26
  17. package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +0 -90
  18. package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +0 -5
  19. package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +0 -34
  20. package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +0 -142
  21. package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +0 -387
  22. package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +0 -270
  23. package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +0 -66
  24. package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +0 -9
  25. package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +0 -20
  26. package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +0 -239
  27. package/packages/config-eslint/node_modules/ajv/lib/data.js +0 -49
  28. package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +0 -37
  29. package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +0 -113
  30. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
  31. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
  32. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
  33. package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +0 -32
  34. package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +0 -46
  35. package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +0 -51
  36. package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +0 -9
  37. package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +0 -11
  38. package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +0 -55
  39. package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +0 -191
  40. package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +0 -47
  41. package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +0 -203
  42. package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +0 -79
  43. package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +0 -30
  44. package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +0 -194
  45. package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +0 -106
  46. package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +0 -73
  47. package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +0 -98
  48. package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +0 -39
  49. package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
  50. package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +0 -43
  51. package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +0 -54
  52. package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +0 -14
  53. package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +0 -245
  54. package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
  55. package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +0 -85
  56. package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +0 -108
  57. package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
  58. package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +0 -276
  59. package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +0 -3
  60. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +0 -163
  61. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
  62. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
  63. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
  64. package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +0 -42
  65. package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
  66. package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +0 -14
  67. package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +0 -56
  68. package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +0 -81
  69. package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +0 -228
  70. package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
  71. package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +0 -66
  72. package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +0 -150
  73. package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +0 -103
  74. package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +0 -33
  75. package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +0 -140
  76. package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
  77. package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +0 -84
  78. package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
  79. package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +0 -75
  80. package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +0 -335
  81. package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
  82. package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +0 -124
  83. package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +0 -270
  84. package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
  85. package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +0 -482
  86. package/packages/config-eslint/node_modules/ajv/lib/keyword.js +0 -146
  87. package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +0 -17
  88. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
  89. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
  90. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
  91. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
  92. package/packages/config-eslint/node_modules/ajv/package.json +0 -106
  93. package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +0 -3
  94. package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +0 -61
  95. package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +0 -73
  96. package/packages/config-eslint/node_modules/ajv/scripts/info +0 -10
  97. package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +0 -12
  98. package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +0 -32
  99. package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +0 -23
  100. package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +0 -345
  101. package/packages/config-eslint/node_modules/ansi-styles/index.js +0 -163
  102. package/packages/config-eslint/node_modules/ansi-styles/license +0 -9
  103. package/packages/config-eslint/node_modules/ansi-styles/package.json +0 -56
  104. package/packages/config-eslint/node_modules/ansi-styles/readme.md +0 -152
  105. package/packages/config-eslint/node_modules/chalk/index.d.ts +0 -415
  106. package/packages/config-eslint/node_modules/chalk/license +0 -9
  107. package/packages/config-eslint/node_modules/chalk/package.json +0 -68
  108. package/packages/config-eslint/node_modules/chalk/readme.md +0 -341
  109. package/packages/config-eslint/node_modules/chalk/source/index.js +0 -229
  110. package/packages/config-eslint/node_modules/chalk/source/templates.js +0 -134
  111. package/packages/config-eslint/node_modules/chalk/source/util.js +0 -39
  112. package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +0 -54
  113. package/packages/config-eslint/node_modules/color-convert/LICENSE +0 -21
  114. package/packages/config-eslint/node_modules/color-convert/README.md +0 -68
  115. package/packages/config-eslint/node_modules/color-convert/conversions.js +0 -839
  116. package/packages/config-eslint/node_modules/color-convert/index.js +0 -81
  117. package/packages/config-eslint/node_modules/color-convert/package.json +0 -48
  118. package/packages/config-eslint/node_modules/color-convert/route.js +0 -97
  119. package/packages/config-eslint/node_modules/color-name/LICENSE +0 -8
  120. package/packages/config-eslint/node_modules/color-name/README.md +0 -11
  121. package/packages/config-eslint/node_modules/color-name/index.js +0 -152
  122. package/packages/config-eslint/node_modules/color-name/package.json +0 -28
  123. package/packages/config-eslint/node_modules/eslint/LICENSE +0 -19
  124. package/packages/config-eslint/node_modules/eslint/README.md +0 -306
  125. package/packages/config-eslint/node_modules/eslint/bin/eslint.js +0 -174
  126. package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +0 -32
  127. package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +0 -16
  128. package/packages/config-eslint/node_modules/eslint/conf/globals.js +0 -160
  129. package/packages/config-eslint/node_modules/eslint/conf/replacements.json +0 -22
  130. package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +0 -30
  131. package/packages/config-eslint/node_modules/eslint/lib/api.js +0 -50
  132. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1089
  133. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
  134. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -18
  135. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
  136. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  137. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  138. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
  139. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  140. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +0 -7
  141. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
  142. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  143. package/packages/config-eslint/node_modules/eslint/lib/cli.js +0 -552
  144. package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +0 -75
  145. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +0 -423
  146. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-helpers.js +0 -132
  147. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +0 -576
  148. package/packages/config-eslint/node_modules/eslint/lib/config/rule-validator.js +0 -194
  149. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -975
  150. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +0 -1307
  151. package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +0 -9
  152. package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +0 -742
  153. package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +0 -252
  154. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +0 -7
  155. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +0 -1318
  156. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +0 -57
  157. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +0 -58
  158. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +0 -76
  159. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +0 -92
  160. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +0 -39
  161. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +0 -43
  162. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +0 -57
  163. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +0 -63
  164. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +0 -627
  165. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +0 -40
  166. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +0 -38
  167. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +0 -42
  168. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +0 -107
  169. package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +0 -181
  170. package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -513
  171. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -851
  172. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
  173. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
  174. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -344
  175. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
  176. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
  177. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
  178. package/packages/config-eslint/node_modules/eslint/lib/linter/config-comment-parser.js +0 -169
  179. package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +0 -11
  180. package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +0 -50
  181. package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +0 -2410
  182. package/packages/config-eslint/node_modules/eslint/lib/linter/node-event-generator.js +0 -352
  183. package/packages/config-eslint/node_modules/eslint/lib/linter/report-translator.js +0 -376
  184. package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +0 -163
  185. package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +0 -71
  186. package/packages/config-eslint/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
  187. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
  188. package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +0 -169
  189. package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +0 -111
  190. package/packages/config-eslint/node_modules/eslint/lib/options.js +0 -442
  191. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +0 -7
  192. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1286
  193. package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
  194. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
  195. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
  196. package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
  197. package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
  198. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
  199. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
  200. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
  201. package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
  202. package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +0 -174
  203. package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +0 -197
  204. package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +0 -187
  205. package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +0 -397
  206. package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +0 -303
  207. package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
  208. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
  209. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
  210. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +0 -314
  211. package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +0 -178
  212. package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
  213. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +0 -210
  214. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +0 -153
  215. package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +0 -445
  216. package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +0 -486
  217. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +0 -44
  218. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +0 -97
  219. package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +0 -62
  220. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +0 -108
  221. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +0 -176
  222. package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +0 -115
  223. package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
  224. package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +0 -140
  225. package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
  226. package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
  227. package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +0 -191
  228. package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +0 -136
  229. package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
  230. package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
  231. package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
  232. package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +0 -204
  233. package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +0 -90
  234. package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
  235. package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
  236. package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
  237. package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
  238. package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +0 -228
  239. package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +0 -177
  240. package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +0 -299
  241. package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
  242. package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
  243. package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +0 -1803
  244. package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +0 -305
  245. package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +0 -139
  246. package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
  247. package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +0 -687
  248. package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
  249. package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +0 -125
  250. package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
  251. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
  252. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
  253. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
  254. package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
  255. package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
  256. package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +0 -156
  257. package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +0 -440
  258. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
  259. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +0 -193
  260. package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
  261. package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +0 -102
  262. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
  263. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +0 -184
  264. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -476
  265. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
  266. package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +0 -276
  267. package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +0 -93
  268. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
  269. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
  270. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
  271. package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +0 -138
  272. package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
  273. package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
  274. package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
  275. package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
  276. package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
  277. package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +0 -46
  278. package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +0 -76
  279. package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
  280. package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
  281. package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
  282. package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
  283. package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
  284. package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +0 -207
  285. package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
  286. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -508
  287. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +0 -161
  288. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  289. package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +0 -39
  290. package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
  291. package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +0 -43
  292. package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  293. package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
  294. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
  295. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
  296. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
  297. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
  298. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
  299. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
  300. package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +0 -405
  301. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
  302. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
  303. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
  304. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
  305. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +0 -103
  306. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
  307. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +0 -286
  308. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
  309. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +0 -178
  310. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
  311. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -369
  312. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
  313. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
  314. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
  315. package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +0 -221
  316. package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
  317. package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
  318. package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
  319. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -422
  320. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
  321. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
  322. package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
  323. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
  324. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -131
  325. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
  326. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
  327. package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
  328. package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +0 -52
  329. package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +0 -80
  330. package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +0 -149
  331. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
  332. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
  333. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +0 -238
  334. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
  335. package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
  336. package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -537
  337. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
  338. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
  339. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
  340. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
  341. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
  342. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
  343. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
  344. package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
  345. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
  346. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
  347. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
  348. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +0 -87
  349. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
  350. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +0 -67
  351. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +0 -50
  352. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +0 -63
  353. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
  354. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +0 -43
  355. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
  356. package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
  357. package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
  358. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
  359. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +0 -45
  360. package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
  361. package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
  362. package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
  363. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +0 -51
  364. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
  365. package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
  366. package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +0 -48
  367. package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
  368. package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
  369. package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
  370. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -204
  371. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
  372. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -563
  373. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
  374. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
  375. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
  376. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
  377. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +0 -135
  378. package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +0 -61
  379. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
  380. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
  381. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +0 -139
  382. package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
  383. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
  384. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +0 -336
  385. package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
  386. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -73
  387. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +0 -64
  388. package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +0 -81
  389. package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
  390. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +0 -41
  391. package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +0 -363
  392. package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
  393. package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -192
  394. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
  395. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +0 -79
  396. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +0 -86
  397. package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
  398. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
  399. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  400. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
  401. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
  402. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
  403. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
  404. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
  405. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
  406. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
  407. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
  408. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
  409. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +0 -881
  410. package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
  411. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +0 -566
  412. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -244
  413. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
  414. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  415. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
  416. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
  417. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
  418. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
  419. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
  420. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +0 -369
  421. package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +0 -334
  422. package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +0 -64
  423. package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
  424. package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
  425. package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +0 -39
  426. package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
  427. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
  428. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
  429. package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
  430. package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +0 -521
  431. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
  432. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +0 -567
  433. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
  434. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
  435. package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
  436. package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
  437. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
  438. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +0 -501
  439. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
  440. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
  441. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
  442. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
  443. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
  444. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
  445. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
  446. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
  447. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
  448. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
  449. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
  450. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +0 -275
  451. package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +0 -310
  452. package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +0 -350
  453. package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +0 -198
  454. package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
  455. package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +0 -147
  456. package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
  457. package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +0 -77
  458. package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
  459. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
  460. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +0 -158
  461. package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +0 -438
  462. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +0 -241
  463. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +0 -230
  464. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +0 -104
  465. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
  466. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
  467. package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
  468. package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
  469. package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
  470. package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
  471. package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +0 -277
  472. package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
  473. package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +0 -73
  474. package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
  475. package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
  476. package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  477. package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +0 -235
  478. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2292
  479. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +0 -240
  480. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
  481. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  482. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
  483. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
  484. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -16
  485. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  486. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  487. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  488. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  489. package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
  490. package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
  491. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
  492. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
  493. package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
  494. package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +0 -353
  495. package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +0 -34
  496. package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +0 -29
  497. package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +0 -15
  498. package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +0 -27
  499. package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +0 -39
  500. package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +0 -168
  501. package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +0 -55
  502. package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +0 -49
  503. package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +0 -30
  504. package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +0 -58
  505. package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +0 -195
  506. package/packages/config-eslint/node_modules/eslint/lib/shared/types.js +0 -250
  507. package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +0 -28
  508. package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +0 -16
  509. package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +0 -21
  510. package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +0 -16
  511. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +0 -119
  512. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
  513. package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +0 -13
  514. package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  515. package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +0 -10
  516. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  517. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  518. package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +0 -15
  519. package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +0 -22
  520. package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +0 -16
  521. package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +0 -19
  522. package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  523. package/packages/config-eslint/node_modules/eslint/messages/shared.js +0 -18
  524. package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +0 -11
  525. package/packages/config-eslint/node_modules/eslint/package.json +0 -188
  526. package/packages/config-eslint/node_modules/eslint-scope/LICENSE +0 -22
  527. package/packages/config-eslint/node_modules/eslint-scope/README.md +0 -91
  528. package/packages/config-eslint/node_modules/eslint-scope/dist/eslint-scope.cjs +0 -2266
  529. package/packages/config-eslint/node_modules/eslint-scope/lib/definition.js +0 -85
  530. package/packages/config-eslint/node_modules/eslint-scope/lib/index.js +0 -169
  531. package/packages/config-eslint/node_modules/eslint-scope/lib/pattern-visitor.js +0 -154
  532. package/packages/config-eslint/node_modules/eslint-scope/lib/reference.js +0 -166
  533. package/packages/config-eslint/node_modules/eslint-scope/lib/referencer.js +0 -656
  534. package/packages/config-eslint/node_modules/eslint-scope/lib/scope-manager.js +0 -249
  535. package/packages/config-eslint/node_modules/eslint-scope/lib/scope.js +0 -793
  536. package/packages/config-eslint/node_modules/eslint-scope/lib/variable.js +0 -87
  537. package/packages/config-eslint/node_modules/eslint-scope/lib/version.js +0 -3
  538. package/packages/config-eslint/node_modules/eslint-scope/package.json +0 -65
  539. package/packages/config-eslint/node_modules/file-entry-cache/LICENSE +0 -22
  540. package/packages/config-eslint/node_modules/file-entry-cache/README.md +0 -115
  541. package/packages/config-eslint/node_modules/file-entry-cache/cache.js +0 -291
  542. package/packages/config-eslint/node_modules/file-entry-cache/package.json +0 -56
  543. package/packages/config-eslint/node_modules/find-up/index.d.ts +0 -138
  544. package/packages/config-eslint/node_modules/find-up/index.js +0 -89
  545. package/packages/config-eslint/node_modules/find-up/license +0 -9
  546. package/packages/config-eslint/node_modules/find-up/package.json +0 -54
  547. package/packages/config-eslint/node_modules/find-up/readme.md +0 -151
  548. package/packages/config-eslint/node_modules/flat-cache/LICENSE +0 -22
  549. package/packages/config-eslint/node_modules/flat-cache/README.md +0 -77
  550. package/packages/config-eslint/node_modules/flat-cache/changelog.md +0 -278
  551. package/packages/config-eslint/node_modules/flat-cache/package.json +0 -63
  552. package/packages/config-eslint/node_modules/flat-cache/src/cache.js +0 -214
  553. package/packages/config-eslint/node_modules/flat-cache/src/del.js +0 -30
  554. package/packages/config-eslint/node_modules/flat-cache/src/utils.js +0 -42
  555. package/packages/config-eslint/node_modules/glob-parent/LICENSE +0 -15
  556. package/packages/config-eslint/node_modules/glob-parent/README.md +0 -134
  557. package/packages/config-eslint/node_modules/glob-parent/index.js +0 -75
  558. package/packages/config-eslint/node_modules/glob-parent/package.json +0 -54
  559. package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  560. package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +0 -8
  561. package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +0 -21
  562. package/packages/config-eslint/node_modules/json-schema-traverse/README.md +0 -83
  563. package/packages/config-eslint/node_modules/json-schema-traverse/index.js +0 -89
  564. package/packages/config-eslint/node_modules/json-schema-traverse/package.json +0 -43
  565. package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  566. package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  567. package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  568. package/packages/config-eslint/node_modules/locate-path/index.d.ts +0 -83
  569. package/packages/config-eslint/node_modules/locate-path/index.js +0 -68
  570. package/packages/config-eslint/node_modules/locate-path/license +0 -9
  571. package/packages/config-eslint/node_modules/locate-path/package.json +0 -46
  572. package/packages/config-eslint/node_modules/locate-path/readme.md +0 -125
  573. package/packages/config-eslint/node_modules/p-limit/index.d.ts +0 -42
  574. package/packages/config-eslint/node_modules/p-limit/index.js +0 -71
  575. package/packages/config-eslint/node_modules/p-limit/license +0 -9
  576. package/packages/config-eslint/node_modules/p-limit/package.json +0 -52
  577. package/packages/config-eslint/node_modules/p-limit/readme.md +0 -101
  578. package/packages/config-eslint/node_modules/p-locate/index.d.ts +0 -53
  579. package/packages/config-eslint/node_modules/p-locate/index.js +0 -50
  580. package/packages/config-eslint/node_modules/p-locate/license +0 -9
  581. package/packages/config-eslint/node_modules/p-locate/package.json +0 -54
  582. package/packages/config-eslint/node_modules/p-locate/readme.md +0 -93
  583. package/packages/config-eslint/node_modules/path-exists/index.d.ts +0 -28
  584. package/packages/config-eslint/node_modules/path-exists/index.js +0 -23
  585. package/packages/config-eslint/node_modules/path-exists/license +0 -9
  586. package/packages/config-eslint/node_modules/path-exists/package.json +0 -39
  587. package/packages/config-eslint/node_modules/path-exists/readme.md +0 -52
  588. package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +0 -56
  589. package/packages/config-eslint/node_modules/yocto-queue/index.js +0 -68
  590. package/packages/config-eslint/node_modules/yocto-queue/license +0 -9
  591. package/packages/config-eslint/node_modules/yocto-queue/package.json +0 -43
  592. package/packages/config-eslint/node_modules/yocto-queue/readme.md +0 -64
@@ -1,369 +0,0 @@
1
- /**
2
- * @fileoverview Disallow redundant return statements
3
- * @author Teddy Katz
4
- */
5
- "use strict";
6
-
7
- //------------------------------------------------------------------------------
8
- // Requirements
9
- //------------------------------------------------------------------------------
10
-
11
- const astUtils = require("./utils/ast-utils"),
12
- FixTracker = require("./utils/fix-tracker");
13
-
14
- //------------------------------------------------------------------------------
15
- // Helpers
16
- //------------------------------------------------------------------------------
17
-
18
- /**
19
- * Removes the given element from the array.
20
- * @param {Array} array The source array to remove.
21
- * @param {any} element The target item to remove.
22
- * @returns {void}
23
- */
24
- function remove(array, element) {
25
- const index = array.indexOf(element);
26
-
27
- if (index !== -1) {
28
- array.splice(index, 1);
29
- }
30
- }
31
-
32
- /**
33
- * Checks whether it can remove the given return statement or not.
34
- * @param {ASTNode} node The return statement node to check.
35
- * @returns {boolean} `true` if the node is removable.
36
- */
37
- function isRemovable(node) {
38
- return astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type);
39
- }
40
-
41
- /**
42
- * Checks whether the given return statement is in a `finally` block or not.
43
- * @param {ASTNode} node The return statement node to check.
44
- * @returns {boolean} `true` if the node is in a `finally` block.
45
- */
46
- function isInFinally(node) {
47
- for (
48
- let currentNode = node;
49
- currentNode && currentNode.parent && !astUtils.isFunction(currentNode);
50
- currentNode = currentNode.parent
51
- ) {
52
- if (currentNode.parent.type === "TryStatement" && currentNode.parent.finalizer === currentNode) {
53
- return true;
54
- }
55
- }
56
-
57
- return false;
58
- }
59
-
60
- /**
61
- * Checks all segments in a set and returns true if any are reachable.
62
- * @param {Set<CodePathSegment>} segments The segments to check.
63
- * @returns {boolean} True if any segment is reachable; false otherwise.
64
- */
65
- function isAnySegmentReachable(segments) {
66
-
67
- for (const segment of segments) {
68
- if (segment.reachable) {
69
- return true;
70
- }
71
- }
72
-
73
- return false;
74
- }
75
-
76
- //------------------------------------------------------------------------------
77
- // Rule Definition
78
- //------------------------------------------------------------------------------
79
-
80
- /** @type {import('../shared/types').Rule} */
81
- module.exports = {
82
- meta: {
83
- type: "suggestion",
84
-
85
- docs: {
86
- description: "Disallow redundant return statements",
87
- recommended: false,
88
- url: "https://eslint.org/docs/latest/rules/no-useless-return"
89
- },
90
-
91
- fixable: "code",
92
- schema: [],
93
-
94
- messages: {
95
- unnecessaryReturn: "Unnecessary return statement."
96
- }
97
- },
98
-
99
- create(context) {
100
- const segmentInfoMap = new WeakMap();
101
- const sourceCode = context.sourceCode;
102
- let scopeInfo = null;
103
-
104
- /**
105
- * Checks whether the given segment is terminated by a return statement or not.
106
- * @param {CodePathSegment} segment The segment to check.
107
- * @returns {boolean} `true` if the segment is terminated by a return statement, or if it's still a part of unreachable.
108
- */
109
- function isReturned(segment) {
110
- const info = segmentInfoMap.get(segment);
111
-
112
- return !info || info.returned;
113
- }
114
-
115
- /**
116
- * Collects useless return statements from the given previous segments.
117
- *
118
- * A previous segment may be an unreachable segment.
119
- * In that case, the information object of the unreachable segment is not
120
- * initialized because `onCodePathSegmentStart` event is not notified for
121
- * unreachable segments.
122
- * This goes to the previous segments of the unreachable segment recursively
123
- * if the unreachable segment was generated by a return statement. Otherwise,
124
- * this ignores the unreachable segment.
125
- *
126
- * This behavior would simulate code paths for the case that the return
127
- * statement does not exist.
128
- * @param {ASTNode[]} uselessReturns The collected return statements.
129
- * @param {CodePathSegment[]} prevSegments The previous segments to traverse.
130
- * @param {WeakSet<CodePathSegment>} [providedTraversedSegments] A set of segments that have already been traversed in this call
131
- * @returns {ASTNode[]} `uselessReturns`.
132
- */
133
- function getUselessReturns(uselessReturns, prevSegments, providedTraversedSegments) {
134
- const traversedSegments = providedTraversedSegments || new WeakSet();
135
-
136
- for (const segment of prevSegments) {
137
- if (!segment.reachable) {
138
- if (!traversedSegments.has(segment)) {
139
- traversedSegments.add(segment);
140
- getUselessReturns(
141
- uselessReturns,
142
- segment.allPrevSegments.filter(isReturned),
143
- traversedSegments
144
- );
145
- }
146
- continue;
147
- }
148
-
149
- if (segmentInfoMap.has(segment)) {
150
- uselessReturns.push(...segmentInfoMap.get(segment).uselessReturns);
151
- }
152
- }
153
-
154
- return uselessReturns;
155
- }
156
-
157
- /**
158
- * Removes the return statements on the given segment from the useless return
159
- * statement list.
160
- *
161
- * This segment may be an unreachable segment.
162
- * In that case, the information object of the unreachable segment is not
163
- * initialized because `onCodePathSegmentStart` event is not notified for
164
- * unreachable segments.
165
- * This goes to the previous segments of the unreachable segment recursively
166
- * if the unreachable segment was generated by a return statement. Otherwise,
167
- * this ignores the unreachable segment.
168
- *
169
- * This behavior would simulate code paths for the case that the return
170
- * statement does not exist.
171
- * @param {CodePathSegment} segment The segment to get return statements.
172
- * @param {Set<CodePathSegment>} usedUnreachableSegments A set of segments that have already been traversed in this call.
173
- * @returns {void}
174
- */
175
- function markReturnStatementsOnSegmentAsUsed(segment, usedUnreachableSegments) {
176
- if (!segment.reachable) {
177
- usedUnreachableSegments.add(segment);
178
- segment.allPrevSegments
179
- .filter(isReturned)
180
- .filter(prevSegment => !usedUnreachableSegments.has(prevSegment))
181
- .forEach(prevSegment => markReturnStatementsOnSegmentAsUsed(prevSegment, usedUnreachableSegments));
182
- return;
183
- }
184
-
185
- const info = segmentInfoMap.get(segment);
186
-
187
- if (!info) {
188
- return;
189
- }
190
-
191
- info.uselessReturns = info.uselessReturns.filter(node => {
192
- if (scopeInfo.traversedTryBlockStatements && scopeInfo.traversedTryBlockStatements.length > 0) {
193
- const returnInitialRange = node.range[0];
194
- const returnFinalRange = node.range[1];
195
-
196
- const areBlocksInRange = scopeInfo.traversedTryBlockStatements.some(tryBlockStatement => {
197
- const blockInitialRange = tryBlockStatement.range[0];
198
- const blockFinalRange = tryBlockStatement.range[1];
199
-
200
- return (
201
- returnInitialRange >= blockInitialRange &&
202
- returnFinalRange <= blockFinalRange
203
- );
204
- });
205
-
206
- if (areBlocksInRange) {
207
- return true;
208
- }
209
- }
210
-
211
- remove(scopeInfo.uselessReturns, node);
212
- return false;
213
- });
214
- }
215
-
216
- /**
217
- * Removes the return statements on the current segments from the useless
218
- * return statement list.
219
- *
220
- * This function will be called at every statement except FunctionDeclaration,
221
- * BlockStatement, and BreakStatement.
222
- *
223
- * - FunctionDeclarations are always executed whether it's returned or not.
224
- * - BlockStatements do nothing.
225
- * - BreakStatements go the next merely.
226
- * @returns {void}
227
- */
228
- function markReturnStatementsOnCurrentSegmentsAsUsed() {
229
- scopeInfo
230
- .currentSegments
231
- .forEach(segment => markReturnStatementsOnSegmentAsUsed(segment, new Set()));
232
- }
233
-
234
- //----------------------------------------------------------------------
235
- // Public
236
- //----------------------------------------------------------------------
237
-
238
- return {
239
-
240
- // Makes and pushes a new scope information.
241
- onCodePathStart(codePath) {
242
- scopeInfo = {
243
- upper: scopeInfo,
244
- uselessReturns: [],
245
- traversedTryBlockStatements: [],
246
- codePath,
247
- currentSegments: new Set()
248
- };
249
- },
250
-
251
- // Reports useless return statements if exist.
252
- onCodePathEnd() {
253
- for (const node of scopeInfo.uselessReturns) {
254
- context.report({
255
- node,
256
- loc: node.loc,
257
- messageId: "unnecessaryReturn",
258
- fix(fixer) {
259
- if (isRemovable(node) && !sourceCode.getCommentsInside(node).length) {
260
-
261
- /*
262
- * Extend the replacement range to include the
263
- * entire function to avoid conflicting with
264
- * no-else-return.
265
- * https://github.com/eslint/eslint/issues/8026
266
- */
267
- return new FixTracker(fixer, sourceCode)
268
- .retainEnclosingFunction(node)
269
- .remove(node);
270
- }
271
- return null;
272
- }
273
- });
274
- }
275
-
276
- scopeInfo = scopeInfo.upper;
277
- },
278
-
279
- /*
280
- * Initializes segments.
281
- * NOTE: This event is notified for only reachable segments.
282
- */
283
- onCodePathSegmentStart(segment) {
284
- scopeInfo.currentSegments.add(segment);
285
-
286
- const info = {
287
- uselessReturns: getUselessReturns([], segment.allPrevSegments),
288
- returned: false
289
- };
290
-
291
- // Stores the info.
292
- segmentInfoMap.set(segment, info);
293
- },
294
-
295
- onUnreachableCodePathSegmentStart(segment) {
296
- scopeInfo.currentSegments.add(segment);
297
- },
298
-
299
- onUnreachableCodePathSegmentEnd(segment) {
300
- scopeInfo.currentSegments.delete(segment);
301
- },
302
-
303
- onCodePathSegmentEnd(segment) {
304
- scopeInfo.currentSegments.delete(segment);
305
- },
306
-
307
- // Adds ReturnStatement node to check whether it's useless or not.
308
- ReturnStatement(node) {
309
- if (node.argument) {
310
- markReturnStatementsOnCurrentSegmentsAsUsed();
311
- }
312
- if (
313
- node.argument ||
314
- astUtils.isInLoop(node) ||
315
- isInFinally(node) ||
316
-
317
- // Ignore `return` statements in unreachable places (https://github.com/eslint/eslint/issues/11647).
318
- !isAnySegmentReachable(scopeInfo.currentSegments)
319
- ) {
320
- return;
321
- }
322
-
323
- for (const segment of scopeInfo.currentSegments) {
324
- const info = segmentInfoMap.get(segment);
325
-
326
- if (info) {
327
- info.uselessReturns.push(node);
328
- info.returned = true;
329
- }
330
- }
331
- scopeInfo.uselessReturns.push(node);
332
- },
333
-
334
- "TryStatement > BlockStatement.block:exit"(node) {
335
- scopeInfo.traversedTryBlockStatements.push(node);
336
- },
337
-
338
- "TryStatement:exit"() {
339
- scopeInfo.traversedTryBlockStatements.pop();
340
- },
341
-
342
- /*
343
- * Registers for all statement nodes except FunctionDeclaration, BlockStatement, BreakStatement.
344
- * Removes return statements of the current segments from the useless return statement list.
345
- */
346
- ClassDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
347
- ContinueStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
348
- DebuggerStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
349
- DoWhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
350
- EmptyStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
351
- ExpressionStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
352
- ForInStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
353
- ForOfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
354
- ForStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
355
- IfStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
356
- ImportDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
357
- LabeledStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
358
- SwitchStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
359
- ThrowStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
360
- TryStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
361
- VariableDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
362
- WhileStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
363
- WithStatement: markReturnStatementsOnCurrentSegmentsAsUsed,
364
- ExportNamedDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
365
- ExportDefaultDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed,
366
- ExportAllDeclaration: markReturnStatementsOnCurrentSegmentsAsUsed
367
- };
368
- }
369
- };
@@ -1,334 +0,0 @@
1
- /**
2
- * @fileoverview Rule to check for the usage of var.
3
- * @author Jamund Ferguson
4
- */
5
-
6
- "use strict";
7
-
8
- //------------------------------------------------------------------------------
9
- // Requirements
10
- //------------------------------------------------------------------------------
11
-
12
- const astUtils = require("./utils/ast-utils");
13
-
14
- //------------------------------------------------------------------------------
15
- // Helpers
16
- //------------------------------------------------------------------------------
17
-
18
- /**
19
- * Check whether a given variable is a global variable or not.
20
- * @param {eslint-scope.Variable} variable The variable to check.
21
- * @returns {boolean} `true` if the variable is a global variable.
22
- */
23
- function isGlobal(variable) {
24
- return Boolean(variable.scope) && variable.scope.type === "global";
25
- }
26
-
27
- /**
28
- * Finds the nearest function scope or global scope walking up the scope
29
- * hierarchy.
30
- * @param {eslint-scope.Scope} scope The scope to traverse.
31
- * @returns {eslint-scope.Scope} a function scope or global scope containing the given
32
- * scope.
33
- */
34
- function getEnclosingFunctionScope(scope) {
35
- let currentScope = scope;
36
-
37
- while (currentScope.type !== "function" && currentScope.type !== "global") {
38
- currentScope = currentScope.upper;
39
- }
40
- return currentScope;
41
- }
42
-
43
- /**
44
- * Checks whether the given variable has any references from a more specific
45
- * function expression (i.e. a closure).
46
- * @param {eslint-scope.Variable} variable A variable to check.
47
- * @returns {boolean} `true` if the variable is used from a closure.
48
- */
49
- function isReferencedInClosure(variable) {
50
- const enclosingFunctionScope = getEnclosingFunctionScope(variable.scope);
51
-
52
- return variable.references.some(reference =>
53
- getEnclosingFunctionScope(reference.from) !== enclosingFunctionScope);
54
- }
55
-
56
- /**
57
- * Checks whether the given node is the assignee of a loop.
58
- * @param {ASTNode} node A VariableDeclaration node to check.
59
- * @returns {boolean} `true` if the declaration is assigned as part of loop
60
- * iteration.
61
- */
62
- function isLoopAssignee(node) {
63
- return (node.parent.type === "ForOfStatement" || node.parent.type === "ForInStatement") &&
64
- node === node.parent.left;
65
- }
66
-
67
- /**
68
- * Checks whether the given variable declaration is immediately initialized.
69
- * @param {ASTNode} node A VariableDeclaration node to check.
70
- * @returns {boolean} `true` if the declaration has an initializer.
71
- */
72
- function isDeclarationInitialized(node) {
73
- return node.declarations.every(declarator => declarator.init !== null);
74
- }
75
-
76
- const SCOPE_NODE_TYPE = /^(?:Program|BlockStatement|SwitchStatement|ForStatement|ForInStatement|ForOfStatement)$/u;
77
-
78
- /**
79
- * Gets the scope node which directly contains a given node.
80
- * @param {ASTNode} node A node to get. This is a `VariableDeclaration` or
81
- * an `Identifier`.
82
- * @returns {ASTNode} A scope node. This is one of `Program`, `BlockStatement`,
83
- * `SwitchStatement`, `ForStatement`, `ForInStatement`, and
84
- * `ForOfStatement`.
85
- */
86
- function getScopeNode(node) {
87
- for (let currentNode = node; currentNode; currentNode = currentNode.parent) {
88
- if (SCOPE_NODE_TYPE.test(currentNode.type)) {
89
- return currentNode;
90
- }
91
- }
92
-
93
- /* c8 ignore next */
94
- return null;
95
- }
96
-
97
- /**
98
- * Checks whether a given variable is redeclared or not.
99
- * @param {eslint-scope.Variable} variable A variable to check.
100
- * @returns {boolean} `true` if the variable is redeclared.
101
- */
102
- function isRedeclared(variable) {
103
- return variable.defs.length >= 2;
104
- }
105
-
106
- /**
107
- * Checks whether a given variable is used from outside of the specified scope.
108
- * @param {ASTNode} scopeNode A scope node to check.
109
- * @returns {Function} The predicate function which checks whether a given
110
- * variable is used from outside of the specified scope.
111
- */
112
- function isUsedFromOutsideOf(scopeNode) {
113
-
114
- /**
115
- * Checks whether a given reference is inside of the specified scope or not.
116
- * @param {eslint-scope.Reference} reference A reference to check.
117
- * @returns {boolean} `true` if the reference is inside of the specified
118
- * scope.
119
- */
120
- function isOutsideOfScope(reference) {
121
- const scope = scopeNode.range;
122
- const id = reference.identifier.range;
123
-
124
- return id[0] < scope[0] || id[1] > scope[1];
125
- }
126
-
127
- return function(variable) {
128
- return variable.references.some(isOutsideOfScope);
129
- };
130
- }
131
-
132
- /**
133
- * Creates the predicate function which checks whether a variable has their references in TDZ.
134
- *
135
- * The predicate function would return `true`:
136
- *
137
- * - if a reference is before the declarator. E.g. (var a = b, b = 1;)(var {a = b, b} = {};)
138
- * - if a reference is in the expression of their default value. E.g. (var {a = a} = {};)
139
- * - if a reference is in the expression of their initializer. E.g. (var a = a;)
140
- * @param {ASTNode} node The initializer node of VariableDeclarator.
141
- * @returns {Function} The predicate function.
142
- * @private
143
- */
144
- function hasReferenceInTDZ(node) {
145
- const initStart = node.range[0];
146
- const initEnd = node.range[1];
147
-
148
- return variable => {
149
- const id = variable.defs[0].name;
150
- const idStart = id.range[0];
151
- const defaultValue = (id.parent.type === "AssignmentPattern" ? id.parent.right : null);
152
- const defaultStart = defaultValue && defaultValue.range[0];
153
- const defaultEnd = defaultValue && defaultValue.range[1];
154
-
155
- return variable.references.some(reference => {
156
- const start = reference.identifier.range[0];
157
- const end = reference.identifier.range[1];
158
-
159
- return !reference.init && (
160
- start < idStart ||
161
- (defaultValue !== null && start >= defaultStart && end <= defaultEnd) ||
162
- (!astUtils.isFunction(node) && start >= initStart && end <= initEnd)
163
- );
164
- });
165
- };
166
- }
167
-
168
- /**
169
- * Checks whether a given variable has name that is allowed for 'var' declarations,
170
- * but disallowed for `let` declarations.
171
- * @param {eslint-scope.Variable} variable The variable to check.
172
- * @returns {boolean} `true` if the variable has a disallowed name.
173
- */
174
- function hasNameDisallowedForLetDeclarations(variable) {
175
- return variable.name === "let";
176
- }
177
-
178
- //------------------------------------------------------------------------------
179
- // Rule Definition
180
- //------------------------------------------------------------------------------
181
-
182
- /** @type {import('../shared/types').Rule} */
183
- module.exports = {
184
- meta: {
185
- type: "suggestion",
186
-
187
- docs: {
188
- description: "Require `let` or `const` instead of `var`",
189
- recommended: false,
190
- url: "https://eslint.org/docs/latest/rules/no-var"
191
- },
192
-
193
- schema: [],
194
- fixable: "code",
195
-
196
- messages: {
197
- unexpectedVar: "Unexpected var, use let or const instead."
198
- }
199
- },
200
-
201
- create(context) {
202
- const sourceCode = context.sourceCode;
203
-
204
- /**
205
- * Checks whether the variables which are defined by the given declarator node have their references in TDZ.
206
- * @param {ASTNode} declarator The VariableDeclarator node to check.
207
- * @returns {boolean} `true` if one of the variables which are defined by the given declarator node have their references in TDZ.
208
- */
209
- function hasSelfReferenceInTDZ(declarator) {
210
- if (!declarator.init) {
211
- return false;
212
- }
213
- const variables = sourceCode.getDeclaredVariables(declarator);
214
-
215
- return variables.some(hasReferenceInTDZ(declarator.init));
216
- }
217
-
218
- /**
219
- * Checks whether it can fix a given variable declaration or not.
220
- * It cannot fix if the following cases:
221
- *
222
- * - A variable is a global variable.
223
- * - A variable is declared on a SwitchCase node.
224
- * - A variable is redeclared.
225
- * - A variable is used from outside the scope.
226
- * - A variable is used from a closure within a loop.
227
- * - A variable might be used before it is assigned within a loop.
228
- * - A variable might be used in TDZ.
229
- * - A variable is declared in statement position (e.g. a single-line `IfStatement`)
230
- * - A variable has name that is disallowed for `let` declarations.
231
- *
232
- * ## A variable is declared on a SwitchCase node.
233
- *
234
- * If this rule modifies 'var' declarations on a SwitchCase node, it
235
- * would generate the warnings of 'no-case-declarations' rule. And the
236
- * 'eslint:recommended' preset includes 'no-case-declarations' rule, so
237
- * this rule doesn't modify those declarations.
238
- *
239
- * ## A variable is redeclared.
240
- *
241
- * The language spec disallows redeclarations of `let` declarations.
242
- * Those variables would cause syntax errors.
243
- *
244
- * ## A variable is used from outside the scope.
245
- *
246
- * The language spec disallows accesses from outside of the scope for
247
- * `let` declarations. Those variables would cause reference errors.
248
- *
249
- * ## A variable is used from a closure within a loop.
250
- *
251
- * A `var` declaration within a loop shares the same variable instance
252
- * across all loop iterations, while a `let` declaration creates a new
253
- * instance for each iteration. This means if a variable in a loop is
254
- * referenced by any closure, changing it from `var` to `let` would
255
- * change the behavior in a way that is generally unsafe.
256
- *
257
- * ## A variable might be used before it is assigned within a loop.
258
- *
259
- * Within a loop, a `let` declaration without an initializer will be
260
- * initialized to null, while a `var` declaration will retain its value
261
- * from the previous iteration, so it is only safe to change `var` to
262
- * `let` if we can statically determine that the variable is always
263
- * assigned a value before its first access in the loop body. To keep
264
- * the implementation simple, we only convert `var` to `let` within
265
- * loops when the variable is a loop assignee or the declaration has an
266
- * initializer.
267
- * @param {ASTNode} node A variable declaration node to check.
268
- * @returns {boolean} `true` if it can fix the node.
269
- */
270
- function canFix(node) {
271
- const variables = sourceCode.getDeclaredVariables(node);
272
- const scopeNode = getScopeNode(node);
273
-
274
- if (node.parent.type === "SwitchCase" ||
275
- node.declarations.some(hasSelfReferenceInTDZ) ||
276
- variables.some(isGlobal) ||
277
- variables.some(isRedeclared) ||
278
- variables.some(isUsedFromOutsideOf(scopeNode)) ||
279
- variables.some(hasNameDisallowedForLetDeclarations)
280
- ) {
281
- return false;
282
- }
283
-
284
- if (astUtils.isInLoop(node)) {
285
- if (variables.some(isReferencedInClosure)) {
286
- return false;
287
- }
288
- if (!isLoopAssignee(node) && !isDeclarationInitialized(node)) {
289
- return false;
290
- }
291
- }
292
-
293
- if (
294
- !isLoopAssignee(node) &&
295
- !(node.parent.type === "ForStatement" && node.parent.init === node) &&
296
- !astUtils.STATEMENT_LIST_PARENTS.has(node.parent.type)
297
- ) {
298
-
299
- // If the declaration is not in a block, e.g. `if (foo) var bar = 1;`, then it can't be fixed.
300
- return false;
301
- }
302
-
303
- return true;
304
- }
305
-
306
- /**
307
- * Reports a given variable declaration node.
308
- * @param {ASTNode} node A variable declaration node to report.
309
- * @returns {void}
310
- */
311
- function report(node) {
312
- context.report({
313
- node,
314
- messageId: "unexpectedVar",
315
-
316
- fix(fixer) {
317
- const varToken = sourceCode.getFirstToken(node, { filter: t => t.value === "var" });
318
-
319
- return canFix(node)
320
- ? fixer.replaceText(varToken, "let")
321
- : null;
322
- }
323
- });
324
- }
325
-
326
- return {
327
- "VariableDeclaration:exit"(node) {
328
- if (node.kind === "var") {
329
- report(node);
330
- }
331
- }
332
- };
333
- }
334
- };