@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,851 +0,0 @@
1
- /**
2
- * @fileoverview A class of the code path analyzer.
3
- * @author Toru Nagashima
4
- */
5
-
6
- "use strict";
7
-
8
- //------------------------------------------------------------------------------
9
- // Requirements
10
- //------------------------------------------------------------------------------
11
-
12
- const assert = require("node:assert"),
13
- { breakableTypePattern } = require("../../shared/ast-utils"),
14
- CodePath = require("./code-path"),
15
- CodePathSegment = require("./code-path-segment"),
16
- IdGenerator = require("./id-generator"),
17
- debug = require("./debug-helpers");
18
-
19
- //------------------------------------------------------------------------------
20
- // Helpers
21
- //------------------------------------------------------------------------------
22
-
23
- /**
24
- * Checks whether or not a given node is a `case` node (not `default` node).
25
- * @param {ASTNode} node A `SwitchCase` node to check.
26
- * @returns {boolean} `true` if the node is a `case` node (not `default` node).
27
- */
28
- function isCaseNode(node) {
29
- return Boolean(node.test);
30
- }
31
-
32
- /**
33
- * Checks if a given node appears as the value of a PropertyDefinition node.
34
- * @param {ASTNode} node THe node to check.
35
- * @returns {boolean} `true` if the node is a PropertyDefinition value,
36
- * false if not.
37
- */
38
- function isPropertyDefinitionValue(node) {
39
- const parent = node.parent;
40
-
41
- return parent && parent.type === "PropertyDefinition" && parent.value === node;
42
- }
43
-
44
- /**
45
- * Checks whether the given logical operator is taken into account for the code
46
- * path analysis.
47
- * @param {string} operator The operator found in the LogicalExpression node
48
- * @returns {boolean} `true` if the operator is "&&" or "||" or "??"
49
- */
50
- function isHandledLogicalOperator(operator) {
51
- return operator === "&&" || operator === "||" || operator === "??";
52
- }
53
-
54
- /**
55
- * Checks whether the given assignment operator is a logical assignment operator.
56
- * Logical assignments are taken into account for the code path analysis
57
- * because of their short-circuiting semantics.
58
- * @param {string} operator The operator found in the AssignmentExpression node
59
- * @returns {boolean} `true` if the operator is "&&=" or "||=" or "??="
60
- */
61
- function isLogicalAssignmentOperator(operator) {
62
- return operator === "&&=" || operator === "||=" || operator === "??=";
63
- }
64
-
65
- /**
66
- * Gets the label if the parent node of a given node is a LabeledStatement.
67
- * @param {ASTNode} node A node to get.
68
- * @returns {string|null} The label or `null`.
69
- */
70
- function getLabel(node) {
71
- if (node.parent.type === "LabeledStatement") {
72
- return node.parent.label.name;
73
- }
74
- return null;
75
- }
76
-
77
- /**
78
- * Checks whether or not a given logical expression node goes different path
79
- * between the `true` case and the `false` case.
80
- * @param {ASTNode} node A node to check.
81
- * @returns {boolean} `true` if the node is a test of a choice statement.
82
- */
83
- function isForkingByTrueOrFalse(node) {
84
- const parent = node.parent;
85
-
86
- switch (parent.type) {
87
- case "ConditionalExpression":
88
- case "IfStatement":
89
- case "WhileStatement":
90
- case "DoWhileStatement":
91
- case "ForStatement":
92
- return parent.test === node;
93
-
94
- case "LogicalExpression":
95
- return isHandledLogicalOperator(parent.operator);
96
-
97
- case "AssignmentExpression":
98
- return isLogicalAssignmentOperator(parent.operator);
99
-
100
- default:
101
- return false;
102
- }
103
- }
104
-
105
- /**
106
- * Gets the boolean value of a given literal node.
107
- *
108
- * This is used to detect infinity loops (e.g. `while (true) {}`).
109
- * Statements preceded by an infinity loop are unreachable if the loop didn't
110
- * have any `break` statement.
111
- * @param {ASTNode} node A node to get.
112
- * @returns {boolean|undefined} a boolean value if the node is a Literal node,
113
- * otherwise `undefined`.
114
- */
115
- function getBooleanValueIfSimpleConstant(node) {
116
- if (node.type === "Literal") {
117
- return Boolean(node.value);
118
- }
119
- return void 0;
120
- }
121
-
122
- /**
123
- * Checks that a given identifier node is a reference or not.
124
- *
125
- * This is used to detect the first throwable node in a `try` block.
126
- * @param {ASTNode} node An Identifier node to check.
127
- * @returns {boolean} `true` if the node is a reference.
128
- */
129
- function isIdentifierReference(node) {
130
- const parent = node.parent;
131
-
132
- switch (parent.type) {
133
- case "LabeledStatement":
134
- case "BreakStatement":
135
- case "ContinueStatement":
136
- case "ArrayPattern":
137
- case "RestElement":
138
- case "ImportSpecifier":
139
- case "ImportDefaultSpecifier":
140
- case "ImportNamespaceSpecifier":
141
- case "CatchClause":
142
- return false;
143
-
144
- case "FunctionDeclaration":
145
- case "FunctionExpression":
146
- case "ArrowFunctionExpression":
147
- case "ClassDeclaration":
148
- case "ClassExpression":
149
- case "VariableDeclarator":
150
- return parent.id !== node;
151
-
152
- case "Property":
153
- case "PropertyDefinition":
154
- case "MethodDefinition":
155
- return (
156
- parent.key !== node ||
157
- parent.computed ||
158
- parent.shorthand
159
- );
160
-
161
- case "AssignmentPattern":
162
- return parent.key !== node;
163
-
164
- default:
165
- return true;
166
- }
167
- }
168
-
169
- /**
170
- * Updates the current segment with the head segment.
171
- * This is similar to local branches and tracking branches of git.
172
- *
173
- * To separate the current and the head is in order to not make useless segments.
174
- *
175
- * In this process, both "onCodePathSegmentStart" and "onCodePathSegmentEnd"
176
- * events are fired.
177
- * @param {CodePathAnalyzer} analyzer The instance.
178
- * @param {ASTNode} node The current AST node.
179
- * @returns {void}
180
- */
181
- function forwardCurrentToHead(analyzer, node) {
182
- const codePath = analyzer.codePath;
183
- const state = CodePath.getState(codePath);
184
- const currentSegments = state.currentSegments;
185
- const headSegments = state.headSegments;
186
- const end = Math.max(currentSegments.length, headSegments.length);
187
- let i, currentSegment, headSegment;
188
-
189
- // Fires leaving events.
190
- for (i = 0; i < end; ++i) {
191
- currentSegment = currentSegments[i];
192
- headSegment = headSegments[i];
193
-
194
- if (currentSegment !== headSegment && currentSegment) {
195
-
196
- const eventName = currentSegment.reachable
197
- ? "onCodePathSegmentEnd"
198
- : "onUnreachableCodePathSegmentEnd";
199
-
200
- debug.dump(`${eventName} ${currentSegment.id}`);
201
-
202
- analyzer.emitter.emit(
203
- eventName,
204
- currentSegment,
205
- node
206
- );
207
- }
208
- }
209
-
210
- // Update state.
211
- state.currentSegments = headSegments;
212
-
213
- // Fires entering events.
214
- for (i = 0; i < end; ++i) {
215
- currentSegment = currentSegments[i];
216
- headSegment = headSegments[i];
217
-
218
- if (currentSegment !== headSegment && headSegment) {
219
-
220
- const eventName = headSegment.reachable
221
- ? "onCodePathSegmentStart"
222
- : "onUnreachableCodePathSegmentStart";
223
-
224
- debug.dump(`${eventName} ${headSegment.id}`);
225
- CodePathSegment.markUsed(headSegment);
226
- analyzer.emitter.emit(
227
- eventName,
228
- headSegment,
229
- node
230
- );
231
- }
232
- }
233
-
234
- }
235
-
236
- /**
237
- * Updates the current segment with empty.
238
- * This is called at the last of functions or the program.
239
- * @param {CodePathAnalyzer} analyzer The instance.
240
- * @param {ASTNode} node The current AST node.
241
- * @returns {void}
242
- */
243
- function leaveFromCurrentSegment(analyzer, node) {
244
- const state = CodePath.getState(analyzer.codePath);
245
- const currentSegments = state.currentSegments;
246
-
247
- for (let i = 0; i < currentSegments.length; ++i) {
248
- const currentSegment = currentSegments[i];
249
- const eventName = currentSegment.reachable
250
- ? "onCodePathSegmentEnd"
251
- : "onUnreachableCodePathSegmentEnd";
252
-
253
- debug.dump(`${eventName} ${currentSegment.id}`);
254
-
255
- analyzer.emitter.emit(
256
- eventName,
257
- currentSegment,
258
- node
259
- );
260
- }
261
-
262
- state.currentSegments = [];
263
- }
264
-
265
- /**
266
- * Updates the code path due to the position of a given node in the parent node
267
- * thereof.
268
- *
269
- * For example, if the node is `parent.consequent`, this creates a fork from the
270
- * current path.
271
- * @param {CodePathAnalyzer} analyzer The instance.
272
- * @param {ASTNode} node The current AST node.
273
- * @returns {void}
274
- */
275
- function preprocess(analyzer, node) {
276
- const codePath = analyzer.codePath;
277
- const state = CodePath.getState(codePath);
278
- const parent = node.parent;
279
-
280
- switch (parent.type) {
281
-
282
- // The `arguments.length == 0` case is in `postprocess` function.
283
- case "CallExpression":
284
- if (parent.optional === true && parent.arguments.length >= 1 && parent.arguments[0] === node) {
285
- state.makeOptionalRight();
286
- }
287
- break;
288
- case "MemberExpression":
289
- if (parent.optional === true && parent.property === node) {
290
- state.makeOptionalRight();
291
- }
292
- break;
293
-
294
- case "LogicalExpression":
295
- if (
296
- parent.right === node &&
297
- isHandledLogicalOperator(parent.operator)
298
- ) {
299
- state.makeLogicalRight();
300
- }
301
- break;
302
-
303
- case "AssignmentExpression":
304
- if (
305
- parent.right === node &&
306
- isLogicalAssignmentOperator(parent.operator)
307
- ) {
308
- state.makeLogicalRight();
309
- }
310
- break;
311
-
312
- case "ConditionalExpression":
313
- case "IfStatement":
314
-
315
- /*
316
- * Fork if this node is at `consequent`/`alternate`.
317
- * `popForkContext()` exists at `IfStatement:exit` and
318
- * `ConditionalExpression:exit`.
319
- */
320
- if (parent.consequent === node) {
321
- state.makeIfConsequent();
322
- } else if (parent.alternate === node) {
323
- state.makeIfAlternate();
324
- }
325
- break;
326
-
327
- case "SwitchCase":
328
- if (parent.consequent[0] === node) {
329
- state.makeSwitchCaseBody(false, !parent.test);
330
- }
331
- break;
332
-
333
- case "TryStatement":
334
- if (parent.handler === node) {
335
- state.makeCatchBlock();
336
- } else if (parent.finalizer === node) {
337
- state.makeFinallyBlock();
338
- }
339
- break;
340
-
341
- case "WhileStatement":
342
- if (parent.test === node) {
343
- state.makeWhileTest(getBooleanValueIfSimpleConstant(node));
344
- } else {
345
- assert(parent.body === node);
346
- state.makeWhileBody();
347
- }
348
- break;
349
-
350
- case "DoWhileStatement":
351
- if (parent.body === node) {
352
- state.makeDoWhileBody();
353
- } else {
354
- assert(parent.test === node);
355
- state.makeDoWhileTest(getBooleanValueIfSimpleConstant(node));
356
- }
357
- break;
358
-
359
- case "ForStatement":
360
- if (parent.test === node) {
361
- state.makeForTest(getBooleanValueIfSimpleConstant(node));
362
- } else if (parent.update === node) {
363
- state.makeForUpdate();
364
- } else if (parent.body === node) {
365
- state.makeForBody();
366
- }
367
- break;
368
-
369
- case "ForInStatement":
370
- case "ForOfStatement":
371
- if (parent.left === node) {
372
- state.makeForInOfLeft();
373
- } else if (parent.right === node) {
374
- state.makeForInOfRight();
375
- } else {
376
- assert(parent.body === node);
377
- state.makeForInOfBody();
378
- }
379
- break;
380
-
381
- case "AssignmentPattern":
382
-
383
- /*
384
- * Fork if this node is at `right`.
385
- * `left` is executed always, so it uses the current path.
386
- * `popForkContext()` exists at `AssignmentPattern:exit`.
387
- */
388
- if (parent.right === node) {
389
- state.pushForkContext();
390
- state.forkBypassPath();
391
- state.forkPath();
392
- }
393
- break;
394
-
395
- default:
396
- break;
397
- }
398
- }
399
-
400
- /**
401
- * Updates the code path due to the type of a given node in entering.
402
- * @param {CodePathAnalyzer} analyzer The instance.
403
- * @param {ASTNode} node The current AST node.
404
- * @returns {void}
405
- */
406
- function processCodePathToEnter(analyzer, node) {
407
- let codePath = analyzer.codePath;
408
- let state = codePath && CodePath.getState(codePath);
409
- const parent = node.parent;
410
-
411
- /**
412
- * Creates a new code path and trigger the onCodePathStart event
413
- * based on the currently selected node.
414
- * @param {string} origin The reason the code path was started.
415
- * @returns {void}
416
- */
417
- function startCodePath(origin) {
418
- if (codePath) {
419
-
420
- // Emits onCodePathSegmentStart events if updated.
421
- forwardCurrentToHead(analyzer, node);
422
- debug.dumpState(node, state, false);
423
- }
424
-
425
- // Create the code path of this scope.
426
- codePath = analyzer.codePath = new CodePath({
427
- id: analyzer.idGenerator.next(),
428
- origin,
429
- upper: codePath,
430
- onLooped: analyzer.onLooped
431
- });
432
- state = CodePath.getState(codePath);
433
-
434
- // Emits onCodePathStart events.
435
- debug.dump(`onCodePathStart ${codePath.id}`);
436
- analyzer.emitter.emit("onCodePathStart", codePath, node);
437
- }
438
-
439
- /*
440
- * Special case: The right side of class field initializer is considered
441
- * to be its own function, so we need to start a new code path in this
442
- * case.
443
- */
444
- if (isPropertyDefinitionValue(node)) {
445
- startCodePath("class-field-initializer");
446
-
447
- /*
448
- * Intentional fall through because `node` needs to also be
449
- * processed by the code below. For example, if we have:
450
- *
451
- * class Foo {
452
- * a = () => {}
453
- * }
454
- *
455
- * In this case, we also need start a second code path.
456
- */
457
-
458
- }
459
-
460
- switch (node.type) {
461
- case "Program":
462
- startCodePath("program");
463
- break;
464
-
465
- case "FunctionDeclaration":
466
- case "FunctionExpression":
467
- case "ArrowFunctionExpression":
468
- startCodePath("function");
469
- break;
470
-
471
- case "StaticBlock":
472
- startCodePath("class-static-block");
473
- break;
474
-
475
- case "ChainExpression":
476
- state.pushChainContext();
477
- break;
478
- case "CallExpression":
479
- if (node.optional === true) {
480
- state.makeOptionalNode();
481
- }
482
- break;
483
- case "MemberExpression":
484
- if (node.optional === true) {
485
- state.makeOptionalNode();
486
- }
487
- break;
488
-
489
- case "LogicalExpression":
490
- if (isHandledLogicalOperator(node.operator)) {
491
- state.pushChoiceContext(
492
- node.operator,
493
- isForkingByTrueOrFalse(node)
494
- );
495
- }
496
- break;
497
-
498
- case "AssignmentExpression":
499
- if (isLogicalAssignmentOperator(node.operator)) {
500
- state.pushChoiceContext(
501
- node.operator.slice(0, -1), // removes `=` from the end
502
- isForkingByTrueOrFalse(node)
503
- );
504
- }
505
- break;
506
-
507
- case "ConditionalExpression":
508
- case "IfStatement":
509
- state.pushChoiceContext("test", false);
510
- break;
511
-
512
- case "SwitchStatement":
513
- state.pushSwitchContext(
514
- node.cases.some(isCaseNode),
515
- getLabel(node)
516
- );
517
- break;
518
-
519
- case "TryStatement":
520
- state.pushTryContext(Boolean(node.finalizer));
521
- break;
522
-
523
- case "SwitchCase":
524
-
525
- /*
526
- * Fork if this node is after the 2st node in `cases`.
527
- * It's similar to `else` blocks.
528
- * The next `test` node is processed in this path.
529
- */
530
- if (parent.discriminant !== node && parent.cases[0] !== node) {
531
- state.forkPath();
532
- }
533
- break;
534
-
535
- case "WhileStatement":
536
- case "DoWhileStatement":
537
- case "ForStatement":
538
- case "ForInStatement":
539
- case "ForOfStatement":
540
- state.pushLoopContext(node.type, getLabel(node));
541
- break;
542
-
543
- case "LabeledStatement":
544
- if (!breakableTypePattern.test(node.body.type)) {
545
- state.pushBreakContext(false, node.label.name);
546
- }
547
- break;
548
-
549
- default:
550
- break;
551
- }
552
-
553
- // Emits onCodePathSegmentStart events if updated.
554
- forwardCurrentToHead(analyzer, node);
555
- debug.dumpState(node, state, false);
556
- }
557
-
558
- /**
559
- * Updates the code path due to the type of a given node in leaving.
560
- * @param {CodePathAnalyzer} analyzer The instance.
561
- * @param {ASTNode} node The current AST node.
562
- * @returns {void}
563
- */
564
- function processCodePathToExit(analyzer, node) {
565
-
566
- const codePath = analyzer.codePath;
567
- const state = CodePath.getState(codePath);
568
- let dontForward = false;
569
-
570
- switch (node.type) {
571
- case "ChainExpression":
572
- state.popChainContext();
573
- break;
574
-
575
- case "IfStatement":
576
- case "ConditionalExpression":
577
- state.popChoiceContext();
578
- break;
579
-
580
- case "LogicalExpression":
581
- if (isHandledLogicalOperator(node.operator)) {
582
- state.popChoiceContext();
583
- }
584
- break;
585
-
586
- case "AssignmentExpression":
587
- if (isLogicalAssignmentOperator(node.operator)) {
588
- state.popChoiceContext();
589
- }
590
- break;
591
-
592
- case "SwitchStatement":
593
- state.popSwitchContext();
594
- break;
595
-
596
- case "SwitchCase":
597
-
598
- /*
599
- * This is the same as the process at the 1st `consequent` node in
600
- * `preprocess` function.
601
- * Must do if this `consequent` is empty.
602
- */
603
- if (node.consequent.length === 0) {
604
- state.makeSwitchCaseBody(true, !node.test);
605
- }
606
- if (state.forkContext.reachable) {
607
- dontForward = true;
608
- }
609
- break;
610
-
611
- case "TryStatement":
612
- state.popTryContext();
613
- break;
614
-
615
- case "BreakStatement":
616
- forwardCurrentToHead(analyzer, node);
617
- state.makeBreak(node.label && node.label.name);
618
- dontForward = true;
619
- break;
620
-
621
- case "ContinueStatement":
622
- forwardCurrentToHead(analyzer, node);
623
- state.makeContinue(node.label && node.label.name);
624
- dontForward = true;
625
- break;
626
-
627
- case "ReturnStatement":
628
- forwardCurrentToHead(analyzer, node);
629
- state.makeReturn();
630
- dontForward = true;
631
- break;
632
-
633
- case "ThrowStatement":
634
- forwardCurrentToHead(analyzer, node);
635
- state.makeThrow();
636
- dontForward = true;
637
- break;
638
-
639
- case "Identifier":
640
- if (isIdentifierReference(node)) {
641
- state.makeFirstThrowablePathInTryBlock();
642
- dontForward = true;
643
- }
644
- break;
645
-
646
- case "CallExpression":
647
- case "ImportExpression":
648
- case "MemberExpression":
649
- case "NewExpression":
650
- case "YieldExpression":
651
- state.makeFirstThrowablePathInTryBlock();
652
- break;
653
-
654
- case "WhileStatement":
655
- case "DoWhileStatement":
656
- case "ForStatement":
657
- case "ForInStatement":
658
- case "ForOfStatement":
659
- state.popLoopContext();
660
- break;
661
-
662
- case "AssignmentPattern":
663
- state.popForkContext();
664
- break;
665
-
666
- case "LabeledStatement":
667
- if (!breakableTypePattern.test(node.body.type)) {
668
- state.popBreakContext();
669
- }
670
- break;
671
-
672
- default:
673
- break;
674
- }
675
-
676
- // Emits onCodePathSegmentStart events if updated.
677
- if (!dontForward) {
678
- forwardCurrentToHead(analyzer, node);
679
- }
680
- debug.dumpState(node, state, true);
681
- }
682
-
683
- /**
684
- * Updates the code path to finalize the current code path.
685
- * @param {CodePathAnalyzer} analyzer The instance.
686
- * @param {ASTNode} node The current AST node.
687
- * @returns {void}
688
- */
689
- function postprocess(analyzer, node) {
690
-
691
- /**
692
- * Ends the code path for the current node.
693
- * @returns {void}
694
- */
695
- function endCodePath() {
696
- let codePath = analyzer.codePath;
697
-
698
- // Mark the current path as the final node.
699
- CodePath.getState(codePath).makeFinal();
700
-
701
- // Emits onCodePathSegmentEnd event of the current segments.
702
- leaveFromCurrentSegment(analyzer, node);
703
-
704
- // Emits onCodePathEnd event of this code path.
705
- debug.dump(`onCodePathEnd ${codePath.id}`);
706
- analyzer.emitter.emit("onCodePathEnd", codePath, node);
707
- debug.dumpDot(codePath);
708
-
709
- codePath = analyzer.codePath = analyzer.codePath.upper;
710
- if (codePath) {
711
- debug.dumpState(node, CodePath.getState(codePath), true);
712
- }
713
-
714
- }
715
-
716
- switch (node.type) {
717
- case "Program":
718
- case "FunctionDeclaration":
719
- case "FunctionExpression":
720
- case "ArrowFunctionExpression":
721
- case "StaticBlock": {
722
- endCodePath();
723
- break;
724
- }
725
-
726
- // The `arguments.length >= 1` case is in `preprocess` function.
727
- case "CallExpression":
728
- if (node.optional === true && node.arguments.length === 0) {
729
- CodePath.getState(analyzer.codePath).makeOptionalRight();
730
- }
731
- break;
732
-
733
- default:
734
- break;
735
- }
736
-
737
- /*
738
- * Special case: The right side of class field initializer is considered
739
- * to be its own function, so we need to end a code path in this
740
- * case.
741
- *
742
- * We need to check after the other checks in order to close the
743
- * code paths in the correct order for code like this:
744
- *
745
- *
746
- * class Foo {
747
- * a = () => {}
748
- * }
749
- *
750
- * In this case, The ArrowFunctionExpression code path is closed first
751
- * and then we need to close the code path for the PropertyDefinition
752
- * value.
753
- */
754
- if (isPropertyDefinitionValue(node)) {
755
- endCodePath();
756
- }
757
- }
758
-
759
- //------------------------------------------------------------------------------
760
- // Public Interface
761
- //------------------------------------------------------------------------------
762
-
763
- /**
764
- * The class to analyze code paths.
765
- * This class implements the EventGenerator interface.
766
- */
767
- class CodePathAnalyzer {
768
-
769
- /**
770
- * @param {EventGenerator} eventGenerator An event generator to wrap.
771
- */
772
- constructor(eventGenerator) {
773
- this.original = eventGenerator;
774
- this.emitter = eventGenerator.emitter;
775
- this.codePath = null;
776
- this.idGenerator = new IdGenerator("s");
777
- this.currentNode = null;
778
- this.onLooped = this.onLooped.bind(this);
779
- }
780
-
781
- /**
782
- * Does the process to enter a given AST node.
783
- * This updates state of analysis and calls `enterNode` of the wrapped.
784
- * @param {ASTNode} node A node which is entering.
785
- * @returns {void}
786
- */
787
- enterNode(node) {
788
- this.currentNode = node;
789
-
790
- // Updates the code path due to node's position in its parent node.
791
- if (node.parent) {
792
- preprocess(this, node);
793
- }
794
-
795
- /*
796
- * Updates the code path.
797
- * And emits onCodePathStart/onCodePathSegmentStart events.
798
- */
799
- processCodePathToEnter(this, node);
800
-
801
- // Emits node events.
802
- this.original.enterNode(node);
803
-
804
- this.currentNode = null;
805
- }
806
-
807
- /**
808
- * Does the process to leave a given AST node.
809
- * This updates state of analysis and calls `leaveNode` of the wrapped.
810
- * @param {ASTNode} node A node which is leaving.
811
- * @returns {void}
812
- */
813
- leaveNode(node) {
814
- this.currentNode = node;
815
-
816
- /*
817
- * Updates the code path.
818
- * And emits onCodePathStart/onCodePathSegmentStart events.
819
- */
820
- processCodePathToExit(this, node);
821
-
822
- // Emits node events.
823
- this.original.leaveNode(node);
824
-
825
- // Emits the last onCodePathStart/onCodePathSegmentStart events.
826
- postprocess(this, node);
827
-
828
- this.currentNode = null;
829
- }
830
-
831
- /**
832
- * This is called on a code path looped.
833
- * Then this raises a looped event.
834
- * @param {CodePathSegment} fromSegment A segment of prev.
835
- * @param {CodePathSegment} toSegment A segment of next.
836
- * @returns {void}
837
- */
838
- onLooped(fromSegment, toSegment) {
839
- if (fromSegment.reachable && toSegment.reachable) {
840
- debug.dump(`onCodePathSegmentLoop ${fromSegment.id} -> ${toSegment.id}`);
841
- this.emitter.emit(
842
- "onCodePathSegmentLoop",
843
- fromSegment,
844
- toSegment,
845
- this.currentNode
846
- );
847
- }
848
- }
849
- }
850
-
851
- module.exports = CodePathAnalyzer;