@alexlit/lint-kit 126.7.0 → 127.1.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 (599) hide show
  1. package/eslint.config.js +16 -0
  2. package/package.json +5 -5
  3. package/packages/config-eslint/package.json +5 -5
  4. package/packages/config-prettier/package.json +2 -2
  5. package/packages/config-stylelint/package.json +3 -3
  6. package/packages/config-eslint/node_modules/ajv/.tonic_example.js +0 -20
  7. package/packages/config-eslint/node_modules/ajv/LICENSE +0 -22
  8. package/packages/config-eslint/node_modules/ajv/README.md +0 -1497
  9. package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +0 -7189
  10. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +0 -3
  11. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +0 -1
  12. package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +0 -397
  13. package/packages/config-eslint/node_modules/ajv/lib/ajv.js +0 -506
  14. package/packages/config-eslint/node_modules/ajv/lib/cache.js +0 -26
  15. package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +0 -90
  16. package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +0 -5
  17. package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +0 -34
  18. package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +0 -142
  19. package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +0 -387
  20. package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +0 -270
  21. package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +0 -66
  22. package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +0 -9
  23. package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +0 -20
  24. package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +0 -239
  25. package/packages/config-eslint/node_modules/ajv/lib/data.js +0 -49
  26. package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +0 -37
  27. package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +0 -113
  28. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
  29. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
  30. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
  31. package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +0 -32
  32. package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +0 -46
  33. package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +0 -51
  34. package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +0 -9
  35. package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +0 -11
  36. package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +0 -55
  37. package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +0 -191
  38. package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +0 -47
  39. package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +0 -203
  40. package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +0 -79
  41. package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +0 -30
  42. package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +0 -194
  43. package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +0 -106
  44. package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +0 -73
  45. package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +0 -98
  46. package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +0 -39
  47. package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
  48. package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +0 -43
  49. package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +0 -54
  50. package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +0 -14
  51. package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +0 -245
  52. package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
  53. package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +0 -85
  54. package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +0 -108
  55. package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
  56. package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +0 -276
  57. package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +0 -3
  58. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +0 -163
  59. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
  60. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
  61. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
  62. package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +0 -42
  63. package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
  64. package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +0 -14
  65. package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +0 -56
  66. package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +0 -81
  67. package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +0 -228
  68. package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
  69. package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +0 -66
  70. package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +0 -150
  71. package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +0 -103
  72. package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +0 -33
  73. package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +0 -140
  74. package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
  75. package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +0 -84
  76. package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
  77. package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +0 -75
  78. package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +0 -335
  79. package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
  80. package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +0 -124
  81. package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +0 -270
  82. package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
  83. package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +0 -482
  84. package/packages/config-eslint/node_modules/ajv/lib/keyword.js +0 -146
  85. package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +0 -17
  86. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
  87. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
  88. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
  89. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
  90. package/packages/config-eslint/node_modules/ajv/package.json +0 -106
  91. package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +0 -3
  92. package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +0 -61
  93. package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +0 -73
  94. package/packages/config-eslint/node_modules/ajv/scripts/info +0 -10
  95. package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +0 -12
  96. package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +0 -32
  97. package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +0 -23
  98. package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +0 -345
  99. package/packages/config-eslint/node_modules/ansi-styles/index.js +0 -163
  100. package/packages/config-eslint/node_modules/ansi-styles/license +0 -9
  101. package/packages/config-eslint/node_modules/ansi-styles/package.json +0 -56
  102. package/packages/config-eslint/node_modules/ansi-styles/readme.md +0 -152
  103. package/packages/config-eslint/node_modules/chalk/index.d.ts +0 -415
  104. package/packages/config-eslint/node_modules/chalk/license +0 -9
  105. package/packages/config-eslint/node_modules/chalk/package.json +0 -68
  106. package/packages/config-eslint/node_modules/chalk/readme.md +0 -341
  107. package/packages/config-eslint/node_modules/chalk/source/index.js +0 -229
  108. package/packages/config-eslint/node_modules/chalk/source/templates.js +0 -134
  109. package/packages/config-eslint/node_modules/chalk/source/util.js +0 -39
  110. package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +0 -54
  111. package/packages/config-eslint/node_modules/color-convert/LICENSE +0 -21
  112. package/packages/config-eslint/node_modules/color-convert/README.md +0 -68
  113. package/packages/config-eslint/node_modules/color-convert/conversions.js +0 -839
  114. package/packages/config-eslint/node_modules/color-convert/index.js +0 -81
  115. package/packages/config-eslint/node_modules/color-convert/package.json +0 -48
  116. package/packages/config-eslint/node_modules/color-convert/route.js +0 -97
  117. package/packages/config-eslint/node_modules/color-name/LICENSE +0 -8
  118. package/packages/config-eslint/node_modules/color-name/README.md +0 -11
  119. package/packages/config-eslint/node_modules/color-name/index.js +0 -152
  120. package/packages/config-eslint/node_modules/color-name/package.json +0 -28
  121. package/packages/config-eslint/node_modules/eslint/LICENSE +0 -19
  122. package/packages/config-eslint/node_modules/eslint/README.md +0 -306
  123. package/packages/config-eslint/node_modules/eslint/bin/eslint.js +0 -174
  124. package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +0 -32
  125. package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +0 -16
  126. package/packages/config-eslint/node_modules/eslint/conf/globals.js +0 -160
  127. package/packages/config-eslint/node_modules/eslint/conf/replacements.json +0 -22
  128. package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +0 -30
  129. package/packages/config-eslint/node_modules/eslint/lib/api.js +0 -50
  130. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1089
  131. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
  132. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -18
  133. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
  134. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  135. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  136. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
  137. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  138. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +0 -7
  139. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
  140. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  141. package/packages/config-eslint/node_modules/eslint/lib/cli.js +0 -552
  142. package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +0 -75
  143. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +0 -423
  144. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-helpers.js +0 -132
  145. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +0 -576
  146. package/packages/config-eslint/node_modules/eslint/lib/config/rule-validator.js +0 -194
  147. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -975
  148. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +0 -1307
  149. package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +0 -9
  150. package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +0 -742
  151. package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +0 -252
  152. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +0 -7
  153. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +0 -1318
  154. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +0 -57
  155. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +0 -58
  156. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +0 -76
  157. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +0 -92
  158. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +0 -39
  159. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +0 -43
  160. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +0 -57
  161. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +0 -63
  162. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +0 -627
  163. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +0 -40
  164. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +0 -38
  165. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +0 -42
  166. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +0 -107
  167. package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +0 -181
  168. package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -513
  169. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -851
  170. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
  171. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
  172. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -344
  173. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
  174. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
  175. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
  176. package/packages/config-eslint/node_modules/eslint/lib/linter/config-comment-parser.js +0 -169
  177. package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +0 -11
  178. package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +0 -50
  179. package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +0 -2410
  180. package/packages/config-eslint/node_modules/eslint/lib/linter/node-event-generator.js +0 -352
  181. package/packages/config-eslint/node_modules/eslint/lib/linter/report-translator.js +0 -376
  182. package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +0 -163
  183. package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +0 -71
  184. package/packages/config-eslint/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
  185. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
  186. package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +0 -169
  187. package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +0 -111
  188. package/packages/config-eslint/node_modules/eslint/lib/options.js +0 -442
  189. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +0 -7
  190. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1286
  191. package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
  192. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
  193. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
  194. package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
  195. package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
  196. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
  197. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
  198. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
  199. package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
  200. package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +0 -174
  201. package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +0 -197
  202. package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +0 -187
  203. package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +0 -397
  204. package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +0 -303
  205. package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
  206. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
  207. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
  208. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +0 -314
  209. package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +0 -178
  210. package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
  211. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +0 -210
  212. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +0 -153
  213. package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +0 -445
  214. package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +0 -486
  215. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +0 -44
  216. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +0 -97
  217. package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +0 -62
  218. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +0 -108
  219. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +0 -176
  220. package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +0 -115
  221. package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
  222. package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +0 -140
  223. package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
  224. package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
  225. package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +0 -191
  226. package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +0 -136
  227. package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
  228. package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
  229. package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
  230. package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +0 -204
  231. package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +0 -90
  232. package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
  233. package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
  234. package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
  235. package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
  236. package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +0 -228
  237. package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +0 -177
  238. package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +0 -299
  239. package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
  240. package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
  241. package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +0 -1803
  242. package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +0 -305
  243. package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +0 -139
  244. package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
  245. package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +0 -687
  246. package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
  247. package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +0 -125
  248. package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
  249. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
  250. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
  251. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
  252. package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
  253. package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
  254. package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +0 -156
  255. package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +0 -440
  256. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
  257. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +0 -193
  258. package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
  259. package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +0 -102
  260. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
  261. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +0 -184
  262. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -476
  263. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
  264. package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +0 -276
  265. package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +0 -93
  266. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
  267. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
  268. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
  269. package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +0 -138
  270. package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
  271. package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
  272. package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
  273. package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
  274. package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
  275. package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +0 -46
  276. package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +0 -76
  277. package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
  278. package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
  279. package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
  280. package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
  281. package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
  282. package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +0 -207
  283. package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
  284. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -508
  285. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +0 -161
  286. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  287. package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +0 -39
  288. package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
  289. package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +0 -43
  290. package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  291. package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
  292. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
  293. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
  294. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
  295. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
  296. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
  297. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
  298. package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +0 -405
  299. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
  300. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
  301. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
  302. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
  303. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +0 -103
  304. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
  305. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +0 -286
  306. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
  307. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +0 -178
  308. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
  309. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -369
  310. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
  311. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
  312. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
  313. package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +0 -221
  314. package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
  315. package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
  316. package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
  317. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -422
  318. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
  319. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
  320. package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
  321. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
  322. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -131
  323. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
  324. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
  325. package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
  326. package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +0 -52
  327. package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +0 -80
  328. package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +0 -149
  329. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
  330. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
  331. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +0 -238
  332. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
  333. package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
  334. package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -537
  335. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
  336. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
  337. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
  338. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
  339. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
  340. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
  341. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
  342. package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
  343. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
  344. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
  345. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
  346. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +0 -87
  347. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
  348. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +0 -67
  349. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +0 -50
  350. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +0 -63
  351. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
  352. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +0 -43
  353. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
  354. package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
  355. package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
  356. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
  357. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +0 -45
  358. package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
  359. package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
  360. package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
  361. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +0 -51
  362. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
  363. package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
  364. package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +0 -48
  365. package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
  366. package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
  367. package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
  368. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -204
  369. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
  370. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -563
  371. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
  372. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
  373. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
  374. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
  375. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +0 -135
  376. package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +0 -61
  377. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
  378. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
  379. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +0 -139
  380. package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
  381. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
  382. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +0 -336
  383. package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
  384. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -73
  385. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +0 -64
  386. package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +0 -81
  387. package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
  388. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +0 -41
  389. package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +0 -363
  390. package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
  391. package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -192
  392. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
  393. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +0 -79
  394. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +0 -86
  395. package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
  396. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
  397. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  398. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
  399. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
  400. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
  401. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
  402. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
  403. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
  404. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
  405. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
  406. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
  407. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +0 -881
  408. package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
  409. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +0 -566
  410. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -244
  411. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
  412. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  413. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
  414. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
  415. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
  416. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
  417. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
  418. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +0 -369
  419. package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +0 -334
  420. package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +0 -64
  421. package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
  422. package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
  423. package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +0 -39
  424. package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
  425. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
  426. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
  427. package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
  428. package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +0 -521
  429. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
  430. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +0 -567
  431. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
  432. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
  433. package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
  434. package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
  435. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
  436. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +0 -501
  437. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
  438. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
  439. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
  440. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
  441. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
  442. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
  443. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
  444. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
  445. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
  446. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
  447. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
  448. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +0 -275
  449. package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +0 -310
  450. package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +0 -350
  451. package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +0 -198
  452. package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
  453. package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +0 -147
  454. package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
  455. package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +0 -77
  456. package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
  457. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
  458. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +0 -158
  459. package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +0 -438
  460. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +0 -241
  461. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +0 -230
  462. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +0 -104
  463. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
  464. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
  465. package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
  466. package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
  467. package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
  468. package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
  469. package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +0 -277
  470. package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
  471. package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +0 -73
  472. package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
  473. package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
  474. package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  475. package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +0 -235
  476. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2292
  477. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +0 -240
  478. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
  479. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  480. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
  481. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
  482. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -16
  483. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  484. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  485. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  486. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  487. package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
  488. package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
  489. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
  490. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
  491. package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
  492. package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +0 -353
  493. package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +0 -34
  494. package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +0 -29
  495. package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +0 -15
  496. package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +0 -27
  497. package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +0 -39
  498. package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +0 -168
  499. package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +0 -55
  500. package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +0 -49
  501. package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +0 -30
  502. package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +0 -58
  503. package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +0 -195
  504. package/packages/config-eslint/node_modules/eslint/lib/shared/types.js +0 -250
  505. package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +0 -28
  506. package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +0 -16
  507. package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +0 -21
  508. package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +0 -16
  509. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +0 -119
  510. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
  511. package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +0 -13
  512. package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  513. package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +0 -10
  514. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  515. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  516. package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +0 -15
  517. package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +0 -22
  518. package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +0 -16
  519. package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +0 -19
  520. package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  521. package/packages/config-eslint/node_modules/eslint/messages/shared.js +0 -18
  522. package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +0 -11
  523. package/packages/config-eslint/node_modules/eslint/package.json +0 -188
  524. package/packages/config-eslint/node_modules/eslint-scope/LICENSE +0 -22
  525. package/packages/config-eslint/node_modules/eslint-scope/README.md +0 -91
  526. package/packages/config-eslint/node_modules/eslint-scope/dist/eslint-scope.cjs +0 -2266
  527. package/packages/config-eslint/node_modules/eslint-scope/lib/definition.js +0 -85
  528. package/packages/config-eslint/node_modules/eslint-scope/lib/index.js +0 -169
  529. package/packages/config-eslint/node_modules/eslint-scope/lib/pattern-visitor.js +0 -154
  530. package/packages/config-eslint/node_modules/eslint-scope/lib/reference.js +0 -166
  531. package/packages/config-eslint/node_modules/eslint-scope/lib/referencer.js +0 -656
  532. package/packages/config-eslint/node_modules/eslint-scope/lib/scope-manager.js +0 -249
  533. package/packages/config-eslint/node_modules/eslint-scope/lib/scope.js +0 -793
  534. package/packages/config-eslint/node_modules/eslint-scope/lib/variable.js +0 -87
  535. package/packages/config-eslint/node_modules/eslint-scope/lib/version.js +0 -3
  536. package/packages/config-eslint/node_modules/eslint-scope/package.json +0 -65
  537. package/packages/config-eslint/node_modules/eslint-visitor-keys/LICENSE +0 -201
  538. package/packages/config-eslint/node_modules/eslint-visitor-keys/README.md +0 -105
  539. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +0 -384
  540. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.d.cts +0 -27
  541. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/index.d.ts +0 -16
  542. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/visitor-keys.d.ts +0 -12
  543. package/packages/config-eslint/node_modules/eslint-visitor-keys/lib/index.js +0 -65
  544. package/packages/config-eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.js +0 -315
  545. package/packages/config-eslint/node_modules/eslint-visitor-keys/package.json +0 -74
  546. package/packages/config-eslint/node_modules/file-entry-cache/LICENSE +0 -22
  547. package/packages/config-eslint/node_modules/file-entry-cache/README.md +0 -115
  548. package/packages/config-eslint/node_modules/file-entry-cache/cache.js +0 -291
  549. package/packages/config-eslint/node_modules/file-entry-cache/package.json +0 -56
  550. package/packages/config-eslint/node_modules/find-up/index.d.ts +0 -138
  551. package/packages/config-eslint/node_modules/find-up/index.js +0 -89
  552. package/packages/config-eslint/node_modules/find-up/license +0 -9
  553. package/packages/config-eslint/node_modules/find-up/package.json +0 -54
  554. package/packages/config-eslint/node_modules/find-up/readme.md +0 -151
  555. package/packages/config-eslint/node_modules/flat-cache/LICENSE +0 -22
  556. package/packages/config-eslint/node_modules/flat-cache/README.md +0 -77
  557. package/packages/config-eslint/node_modules/flat-cache/changelog.md +0 -278
  558. package/packages/config-eslint/node_modules/flat-cache/package.json +0 -63
  559. package/packages/config-eslint/node_modules/flat-cache/src/cache.js +0 -214
  560. package/packages/config-eslint/node_modules/flat-cache/src/del.js +0 -30
  561. package/packages/config-eslint/node_modules/flat-cache/src/utils.js +0 -42
  562. package/packages/config-eslint/node_modules/glob-parent/LICENSE +0 -15
  563. package/packages/config-eslint/node_modules/glob-parent/README.md +0 -134
  564. package/packages/config-eslint/node_modules/glob-parent/index.js +0 -75
  565. package/packages/config-eslint/node_modules/glob-parent/package.json +0 -54
  566. package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  567. package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +0 -8
  568. package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +0 -21
  569. package/packages/config-eslint/node_modules/json-schema-traverse/README.md +0 -83
  570. package/packages/config-eslint/node_modules/json-schema-traverse/index.js +0 -89
  571. package/packages/config-eslint/node_modules/json-schema-traverse/package.json +0 -43
  572. package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  573. package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  574. package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  575. package/packages/config-eslint/node_modules/locate-path/index.d.ts +0 -83
  576. package/packages/config-eslint/node_modules/locate-path/index.js +0 -68
  577. package/packages/config-eslint/node_modules/locate-path/license +0 -9
  578. package/packages/config-eslint/node_modules/locate-path/package.json +0 -46
  579. package/packages/config-eslint/node_modules/locate-path/readme.md +0 -125
  580. package/packages/config-eslint/node_modules/p-limit/index.d.ts +0 -42
  581. package/packages/config-eslint/node_modules/p-limit/index.js +0 -71
  582. package/packages/config-eslint/node_modules/p-limit/license +0 -9
  583. package/packages/config-eslint/node_modules/p-limit/package.json +0 -52
  584. package/packages/config-eslint/node_modules/p-limit/readme.md +0 -101
  585. package/packages/config-eslint/node_modules/p-locate/index.d.ts +0 -53
  586. package/packages/config-eslint/node_modules/p-locate/index.js +0 -50
  587. package/packages/config-eslint/node_modules/p-locate/license +0 -9
  588. package/packages/config-eslint/node_modules/p-locate/package.json +0 -54
  589. package/packages/config-eslint/node_modules/p-locate/readme.md +0 -93
  590. package/packages/config-eslint/node_modules/path-exists/index.d.ts +0 -28
  591. package/packages/config-eslint/node_modules/path-exists/index.js +0 -23
  592. package/packages/config-eslint/node_modules/path-exists/license +0 -9
  593. package/packages/config-eslint/node_modules/path-exists/package.json +0 -39
  594. package/packages/config-eslint/node_modules/path-exists/readme.md +0 -52
  595. package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +0 -56
  596. package/packages/config-eslint/node_modules/yocto-queue/index.js +0 -68
  597. package/packages/config-eslint/node_modules/yocto-queue/license +0 -9
  598. package/packages/config-eslint/node_modules/yocto-queue/package.json +0 -43
  599. package/packages/config-eslint/node_modules/yocto-queue/readme.md +0 -64
@@ -1,504 +0,0 @@
1
- /**
2
- * @fileoverview Rule to replace assignment expressions with logical operator assignment
3
- * @author Daniel Martens
4
- */
5
- "use strict";
6
-
7
- //------------------------------------------------------------------------------
8
- // Requirements
9
- //------------------------------------------------------------------------------
10
- const astUtils = require("./utils/ast-utils.js");
11
-
12
- //------------------------------------------------------------------------------
13
- // Helpers
14
- //------------------------------------------------------------------------------
15
-
16
- const baseTypes = new Set(["Identifier", "Super", "ThisExpression"]);
17
-
18
- /**
19
- * Returns true iff either "undefined" or a void expression (eg. "void 0")
20
- * @param {ASTNode} expression Expression to check
21
- * @param {import('eslint-scope').Scope} scope Scope of the expression
22
- * @returns {boolean} True iff "undefined" or "void ..."
23
- */
24
- function isUndefined(expression, scope) {
25
- if (expression.type === "Identifier" && expression.name === "undefined") {
26
- return astUtils.isReferenceToGlobalVariable(scope, expression);
27
- }
28
-
29
- return expression.type === "UnaryExpression" &&
30
- expression.operator === "void" &&
31
- expression.argument.type === "Literal" &&
32
- expression.argument.value === 0;
33
- }
34
-
35
- /**
36
- * Returns true iff the reference is either an identifier or member expression
37
- * @param {ASTNode} expression Expression to check
38
- * @returns {boolean} True for identifiers and member expressions
39
- */
40
- function isReference(expression) {
41
- return (expression.type === "Identifier" && expression.name !== "undefined") ||
42
- expression.type === "MemberExpression";
43
- }
44
-
45
- /**
46
- * Returns true iff the expression checks for nullish with loose equals.
47
- * Examples: value == null, value == void 0
48
- * @param {ASTNode} expression Test condition
49
- * @param {import('eslint-scope').Scope} scope Scope of the expression
50
- * @returns {boolean} True iff implicit nullish comparison
51
- */
52
- function isImplicitNullishComparison(expression, scope) {
53
- if (expression.type !== "BinaryExpression" || expression.operator !== "==") {
54
- return false;
55
- }
56
-
57
- const reference = isReference(expression.left) ? "left" : "right";
58
- const nullish = reference === "left" ? "right" : "left";
59
-
60
- return isReference(expression[reference]) &&
61
- (astUtils.isNullLiteral(expression[nullish]) || isUndefined(expression[nullish], scope));
62
- }
63
-
64
- /**
65
- * Condition with two equal comparisons.
66
- * @param {ASTNode} expression Condition
67
- * @returns {boolean} True iff matches ? === ? || ? === ?
68
- */
69
- function isDoubleComparison(expression) {
70
- return expression.type === "LogicalExpression" &&
71
- expression.operator === "||" &&
72
- expression.left.type === "BinaryExpression" &&
73
- expression.left.operator === "===" &&
74
- expression.right.type === "BinaryExpression" &&
75
- expression.right.operator === "===";
76
- }
77
-
78
- /**
79
- * Returns true iff the expression checks for undefined and null.
80
- * Example: value === null || value === undefined
81
- * @param {ASTNode} expression Test condition
82
- * @param {import('eslint-scope').Scope} scope Scope of the expression
83
- * @returns {boolean} True iff explicit nullish comparison
84
- */
85
- function isExplicitNullishComparison(expression, scope) {
86
- if (!isDoubleComparison(expression)) {
87
- return false;
88
- }
89
- const leftReference = isReference(expression.left.left) ? "left" : "right";
90
- const leftNullish = leftReference === "left" ? "right" : "left";
91
- const rightReference = isReference(expression.right.left) ? "left" : "right";
92
- const rightNullish = rightReference === "left" ? "right" : "left";
93
-
94
- return astUtils.isSameReference(expression.left[leftReference], expression.right[rightReference]) &&
95
- ((astUtils.isNullLiteral(expression.left[leftNullish]) && isUndefined(expression.right[rightNullish], scope)) ||
96
- (isUndefined(expression.left[leftNullish], scope) && astUtils.isNullLiteral(expression.right[rightNullish])));
97
- }
98
-
99
- /**
100
- * Returns true for Boolean(arg) calls
101
- * @param {ASTNode} expression Test condition
102
- * @param {import('eslint-scope').Scope} scope Scope of the expression
103
- * @returns {boolean} Whether the expression is a boolean cast
104
- */
105
- function isBooleanCast(expression, scope) {
106
- return expression.type === "CallExpression" &&
107
- expression.callee.name === "Boolean" &&
108
- expression.arguments.length === 1 &&
109
- astUtils.isReferenceToGlobalVariable(scope, expression.callee);
110
- }
111
-
112
- /**
113
- * Returns true for:
114
- * truthiness checks: value, Boolean(value), !!value
115
- * falsiness checks: !value, !Boolean(value)
116
- * nullish checks: value == null, value === undefined || value === null
117
- * @param {ASTNode} expression Test condition
118
- * @param {import('eslint-scope').Scope} scope Scope of the expression
119
- * @returns {?{ reference: ASTNode, operator: '??'|'||'|'&&'}} Null if not a known existence
120
- */
121
- function getExistence(expression, scope) {
122
- const isNegated = expression.type === "UnaryExpression" && expression.operator === "!";
123
- const base = isNegated ? expression.argument : expression;
124
-
125
- switch (true) {
126
- case isReference(base):
127
- return { reference: base, operator: isNegated ? "||" : "&&" };
128
- case base.type === "UnaryExpression" && base.operator === "!" && isReference(base.argument):
129
- return { reference: base.argument, operator: "&&" };
130
- case isBooleanCast(base, scope) && isReference(base.arguments[0]):
131
- return { reference: base.arguments[0], operator: isNegated ? "||" : "&&" };
132
- case isImplicitNullishComparison(expression, scope):
133
- return { reference: isReference(expression.left) ? expression.left : expression.right, operator: "??" };
134
- case isExplicitNullishComparison(expression, scope):
135
- return { reference: isReference(expression.left.left) ? expression.left.left : expression.left.right, operator: "??" };
136
- default: return null;
137
- }
138
- }
139
-
140
- /**
141
- * Returns true iff the node is inside a with block
142
- * @param {ASTNode} node Node to check
143
- * @returns {boolean} True iff passed node is inside a with block
144
- */
145
- function isInsideWithBlock(node) {
146
- if (node.type === "Program") {
147
- return false;
148
- }
149
-
150
- return node.parent.type === "WithStatement" && node.parent.body === node ? true : isInsideWithBlock(node.parent);
151
- }
152
-
153
- /**
154
- * Gets the leftmost operand of a consecutive logical expression.
155
- * @param {SourceCode} sourceCode The ESLint source code object
156
- * @param {LogicalExpression} node LogicalExpression
157
- * @returns {Expression} Leftmost operand
158
- */
159
- function getLeftmostOperand(sourceCode, node) {
160
- let left = node.left;
161
-
162
- while (left.type === "LogicalExpression" && left.operator === node.operator) {
163
-
164
- if (astUtils.isParenthesised(sourceCode, left)) {
165
-
166
- /*
167
- * It should have associativity,
168
- * but ignore it if use parentheses to make the evaluation order clear.
169
- */
170
- return left;
171
- }
172
- left = left.left;
173
- }
174
- return left;
175
-
176
- }
177
-
178
- //------------------------------------------------------------------------------
179
- // Rule Definition
180
- //------------------------------------------------------------------------------
181
- /** @type {import('../shared/types').Rule} */
182
- module.exports = {
183
- meta: {
184
- type: "suggestion",
185
-
186
- docs: {
187
- description: "Require or disallow logical assignment operator shorthand",
188
- recommended: false,
189
- url: "https://eslint.org/docs/latest/rules/logical-assignment-operators"
190
- },
191
-
192
- schema: {
193
- type: "array",
194
- oneOf: [{
195
- items: [
196
- { const: "always" },
197
- {
198
- type: "object",
199
- properties: {
200
- enforceForIfStatements: {
201
- type: "boolean"
202
- }
203
- },
204
- additionalProperties: false
205
- }
206
- ],
207
- minItems: 0, // 0 for allowing passing no options
208
- maxItems: 2
209
- }, {
210
- items: [{ const: "never" }],
211
- minItems: 1,
212
- maxItems: 1
213
- }]
214
- },
215
- fixable: "code",
216
- hasSuggestions: true,
217
- messages: {
218
- assignment: "Assignment (=) can be replaced with operator assignment ({{operator}}).",
219
- useLogicalOperator: "Convert this assignment to use the operator {{ operator }}.",
220
- logical: "Logical expression can be replaced with an assignment ({{ operator }}).",
221
- convertLogical: "Replace this logical expression with an assignment with the operator {{ operator }}.",
222
- if: "'if' statement can be replaced with a logical operator assignment with operator {{ operator }}.",
223
- convertIf: "Replace this 'if' statement with a logical assignment with operator {{ operator }}.",
224
- unexpected: "Unexpected logical operator assignment ({{operator}}) shorthand.",
225
- separate: "Separate the logical assignment into an assignment with a logical operator."
226
- }
227
- },
228
-
229
- create(context) {
230
- const mode = context.options[0] === "never" ? "never" : "always";
231
- const checkIf = mode === "always" && context.options.length > 1 && context.options[1].enforceForIfStatements;
232
- const sourceCode = context.sourceCode;
233
- const isStrict = sourceCode.getScope(sourceCode.ast).isStrict;
234
-
235
- /**
236
- * Returns false if the access could be a getter
237
- * @param {ASTNode} node Assignment expression
238
- * @returns {boolean} True iff the fix is safe
239
- */
240
- function cannotBeGetter(node) {
241
- return node.type === "Identifier" &&
242
- (isStrict || !isInsideWithBlock(node));
243
- }
244
-
245
- /**
246
- * Check whether only a single property is accessed
247
- * @param {ASTNode} node reference
248
- * @returns {boolean} True iff a single property is accessed
249
- */
250
- function accessesSingleProperty(node) {
251
- if (!isStrict && isInsideWithBlock(node)) {
252
- return node.type === "Identifier";
253
- }
254
-
255
- return node.type === "MemberExpression" &&
256
- baseTypes.has(node.object.type) &&
257
- (!node.computed || (node.property.type !== "MemberExpression" && node.property.type !== "ChainExpression"));
258
- }
259
-
260
- /**
261
- * Adds a fixer or suggestion whether on the fix is safe.
262
- * @param {{ messageId: string, node: ASTNode }} descriptor Report descriptor without fix or suggest
263
- * @param {{ messageId: string, fix: Function }} suggestion Adds the fix or the whole suggestion as only element in "suggest" to suggestion
264
- * @param {boolean} shouldBeFixed Fix iff the condition is true
265
- * @returns {Object} Descriptor with either an added fix or suggestion
266
- */
267
- function createConditionalFixer(descriptor, suggestion, shouldBeFixed) {
268
- if (shouldBeFixed) {
269
- return {
270
- ...descriptor,
271
- fix: suggestion.fix
272
- };
273
- }
274
-
275
- return {
276
- ...descriptor,
277
- suggest: [suggestion]
278
- };
279
- }
280
-
281
-
282
- /**
283
- * Returns the operator token for assignments and binary expressions
284
- * @param {ASTNode} node AssignmentExpression or BinaryExpression
285
- * @returns {import('eslint').AST.Token} Operator token between the left and right expression
286
- */
287
- function getOperatorToken(node) {
288
- return sourceCode.getFirstTokenBetween(node.left, node.right, token => token.value === node.operator);
289
- }
290
-
291
- if (mode === "never") {
292
- return {
293
-
294
- // foo ||= bar
295
- "AssignmentExpression"(assignment) {
296
- if (!astUtils.isLogicalAssignmentOperator(assignment.operator)) {
297
- return;
298
- }
299
-
300
- const descriptor = {
301
- messageId: "unexpected",
302
- node: assignment,
303
- data: { operator: assignment.operator }
304
- };
305
- const suggestion = {
306
- messageId: "separate",
307
- *fix(ruleFixer) {
308
- if (sourceCode.getCommentsInside(assignment).length > 0) {
309
- return;
310
- }
311
-
312
- const operatorToken = getOperatorToken(assignment);
313
-
314
- // -> foo = bar
315
- yield ruleFixer.replaceText(operatorToken, "=");
316
-
317
- const assignmentText = sourceCode.getText(assignment.left);
318
- const operator = assignment.operator.slice(0, -1);
319
-
320
- // -> foo = foo || bar
321
- yield ruleFixer.insertTextAfter(operatorToken, ` ${assignmentText} ${operator}`);
322
-
323
- const precedence = astUtils.getPrecedence(assignment.right) <= astUtils.getPrecedence({ type: "LogicalExpression", operator });
324
-
325
- // ?? and || / && cannot be mixed but have same precedence
326
- const mixed = assignment.operator === "??=" && astUtils.isLogicalExpression(assignment.right);
327
-
328
- if (!astUtils.isParenthesised(sourceCode, assignment.right) && (precedence || mixed)) {
329
-
330
- // -> foo = foo || (bar)
331
- yield ruleFixer.insertTextBefore(assignment.right, "(");
332
- yield ruleFixer.insertTextAfter(assignment.right, ")");
333
- }
334
- }
335
- };
336
-
337
- context.report(createConditionalFixer(descriptor, suggestion, cannotBeGetter(assignment.left)));
338
- }
339
- };
340
- }
341
-
342
- return {
343
-
344
- // foo = foo || bar
345
- "AssignmentExpression[operator='='][right.type='LogicalExpression']"(assignment) {
346
- const leftOperand = getLeftmostOperand(sourceCode, assignment.right);
347
-
348
- if (!astUtils.isSameReference(assignment.left, leftOperand)
349
- ) {
350
- return;
351
- }
352
-
353
- const descriptor = {
354
- messageId: "assignment",
355
- node: assignment,
356
- data: { operator: `${assignment.right.operator}=` }
357
- };
358
- const suggestion = {
359
- messageId: "useLogicalOperator",
360
- data: { operator: `${assignment.right.operator}=` },
361
- *fix(ruleFixer) {
362
- if (sourceCode.getCommentsInside(assignment).length > 0) {
363
- return;
364
- }
365
-
366
- // No need for parenthesis around the assignment based on precedence as the precedence stays the same even with changed operator
367
- const assignmentOperatorToken = getOperatorToken(assignment);
368
-
369
- // -> foo ||= foo || bar
370
- yield ruleFixer.insertTextBefore(assignmentOperatorToken, assignment.right.operator);
371
-
372
- // -> foo ||= bar
373
- const logicalOperatorToken = getOperatorToken(leftOperand.parent);
374
- const firstRightOperandToken = sourceCode.getTokenAfter(logicalOperatorToken);
375
-
376
- yield ruleFixer.removeRange([leftOperand.parent.range[0], firstRightOperandToken.range[0]]);
377
- }
378
- };
379
-
380
- context.report(createConditionalFixer(descriptor, suggestion, cannotBeGetter(assignment.left)));
381
- },
382
-
383
- // foo || (foo = bar)
384
- 'LogicalExpression[right.type="AssignmentExpression"][right.operator="="]'(logical) {
385
-
386
- // Right side has to be parenthesized, otherwise would be parsed as (foo || foo) = bar which is illegal
387
- if (isReference(logical.left) && astUtils.isSameReference(logical.left, logical.right.left)) {
388
- const descriptor = {
389
- messageId: "logical",
390
- node: logical,
391
- data: { operator: `${logical.operator}=` }
392
- };
393
- const suggestion = {
394
- messageId: "convertLogical",
395
- data: { operator: `${logical.operator}=` },
396
- *fix(ruleFixer) {
397
- if (sourceCode.getCommentsInside(logical).length > 0) {
398
- return;
399
- }
400
-
401
- const parentPrecedence = astUtils.getPrecedence(logical.parent);
402
- const requiresOuterParenthesis = logical.parent.type !== "ExpressionStatement" && (
403
- parentPrecedence === -1 ||
404
- astUtils.getPrecedence({ type: "AssignmentExpression" }) < parentPrecedence
405
- );
406
-
407
- if (!astUtils.isParenthesised(sourceCode, logical) && requiresOuterParenthesis) {
408
- yield ruleFixer.insertTextBefore(logical, "(");
409
- yield ruleFixer.insertTextAfter(logical, ")");
410
- }
411
-
412
- // Also removes all opening parenthesis
413
- yield ruleFixer.removeRange([logical.range[0], logical.right.range[0]]); // -> foo = bar)
414
-
415
- // Also removes all ending parenthesis
416
- yield ruleFixer.removeRange([logical.right.range[1], logical.range[1]]); // -> foo = bar
417
-
418
- const operatorToken = getOperatorToken(logical.right);
419
-
420
- yield ruleFixer.insertTextBefore(operatorToken, logical.operator); // -> foo ||= bar
421
- }
422
- };
423
- const fix = cannotBeGetter(logical.left) || accessesSingleProperty(logical.left);
424
-
425
- context.report(createConditionalFixer(descriptor, suggestion, fix));
426
- }
427
- },
428
-
429
- // if (foo) foo = bar
430
- "IfStatement[alternate=null]"(ifNode) {
431
- if (!checkIf) {
432
- return;
433
- }
434
-
435
- const hasBody = ifNode.consequent.type === "BlockStatement";
436
-
437
- if (hasBody && ifNode.consequent.body.length !== 1) {
438
- return;
439
- }
440
-
441
- const body = hasBody ? ifNode.consequent.body[0] : ifNode.consequent;
442
- const scope = sourceCode.getScope(ifNode);
443
- const existence = getExistence(ifNode.test, scope);
444
-
445
- if (
446
- body.type === "ExpressionStatement" &&
447
- body.expression.type === "AssignmentExpression" &&
448
- body.expression.operator === "=" &&
449
- existence !== null &&
450
- astUtils.isSameReference(existence.reference, body.expression.left)
451
- ) {
452
- const descriptor = {
453
- messageId: "if",
454
- node: ifNode,
455
- data: { operator: `${existence.operator}=` }
456
- };
457
- const suggestion = {
458
- messageId: "convertIf",
459
- data: { operator: `${existence.operator}=` },
460
- *fix(ruleFixer) {
461
- if (sourceCode.getCommentsInside(ifNode).length > 0) {
462
- return;
463
- }
464
-
465
- const firstBodyToken = sourceCode.getFirstToken(body);
466
- const prevToken = sourceCode.getTokenBefore(ifNode);
467
-
468
- if (
469
- prevToken !== null &&
470
- prevToken.value !== ";" &&
471
- prevToken.value !== "{" &&
472
- firstBodyToken.type !== "Identifier" &&
473
- firstBodyToken.type !== "Keyword"
474
- ) {
475
-
476
- // Do not fix if the fixed statement could be part of the previous statement (eg. fn() if (a == null) (a) = b --> fn()(a) ??= b)
477
- return;
478
- }
479
-
480
-
481
- const operatorToken = getOperatorToken(body.expression);
482
-
483
- yield ruleFixer.insertTextBefore(operatorToken, existence.operator); // -> if (foo) foo ||= bar
484
-
485
- yield ruleFixer.removeRange([ifNode.range[0], body.range[0]]); // -> foo ||= bar
486
-
487
- yield ruleFixer.removeRange([body.range[1], ifNode.range[1]]); // -> foo ||= bar, only present if "if" had a body
488
-
489
- const nextToken = sourceCode.getTokenAfter(body.expression);
490
-
491
- if (hasBody && (nextToken !== null && nextToken.value !== ";")) {
492
- yield ruleFixer.insertTextAfter(ifNode, ";");
493
- }
494
- }
495
- };
496
- const shouldBeFixed = cannotBeGetter(existence.reference) ||
497
- (ifNode.test.type !== "LogicalExpression" && accessesSingleProperty(existence.reference));
498
-
499
- context.report(createConditionalFixer(descriptor, suggestion, shouldBeFixed));
500
- }
501
- }
502
- };
503
- }
504
- };
@@ -1,89 +0,0 @@
1
- /**
2
- * @fileoverview Enforce a maximum number of classes per file
3
- * @author James Garbutt <https://github.com/43081j>
4
- */
5
- "use strict";
6
-
7
- //------------------------------------------------------------------------------
8
- // Requirements
9
- //------------------------------------------------------------------------------
10
-
11
-
12
- //------------------------------------------------------------------------------
13
- // Rule Definition
14
- //------------------------------------------------------------------------------
15
-
16
- /** @type {import('../shared/types').Rule} */
17
- module.exports = {
18
- meta: {
19
- type: "suggestion",
20
-
21
- docs: {
22
- description: "Enforce a maximum number of classes per file",
23
- recommended: false,
24
- url: "https://eslint.org/docs/latest/rules/max-classes-per-file"
25
- },
26
-
27
- schema: [
28
- {
29
- oneOf: [
30
- {
31
- type: "integer",
32
- minimum: 1
33
- },
34
- {
35
- type: "object",
36
- properties: {
37
- ignoreExpressions: {
38
- type: "boolean"
39
- },
40
- max: {
41
- type: "integer",
42
- minimum: 1
43
- }
44
- },
45
- additionalProperties: false
46
- }
47
- ]
48
- }
49
- ],
50
-
51
- messages: {
52
- maximumExceeded: "File has too many classes ({{ classCount }}). Maximum allowed is {{ max }}."
53
- }
54
- },
55
- create(context) {
56
- const [option = {}] = context.options;
57
- const [ignoreExpressions, max] = typeof option === "number"
58
- ? [false, option || 1]
59
- : [option.ignoreExpressions, option.max || 1];
60
-
61
- let classCount = 0;
62
-
63
- return {
64
- Program() {
65
- classCount = 0;
66
- },
67
- "Program:exit"(node) {
68
- if (classCount > max) {
69
- context.report({
70
- node,
71
- messageId: "maximumExceeded",
72
- data: {
73
- classCount,
74
- max
75
- }
76
- });
77
- }
78
- },
79
- "ClassDeclaration"() {
80
- classCount++;
81
- },
82
- "ClassExpression"() {
83
- if (!ignoreExpressions) {
84
- classCount++;
85
- }
86
- }
87
- };
88
- }
89
- };