@alexlit/lint-kit 166.1.0 → 167.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/package.json +1 -1
  2. package/packages/config-commitlint/package.json +3 -3
  3. package/packages/config-eslint/package.json +2 -2
  4. package/packages/config-eslint/node_modules/@eslint/js/LICENSE +0 -19
  5. package/packages/config-eslint/node_modules/@eslint/js/README.md +0 -103
  6. package/packages/config-eslint/node_modules/@eslint/js/package.json +0 -36
  7. package/packages/config-eslint/node_modules/@eslint/js/src/configs/eslint-all.js +0 -217
  8. package/packages/config-eslint/node_modules/@eslint/js/src/configs/eslint-recommended.js +0 -79
  9. package/packages/config-eslint/node_modules/@eslint/js/src/index.js +0 -23
  10. package/packages/config-eslint/node_modules/@eslint/js/types/index.d.ts +0 -14
  11. package/packages/config-eslint/node_modules/ajv/.tonic_example.js +0 -20
  12. package/packages/config-eslint/node_modules/ajv/LICENSE +0 -22
  13. package/packages/config-eslint/node_modules/ajv/README.md +0 -1497
  14. package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +0 -7189
  15. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +0 -3
  16. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +0 -1
  17. package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +0 -397
  18. package/packages/config-eslint/node_modules/ajv/lib/ajv.js +0 -506
  19. package/packages/config-eslint/node_modules/ajv/lib/cache.js +0 -26
  20. package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +0 -90
  21. package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +0 -5
  22. package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +0 -34
  23. package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +0 -142
  24. package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +0 -387
  25. package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +0 -270
  26. package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +0 -66
  27. package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +0 -9
  28. package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +0 -20
  29. package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +0 -239
  30. package/packages/config-eslint/node_modules/ajv/lib/data.js +0 -49
  31. package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +0 -37
  32. package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +0 -113
  33. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
  34. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
  35. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
  36. package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +0 -32
  37. package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +0 -46
  38. package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +0 -51
  39. package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +0 -9
  40. package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +0 -11
  41. package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +0 -55
  42. package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +0 -191
  43. package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +0 -47
  44. package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +0 -203
  45. package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +0 -79
  46. package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +0 -30
  47. package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +0 -194
  48. package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +0 -106
  49. package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +0 -73
  50. package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +0 -98
  51. package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +0 -39
  52. package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
  53. package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +0 -43
  54. package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +0 -54
  55. package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +0 -14
  56. package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +0 -245
  57. package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
  58. package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +0 -85
  59. package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +0 -108
  60. package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
  61. package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +0 -276
  62. package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +0 -3
  63. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +0 -163
  64. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
  65. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
  66. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
  67. package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +0 -42
  68. package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
  69. package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +0 -14
  70. package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +0 -56
  71. package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +0 -81
  72. package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +0 -228
  73. package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
  74. package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +0 -66
  75. package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +0 -150
  76. package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +0 -103
  77. package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +0 -33
  78. package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +0 -140
  79. package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
  80. package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +0 -84
  81. package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
  82. package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +0 -75
  83. package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +0 -335
  84. package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
  85. package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +0 -124
  86. package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +0 -270
  87. package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
  88. package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +0 -482
  89. package/packages/config-eslint/node_modules/ajv/lib/keyword.js +0 -146
  90. package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +0 -17
  91. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
  92. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
  93. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
  94. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
  95. package/packages/config-eslint/node_modules/ajv/package.json +0 -106
  96. package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +0 -3
  97. package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +0 -61
  98. package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +0 -73
  99. package/packages/config-eslint/node_modules/ajv/scripts/info +0 -10
  100. package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +0 -12
  101. package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +0 -32
  102. package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +0 -23
  103. package/packages/config-eslint/node_modules/ansi-styles/index.d.ts +0 -345
  104. package/packages/config-eslint/node_modules/ansi-styles/index.js +0 -163
  105. package/packages/config-eslint/node_modules/ansi-styles/license +0 -9
  106. package/packages/config-eslint/node_modules/ansi-styles/package.json +0 -56
  107. package/packages/config-eslint/node_modules/ansi-styles/readme.md +0 -152
  108. package/packages/config-eslint/node_modules/chalk/index.d.ts +0 -415
  109. package/packages/config-eslint/node_modules/chalk/license +0 -9
  110. package/packages/config-eslint/node_modules/chalk/package.json +0 -68
  111. package/packages/config-eslint/node_modules/chalk/readme.md +0 -341
  112. package/packages/config-eslint/node_modules/chalk/source/index.js +0 -229
  113. package/packages/config-eslint/node_modules/chalk/source/templates.js +0 -134
  114. package/packages/config-eslint/node_modules/chalk/source/util.js +0 -39
  115. package/packages/config-eslint/node_modules/color-convert/CHANGELOG.md +0 -54
  116. package/packages/config-eslint/node_modules/color-convert/LICENSE +0 -21
  117. package/packages/config-eslint/node_modules/color-convert/README.md +0 -68
  118. package/packages/config-eslint/node_modules/color-convert/conversions.js +0 -839
  119. package/packages/config-eslint/node_modules/color-convert/index.js +0 -81
  120. package/packages/config-eslint/node_modules/color-convert/package.json +0 -48
  121. package/packages/config-eslint/node_modules/color-convert/route.js +0 -97
  122. package/packages/config-eslint/node_modules/color-name/LICENSE +0 -8
  123. package/packages/config-eslint/node_modules/color-name/README.md +0 -11
  124. package/packages/config-eslint/node_modules/color-name/index.js +0 -152
  125. package/packages/config-eslint/node_modules/color-name/package.json +0 -28
  126. package/packages/config-eslint/node_modules/eslint/LICENSE +0 -19
  127. package/packages/config-eslint/node_modules/eslint/README.md +0 -354
  128. package/packages/config-eslint/node_modules/eslint/bin/eslint.js +0 -196
  129. package/packages/config-eslint/node_modules/eslint/conf/default-cli-options.js +0 -32
  130. package/packages/config-eslint/node_modules/eslint/conf/ecma-version.js +0 -16
  131. package/packages/config-eslint/node_modules/eslint/conf/globals.js +0 -169
  132. package/packages/config-eslint/node_modules/eslint/conf/replacements.json +0 -26
  133. package/packages/config-eslint/node_modules/eslint/conf/rule-type-list.json +0 -91
  134. package/packages/config-eslint/node_modules/eslint/lib/api.js +0 -50
  135. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1109
  136. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -541
  137. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -18
  138. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -359
  139. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
  140. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
  141. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -122
  142. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/hash.js +0 -35
  143. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/index.js +0 -7
  144. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -220
  145. package/packages/config-eslint/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
  146. package/packages/config-eslint/node_modules/eslint/lib/cli.js +0 -553
  147. package/packages/config-eslint/node_modules/eslint/lib/config/config-loader.js +0 -816
  148. package/packages/config-eslint/node_modules/eslint/lib/config/config.js +0 -674
  149. package/packages/config-eslint/node_modules/eslint/lib/config/default-config.js +0 -78
  150. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-array.js +0 -217
  151. package/packages/config-eslint/node_modules/eslint/lib/config/flat-config-schema.js +0 -598
  152. package/packages/config-eslint/node_modules/eslint/lib/config-api.js +0 -12
  153. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -1465
  154. package/packages/config-eslint/node_modules/eslint/lib/eslint/eslint.js +0 -1362
  155. package/packages/config-eslint/node_modules/eslint/lib/eslint/index.js +0 -9
  156. package/packages/config-eslint/node_modules/eslint/lib/eslint/legacy-eslint.js +0 -786
  157. package/packages/config-eslint/node_modules/eslint/lib/eslint/worker.js +0 -173
  158. package/packages/config-eslint/node_modules/eslint/lib/languages/js/index.js +0 -336
  159. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/index.js +0 -7
  160. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/source-code.js +0 -1364
  161. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-comment-cursor.js +0 -61
  162. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/backward-token-cursor.js +0 -57
  163. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursor.js +0 -76
  164. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/cursors.js +0 -120
  165. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/decorative-cursor.js +0 -38
  166. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/filter-cursor.js +0 -42
  167. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-comment-cursor.js +0 -65
  168. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/forward-token-cursor.js +0 -62
  169. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/index.js +0 -721
  170. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/limit-cursor.js +0 -39
  171. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/padded-token-cursor.js +0 -45
  172. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/skip-cursor.js +0 -41
  173. package/packages/config-eslint/node_modules/eslint/lib/languages/js/source-code/token-store/utils.js +0 -110
  174. package/packages/config-eslint/node_modules/eslint/lib/languages/js/validate-language-options.js +0 -196
  175. package/packages/config-eslint/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -584
  176. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -828
  177. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -262
  178. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2370
  179. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -332
  180. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -223
  181. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -374
  182. package/packages/config-eslint/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -44
  183. package/packages/config-eslint/node_modules/eslint/lib/linter/esquery.js +0 -332
  184. package/packages/config-eslint/node_modules/eslint/lib/linter/file-context.js +0 -144
  185. package/packages/config-eslint/node_modules/eslint/lib/linter/file-report.js +0 -608
  186. package/packages/config-eslint/node_modules/eslint/lib/linter/index.js +0 -11
  187. package/packages/config-eslint/node_modules/eslint/lib/linter/interpolate.js +0 -50
  188. package/packages/config-eslint/node_modules/eslint/lib/linter/linter.js +0 -2676
  189. package/packages/config-eslint/node_modules/eslint/lib/linter/rule-fixer.js +0 -169
  190. package/packages/config-eslint/node_modules/eslint/lib/linter/rules.js +0 -71
  191. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-fixer.js +0 -154
  192. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-traverser.js +0 -333
  193. package/packages/config-eslint/node_modules/eslint/lib/linter/source-code-visitor.js +0 -81
  194. package/packages/config-eslint/node_modules/eslint/lib/linter/timing.js +0 -209
  195. package/packages/config-eslint/node_modules/eslint/lib/linter/vfile.js +0 -115
  196. package/packages/config-eslint/node_modules/eslint/lib/options.js +0 -536
  197. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/index.js +0 -7
  198. package/packages/config-eslint/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1579
  199. package/packages/config-eslint/node_modules/eslint/lib/rules/accessor-pairs.js +0 -420
  200. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -291
  201. package/packages/config-eslint/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -301
  202. package/packages/config-eslint/node_modules/eslint/lib/rules/array-callback-return.js +0 -493
  203. package/packages/config-eslint/node_modules/eslint/lib/rules/array-element-newline.js +0 -374
  204. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-body-style.js +0 -418
  205. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-parens.js +0 -237
  206. package/packages/config-eslint/node_modules/eslint/lib/rules/arrow-spacing.js +0 -188
  207. package/packages/config-eslint/node_modules/eslint/lib/rules/block-scoped-var.js +0 -137
  208. package/packages/config-eslint/node_modules/eslint/lib/rules/block-spacing.js +0 -202
  209. package/packages/config-eslint/node_modules/eslint/lib/rules/brace-style.js +0 -278
  210. package/packages/config-eslint/node_modules/eslint/lib/rules/callback-return.js +0 -216
  211. package/packages/config-eslint/node_modules/eslint/lib/rules/camelcase.js +0 -422
  212. package/packages/config-eslint/node_modules/eslint/lib/rules/capitalized-comments.js +0 -325
  213. package/packages/config-eslint/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -250
  214. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-dangle.js +0 -424
  215. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-spacing.js +0 -208
  216. package/packages/config-eslint/node_modules/eslint/lib/rules/comma-style.js +0 -391
  217. package/packages/config-eslint/node_modules/eslint/lib/rules/complexity.js +0 -201
  218. package/packages/config-eslint/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -251
  219. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-return.js +0 -221
  220. package/packages/config-eslint/node_modules/eslint/lib/rules/consistent-this.js +0 -179
  221. package/packages/config-eslint/node_modules/eslint/lib/rules/constructor-super.js +0 -453
  222. package/packages/config-eslint/node_modules/eslint/lib/rules/curly.js +0 -425
  223. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case-last.js +0 -51
  224. package/packages/config-eslint/node_modules/eslint/lib/rules/default-case.js +0 -103
  225. package/packages/config-eslint/node_modules/eslint/lib/rules/default-param-last.js +0 -78
  226. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-location.js +0 -138
  227. package/packages/config-eslint/node_modules/eslint/lib/rules/dot-notation.js +0 -216
  228. package/packages/config-eslint/node_modules/eslint/lib/rules/eol-last.js +0 -135
  229. package/packages/config-eslint/node_modules/eslint/lib/rules/eqeqeq.js +0 -210
  230. package/packages/config-eslint/node_modules/eslint/lib/rules/for-direction.js +0 -168
  231. package/packages/config-eslint/node_modules/eslint/lib/rules/func-call-spacing.js +0 -281
  232. package/packages/config-eslint/node_modules/eslint/lib/rules/func-name-matching.js +0 -338
  233. package/packages/config-eslint/node_modules/eslint/lib/rules/func-names.js +0 -192
  234. package/packages/config-eslint/node_modules/eslint/lib/rules/func-style.js +0 -221
  235. package/packages/config-eslint/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -166
  236. package/packages/config-eslint/node_modules/eslint/lib/rules/function-paren-newline.js +0 -368
  237. package/packages/config-eslint/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -246
  238. package/packages/config-eslint/node_modules/eslint/lib/rules/getter-return.js +0 -242
  239. package/packages/config-eslint/node_modules/eslint/lib/rules/global-require.js +0 -117
  240. package/packages/config-eslint/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -268
  241. package/packages/config-eslint/node_modules/eslint/lib/rules/guard-for-in.js +0 -85
  242. package/packages/config-eslint/node_modules/eslint/lib/rules/handle-callback-err.js +0 -122
  243. package/packages/config-eslint/node_modules/eslint/lib/rules/id-blacklist.js +0 -241
  244. package/packages/config-eslint/node_modules/eslint/lib/rules/id-denylist.js +0 -223
  245. package/packages/config-eslint/node_modules/eslint/lib/rules/id-length.js +0 -217
  246. package/packages/config-eslint/node_modules/eslint/lib/rules/id-match.js +0 -363
  247. package/packages/config-eslint/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -125
  248. package/packages/config-eslint/node_modules/eslint/lib/rules/indent-legacy.js +0 -1369
  249. package/packages/config-eslint/node_modules/eslint/lib/rules/indent.js +0 -2334
  250. package/packages/config-eslint/node_modules/eslint/lib/rules/index.js +0 -332
  251. package/packages/config-eslint/node_modules/eslint/lib/rules/init-declarations.js +0 -172
  252. package/packages/config-eslint/node_modules/eslint/lib/rules/jsx-quotes.js +0 -128
  253. package/packages/config-eslint/node_modules/eslint/lib/rules/key-spacing.js +0 -822
  254. package/packages/config-eslint/node_modules/eslint/lib/rules/keyword-spacing.js +0 -701
  255. package/packages/config-eslint/node_modules/eslint/lib/rules/line-comment-position.js +0 -157
  256. package/packages/config-eslint/node_modules/eslint/lib/rules/linebreak-style.js +0 -135
  257. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-comment.js +0 -581
  258. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-around-directive.js +0 -249
  259. package/packages/config-eslint/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -358
  260. package/packages/config-eslint/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -688
  261. package/packages/config-eslint/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -90
  262. package/packages/config-eslint/node_modules/eslint/lib/rules/max-depth.js +0 -159
  263. package/packages/config-eslint/node_modules/eslint/lib/rules/max-len.js +0 -497
  264. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -238
  265. package/packages/config-eslint/node_modules/eslint/lib/rules/max-lines.js +0 -189
  266. package/packages/config-eslint/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -115
  267. package/packages/config-eslint/node_modules/eslint/lib/rules/max-params.js +0 -129
  268. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -224
  269. package/packages/config-eslint/node_modules/eslint/lib/rules/max-statements.js +0 -188
  270. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -652
  271. package/packages/config-eslint/node_modules/eslint/lib/rules/multiline-ternary.js +0 -257
  272. package/packages/config-eslint/node_modules/eslint/lib/rules/new-cap.js +0 -277
  273. package/packages/config-eslint/node_modules/eslint/lib/rules/new-parens.js +0 -120
  274. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-after-var.js +0 -307
  275. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-before-return.js +0 -242
  276. package/packages/config-eslint/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -159
  277. package/packages/config-eslint/node_modules/eslint/lib/rules/no-alert.js +0 -149
  278. package/packages/config-eslint/node_modules/eslint/lib/rules/no-array-constructor.js +0 -195
  279. package/packages/config-eslint/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -45
  280. package/packages/config-eslint/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -115
  281. package/packages/config-eslint/node_modules/eslint/lib/rules/no-bitwise.js +0 -145
  282. package/packages/config-eslint/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -74
  283. package/packages/config-eslint/node_modules/eslint/lib/rules/no-caller.js +0 -52
  284. package/packages/config-eslint/node_modules/eslint/lib/rules/no-case-declarations.js +0 -80
  285. package/packages/config-eslint/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -96
  286. package/packages/config-eslint/node_modules/eslint/lib/rules/no-class-assign.js +0 -66
  287. package/packages/config-eslint/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -74
  288. package/packages/config-eslint/node_modules/eslint/lib/rules/no-cond-assign.js +0 -175
  289. package/packages/config-eslint/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -127
  290. package/packages/config-eslint/node_modules/eslint/lib/rules/no-console.js +0 -221
  291. package/packages/config-eslint/node_modules/eslint/lib/rules/no-const-assign.js +0 -73
  292. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -603
  293. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constant-condition.js +0 -177
  294. package/packages/config-eslint/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
  295. package/packages/config-eslint/node_modules/eslint/lib/rules/no-continue.js +0 -38
  296. package/packages/config-eslint/node_modules/eslint/lib/rules/no-control-regex.js +0 -142
  297. package/packages/config-eslint/node_modules/eslint/lib/rules/no-debugger.js +0 -41
  298. package/packages/config-eslint/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
  299. package/packages/config-eslint/node_modules/eslint/lib/rules/no-div-regex.js +0 -60
  300. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-args.js +0 -92
  301. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -117
  302. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -145
  303. package/packages/config-eslint/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -165
  304. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -78
  305. package/packages/config-eslint/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -368
  306. package/packages/config-eslint/node_modules/eslint/lib/rules/no-else-return.js +0 -450
  307. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -83
  308. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-function.js +0 -236
  309. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -85
  310. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -73
  311. package/packages/config-eslint/node_modules/eslint/lib/rules/no-empty.js +0 -153
  312. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eq-null.js +0 -51
  313. package/packages/config-eslint/node_modules/eslint/lib/rules/no-eval.js +0 -295
  314. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ex-assign.js +0 -57
  315. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extend-native.js +0 -180
  316. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-bind.js +0 -224
  317. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -420
  318. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-label.js +0 -169
  319. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1669
  320. package/packages/config-eslint/node_modules/eslint/lib/rules/no-extra-semi.js +0 -167
  321. package/packages/config-eslint/node_modules/eslint/lib/rules/no-fallthrough.js +0 -260
  322. package/packages/config-eslint/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -99
  323. package/packages/config-eslint/node_modules/eslint/lib/rules/no-func-assign.js +0 -77
  324. package/packages/config-eslint/node_modules/eslint/lib/rules/no-global-assign.js +0 -101
  325. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -468
  326. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -187
  327. package/packages/config-eslint/node_modules/eslint/lib/rules/no-implied-eval.js +0 -170
  328. package/packages/config-eslint/node_modules/eslint/lib/rules/no-import-assign.js +0 -227
  329. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inline-comments.js +0 -115
  330. package/packages/config-eslint/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -147
  331. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -243
  332. package/packages/config-eslint/node_modules/eslint/lib/rules/no-invalid-this.js +0 -178
  333. package/packages/config-eslint/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -292
  334. package/packages/config-eslint/node_modules/eslint/lib/rules/no-iterator.js +0 -48
  335. package/packages/config-eslint/node_modules/eslint/lib/rules/no-label-var.js +0 -78
  336. package/packages/config-eslint/node_modules/eslint/lib/rules/no-labels.js +0 -156
  337. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -140
  338. package/packages/config-eslint/node_modules/eslint/lib/rules/no-lonely-if.js +0 -126
  339. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loop-func.js +0 -267
  340. package/packages/config-eslint/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -249
  341. package/packages/config-eslint/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -365
  342. package/packages/config-eslint/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -595
  343. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -253
  344. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -267
  345. package/packages/config-eslint/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -148
  346. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-assign.js +0 -66
  347. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -179
  348. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multi-str.js +0 -67
  349. package/packages/config-eslint/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -210
  350. package/packages/config-eslint/node_modules/eslint/lib/rules/no-native-reassign.js +0 -114
  351. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-condition.js +0 -100
  352. package/packages/config-eslint/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -59
  353. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -46
  354. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-func.js +0 -96
  355. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -70
  356. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-object.js +0 -76
  357. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-require.js +0 -67
  358. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-symbol.js +0 -74
  359. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -62
  360. package/packages/config-eslint/node_modules/eslint/lib/rules/no-new.js +0 -42
  361. package/packages/config-eslint/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -176
  362. package/packages/config-eslint/node_modules/eslint/lib/rules/no-obj-calls.js +0 -99
  363. package/packages/config-eslint/node_modules/eslint/lib/rules/no-object-constructor.js +0 -124
  364. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal-escape.js +0 -53
  365. package/packages/config-eslint/node_modules/eslint/lib/rules/no-octal.js +0 -42
  366. package/packages/config-eslint/node_modules/eslint/lib/rules/no-param-reassign.js +0 -248
  367. package/packages/config-eslint/node_modules/eslint/lib/rules/no-path-concat.js +0 -79
  368. package/packages/config-eslint/node_modules/eslint/lib/rules/no-plusplus.js +0 -102
  369. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-env.js +0 -68
  370. package/packages/config-eslint/node_modules/eslint/lib/rules/no-process-exit.js +0 -67
  371. package/packages/config-eslint/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -264
  372. package/packages/config-eslint/node_modules/eslint/lib/rules/no-proto.js +0 -45
  373. package/packages/config-eslint/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -181
  374. package/packages/config-eslint/node_modules/eslint/lib/rules/no-redeclare.js +0 -173
  375. package/packages/config-eslint/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -219
  376. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -227
  377. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -266
  378. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -850
  379. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -249
  380. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -233
  381. package/packages/config-eslint/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -74
  382. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-assign.js +0 -87
  383. package/packages/config-eslint/node_modules/eslint/lib/rules/no-return-await.js +0 -162
  384. package/packages/config-eslint/node_modules/eslint/lib/rules/no-script-url.js +0 -68
  385. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-assign.js +0 -186
  386. package/packages/config-eslint/node_modules/eslint/lib/rules/no-self-compare.js +0 -77
  387. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sequences.js +0 -158
  388. package/packages/config-eslint/node_modules/eslint/lib/rules/no-setter-return.js +0 -224
  389. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -113
  390. package/packages/config-eslint/node_modules/eslint/lib/rules/no-shadow.js +0 -624
  391. package/packages/config-eslint/node_modules/eslint/lib/rules/no-spaced-func.js +0 -105
  392. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -68
  393. package/packages/config-eslint/node_modules/eslint/lib/rules/no-sync.js +0 -81
  394. package/packages/config-eslint/node_modules/eslint/lib/rules/no-tabs.js +0 -110
  395. package/packages/config-eslint/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -45
  396. package/packages/config-eslint/node_modules/eslint/lib/rules/no-ternary.js +0 -38
  397. package/packages/config-eslint/node_modules/eslint/lib/rules/no-this-before-super.js +0 -365
  398. package/packages/config-eslint/node_modules/eslint/lib/rules/no-throw-literal.js +0 -46
  399. package/packages/config-eslint/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -227
  400. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unassigned-vars.js +0 -80
  401. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef-init.js +0 -101
  402. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undef.js +0 -84
  403. package/packages/config-eslint/node_modules/eslint/lib/rules/no-undefined.js +0 -85
  404. package/packages/config-eslint/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -383
  405. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -130
  406. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
  407. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -232
  408. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -190
  409. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unreachable.js +0 -300
  410. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -119
  411. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -152
  412. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -221
  413. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -227
  414. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-labels.js +0 -158
  415. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -219
  416. package/packages/config-eslint/node_modules/eslint/lib/rules/no-unused-vars.js +0 -1739
  417. package/packages/config-eslint/node_modules/eslint/lib/rules/no-use-before-define.js +0 -446
  418. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-assignment.js +0 -654
  419. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -263
  420. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-call.js +0 -95
  421. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
  422. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -204
  423. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-concat.js +0 -121
  424. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -252
  425. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-escape.js +0 -406
  426. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-rename.js +0 -202
  427. package/packages/config-eslint/node_modules/eslint/lib/rules/no-useless-return.js +0 -401
  428. package/packages/config-eslint/node_modules/eslint/lib/rules/no-var.js +0 -367
  429. package/packages/config-eslint/node_modules/eslint/lib/rules/no-void.js +0 -69
  430. package/packages/config-eslint/node_modules/eslint/lib/rules/no-warning-comments.js +0 -209
  431. package/packages/config-eslint/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -150
  432. package/packages/config-eslint/node_modules/eslint/lib/rules/no-with.js +0 -37
  433. package/packages/config-eslint/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -164
  434. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-newline.js +0 -383
  435. package/packages/config-eslint/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -375
  436. package/packages/config-eslint/node_modules/eslint/lib/rules/object-property-newline.js +0 -151
  437. package/packages/config-eslint/node_modules/eslint/lib/rules/object-shorthand.js +0 -652
  438. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -117
  439. package/packages/config-eslint/node_modules/eslint/lib/rules/one-var.js +0 -717
  440. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-assignment.js +0 -270
  441. package/packages/config-eslint/node_modules/eslint/lib/rules/operator-linebreak.js +0 -315
  442. package/packages/config-eslint/node_modules/eslint/lib/rules/padded-blocks.js +0 -366
  443. package/packages/config-eslint/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -612
  444. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -437
  445. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-const.js +0 -546
  446. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -332
  447. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -235
  448. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -197
  449. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -157
  450. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -148
  451. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -319
  452. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -154
  453. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-reflect.js +0 -150
  454. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -605
  455. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -117
  456. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-spread.js +0 -91
  457. package/packages/config-eslint/node_modules/eslint/lib/rules/prefer-template.js +0 -347
  458. package/packages/config-eslint/node_modules/eslint/lib/rules/preserve-caught-error.js +0 -535
  459. package/packages/config-eslint/node_modules/eslint/lib/rules/quote-props.js +0 -394
  460. package/packages/config-eslint/node_modules/eslint/lib/rules/quotes.js +0 -416
  461. package/packages/config-eslint/node_modules/eslint/lib/rules/radix.js +0 -216
  462. package/packages/config-eslint/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -365
  463. package/packages/config-eslint/node_modules/eslint/lib/rules/require-await.js +0 -184
  464. package/packages/config-eslint/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -317
  465. package/packages/config-eslint/node_modules/eslint/lib/rules/require-yield.js +0 -76
  466. package/packages/config-eslint/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -153
  467. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-spacing.js +0 -297
  468. package/packages/config-eslint/node_modules/eslint/lib/rules/semi-style.js +0 -218
  469. package/packages/config-eslint/node_modules/eslint/lib/rules/semi.js +0 -476
  470. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-imports.js +0 -319
  471. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-keys.js +0 -268
  472. package/packages/config-eslint/node_modules/eslint/lib/rules/sort-vars.js +0 -140
  473. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-blocks.js +0 -232
  474. package/packages/config-eslint/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -205
  475. package/packages/config-eslint/node_modules/eslint/lib/rules/space-in-parens.js +0 -374
  476. package/packages/config-eslint/node_modules/eslint/lib/rules/space-infix-ops.js +0 -252
  477. package/packages/config-eslint/node_modules/eslint/lib/rules/space-unary-ops.js +0 -400
  478. package/packages/config-eslint/node_modules/eslint/lib/rules/spaced-comment.js +0 -447
  479. package/packages/config-eslint/node_modules/eslint/lib/rules/strict.js +0 -314
  480. package/packages/config-eslint/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -158
  481. package/packages/config-eslint/node_modules/eslint/lib/rules/symbol-description.js +0 -70
  482. package/packages/config-eslint/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -168
  483. package/packages/config-eslint/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -121
  484. package/packages/config-eslint/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
  485. package/packages/config-eslint/node_modules/eslint/lib/rules/use-isnan.js +0 -268
  486. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2733
  487. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/char-source.js +0 -247
  488. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -125
  489. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
  490. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -118
  491. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -58
  492. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -16
  493. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
  494. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
  495. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
  496. package/packages/config-eslint/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
  497. package/packages/config-eslint/node_modules/eslint/lib/rules/valid-typeof.js +0 -171
  498. package/packages/config-eslint/node_modules/eslint/lib/rules/vars-on-top.js +0 -165
  499. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-iife.js +0 -238
  500. package/packages/config-eslint/node_modules/eslint/lib/rules/wrap-regex.js +0 -91
  501. package/packages/config-eslint/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -159
  502. package/packages/config-eslint/node_modules/eslint/lib/rules/yoda.js +0 -362
  503. package/packages/config-eslint/node_modules/eslint/lib/services/parser-service.js +0 -65
  504. package/packages/config-eslint/node_modules/eslint/lib/services/processor-service.js +0 -101
  505. package/packages/config-eslint/node_modules/eslint/lib/services/suppressions-service.js +0 -302
  506. package/packages/config-eslint/node_modules/eslint/lib/services/warning-service.js +0 -111
  507. package/packages/config-eslint/node_modules/eslint/lib/shared/ajv.js +0 -34
  508. package/packages/config-eslint/node_modules/eslint/lib/shared/assert.js +0 -21
  509. package/packages/config-eslint/node_modules/eslint/lib/shared/ast-utils.js +0 -30
  510. package/packages/config-eslint/node_modules/eslint/lib/shared/deep-merge-arrays.js +0 -62
  511. package/packages/config-eslint/node_modules/eslint/lib/shared/directives.js +0 -16
  512. package/packages/config-eslint/node_modules/eslint/lib/shared/flags.js +0 -108
  513. package/packages/config-eslint/node_modules/eslint/lib/shared/logging.js +0 -38
  514. package/packages/config-eslint/node_modules/eslint/lib/shared/naming.js +0 -109
  515. package/packages/config-eslint/node_modules/eslint/lib/shared/option-utils.js +0 -63
  516. package/packages/config-eslint/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -28
  517. package/packages/config-eslint/node_modules/eslint/lib/shared/runtime-info.js +0 -177
  518. package/packages/config-eslint/node_modules/eslint/lib/shared/serialization.js +0 -78
  519. package/packages/config-eslint/node_modules/eslint/lib/shared/severity.js +0 -49
  520. package/packages/config-eslint/node_modules/eslint/lib/shared/stats.js +0 -30
  521. package/packages/config-eslint/node_modules/eslint/lib/shared/string-utils.js +0 -58
  522. package/packages/config-eslint/node_modules/eslint/lib/shared/text-table.js +0 -68
  523. package/packages/config-eslint/node_modules/eslint/lib/shared/translate-cli-options.js +0 -281
  524. package/packages/config-eslint/node_modules/eslint/lib/shared/traverser.js +0 -202
  525. package/packages/config-eslint/node_modules/eslint/lib/types/config-api.d.ts +0 -12
  526. package/packages/config-eslint/node_modules/eslint/lib/types/index.d.ts +0 -1473
  527. package/packages/config-eslint/node_modules/eslint/lib/types/rules.d.ts +0 -5589
  528. package/packages/config-eslint/node_modules/eslint/lib/types/universal.d.ts +0 -6
  529. package/packages/config-eslint/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts +0 -87
  530. package/packages/config-eslint/node_modules/eslint/lib/universal.js +0 -10
  531. package/packages/config-eslint/node_modules/eslint/lib/unsupported-api.js +0 -29
  532. package/packages/config-eslint/node_modules/eslint/messages/all-files-ignored.js +0 -16
  533. package/packages/config-eslint/node_modules/eslint/messages/all-matched-files-ignored.js +0 -21
  534. package/packages/config-eslint/node_modules/eslint/messages/config-file-missing.js +0 -16
  535. package/packages/config-eslint/node_modules/eslint/messages/config-plugin-missing.js +0 -14
  536. package/packages/config-eslint/node_modules/eslint/messages/config-serialize-function.js +0 -30
  537. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-incompat.js +0 -117
  538. package/packages/config-eslint/node_modules/eslint/messages/eslintrc-plugins.js +0 -27
  539. package/packages/config-eslint/node_modules/eslint/messages/extend-config-missing.js +0 -13
  540. package/packages/config-eslint/node_modules/eslint/messages/failed-to-read-json.js +0 -11
  541. package/packages/config-eslint/node_modules/eslint/messages/file-not-found.js +0 -10
  542. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-options.js +0 -17
  543. package/packages/config-eslint/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
  544. package/packages/config-eslint/node_modules/eslint/messages/no-config-found.js +0 -15
  545. package/packages/config-eslint/node_modules/eslint/messages/plugin-conflict.js +0 -22
  546. package/packages/config-eslint/node_modules/eslint/messages/plugin-invalid.js +0 -16
  547. package/packages/config-eslint/node_modules/eslint/messages/plugin-missing.js +0 -19
  548. package/packages/config-eslint/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
  549. package/packages/config-eslint/node_modules/eslint/messages/shared.js +0 -23
  550. package/packages/config-eslint/node_modules/eslint/messages/whitespace-found.js +0 -11
  551. package/packages/config-eslint/node_modules/eslint/package.json +0 -226
  552. package/packages/config-eslint/node_modules/find-up/index.d.ts +0 -138
  553. package/packages/config-eslint/node_modules/find-up/index.js +0 -89
  554. package/packages/config-eslint/node_modules/find-up/license +0 -9
  555. package/packages/config-eslint/node_modules/find-up/package.json +0 -54
  556. package/packages/config-eslint/node_modules/find-up/readme.md +0 -151
  557. package/packages/config-eslint/node_modules/globals/globals.json +0 -3970
  558. package/packages/config-eslint/node_modules/globals/index.d.ts +0 -4087
  559. package/packages/config-eslint/node_modules/globals/index.js +0 -2
  560. package/packages/config-eslint/node_modules/globals/license +0 -9
  561. package/packages/config-eslint/node_modules/globals/package.json +0 -122
  562. package/packages/config-eslint/node_modules/globals/readme.md +0 -42
  563. package/packages/config-eslint/node_modules/ignore/LICENSE-MIT +0 -21
  564. package/packages/config-eslint/node_modules/ignore/README.md +0 -412
  565. package/packages/config-eslint/node_modules/ignore/index.d.ts +0 -61
  566. package/packages/config-eslint/node_modules/ignore/index.js +0 -636
  567. package/packages/config-eslint/node_modules/ignore/legacy.js +0 -559
  568. package/packages/config-eslint/node_modules/ignore/package.json +0 -74
  569. package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  570. package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +0 -8
  571. package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +0 -21
  572. package/packages/config-eslint/node_modules/json-schema-traverse/README.md +0 -83
  573. package/packages/config-eslint/node_modules/json-schema-traverse/index.js +0 -89
  574. package/packages/config-eslint/node_modules/json-schema-traverse/package.json +0 -43
  575. package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  576. package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  577. package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  578. package/packages/config-eslint/node_modules/locate-path/index.d.ts +0 -83
  579. package/packages/config-eslint/node_modules/locate-path/index.js +0 -68
  580. package/packages/config-eslint/node_modules/locate-path/license +0 -9
  581. package/packages/config-eslint/node_modules/locate-path/package.json +0 -46
  582. package/packages/config-eslint/node_modules/locate-path/readme.md +0 -125
  583. package/packages/config-eslint/node_modules/p-limit/index.d.ts +0 -42
  584. package/packages/config-eslint/node_modules/p-limit/index.js +0 -71
  585. package/packages/config-eslint/node_modules/p-limit/license +0 -9
  586. package/packages/config-eslint/node_modules/p-limit/package.json +0 -52
  587. package/packages/config-eslint/node_modules/p-limit/readme.md +0 -101
  588. package/packages/config-eslint/node_modules/p-locate/index.d.ts +0 -53
  589. package/packages/config-eslint/node_modules/p-locate/index.js +0 -50
  590. package/packages/config-eslint/node_modules/p-locate/license +0 -9
  591. package/packages/config-eslint/node_modules/p-locate/package.json +0 -54
  592. package/packages/config-eslint/node_modules/p-locate/readme.md +0 -93
  593. package/packages/config-eslint/node_modules/path-exists/index.d.ts +0 -28
  594. package/packages/config-eslint/node_modules/path-exists/index.js +0 -23
  595. package/packages/config-eslint/node_modules/path-exists/license +0 -9
  596. package/packages/config-eslint/node_modules/path-exists/package.json +0 -39
  597. package/packages/config-eslint/node_modules/path-exists/readme.md +0 -52
  598. package/packages/config-eslint/node_modules/yocto-queue/index.d.ts +0 -56
  599. package/packages/config-eslint/node_modules/yocto-queue/index.js +0 -68
  600. package/packages/config-eslint/node_modules/yocto-queue/license +0 -9
  601. package/packages/config-eslint/node_modules/yocto-queue/package.json +0 -43
  602. package/packages/config-eslint/node_modules/yocto-queue/readme.md +0 -64
@@ -1,1369 +0,0 @@
1
- /**
2
- * @fileoverview This option sets a specific tab width for your code
3
- *
4
- * This rule has been ported and modified from nodeca.
5
- * @author Vitaly Puzrin
6
- * @author Gyandeep Singh
7
- * @deprecated in ESLint v4.0.0
8
- */
9
-
10
- "use strict";
11
-
12
- //------------------------------------------------------------------------------
13
- // Requirements
14
- //------------------------------------------------------------------------------
15
-
16
- const astUtils = require("./utils/ast-utils");
17
-
18
- //------------------------------------------------------------------------------
19
- // Rule Definition
20
- //------------------------------------------------------------------------------
21
- // this rule has known coverage issues, but it's deprecated and shouldn't be updated in the future anyway.
22
- /* c8 ignore next */
23
- /** @type {import('../types').Rule.RuleModule} */
24
- module.exports = {
25
- meta: {
26
- type: "layout",
27
-
28
- docs: {
29
- description: "Enforce consistent indentation",
30
- recommended: false,
31
- url: "https://eslint.org/docs/latest/rules/indent-legacy",
32
- },
33
-
34
- deprecated: {
35
- message: "Formatting rules are being moved out of ESLint core.",
36
- url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
37
- deprecatedSince: "4.0.0",
38
- availableUntil: "11.0.0",
39
- replacedBy: [
40
- {
41
- message:
42
- "ESLint Stylistic now maintains deprecated stylistic core rules.",
43
- url: "https://eslint.style/guide/migration",
44
- plugin: {
45
- name: "@stylistic/eslint-plugin",
46
- url: "https://eslint.style",
47
- },
48
- rule: {
49
- name: "indent",
50
- url: "https://eslint.style/rules/indent",
51
- },
52
- },
53
- ],
54
- },
55
-
56
- fixable: "whitespace",
57
-
58
- schema: [
59
- {
60
- oneOf: [
61
- {
62
- enum: ["tab"],
63
- },
64
- {
65
- type: "integer",
66
- minimum: 0,
67
- },
68
- ],
69
- },
70
- {
71
- type: "object",
72
- properties: {
73
- SwitchCase: {
74
- type: "integer",
75
- minimum: 0,
76
- },
77
- VariableDeclarator: {
78
- oneOf: [
79
- {
80
- type: "integer",
81
- minimum: 0,
82
- },
83
- {
84
- type: "object",
85
- properties: {
86
- var: {
87
- type: "integer",
88
- minimum: 0,
89
- },
90
- let: {
91
- type: "integer",
92
- minimum: 0,
93
- },
94
- const: {
95
- type: "integer",
96
- minimum: 0,
97
- },
98
- },
99
- },
100
- ],
101
- },
102
- outerIIFEBody: {
103
- type: "integer",
104
- minimum: 0,
105
- },
106
- MemberExpression: {
107
- type: "integer",
108
- minimum: 0,
109
- },
110
- FunctionDeclaration: {
111
- type: "object",
112
- properties: {
113
- parameters: {
114
- oneOf: [
115
- {
116
- type: "integer",
117
- minimum: 0,
118
- },
119
- {
120
- enum: ["first"],
121
- },
122
- ],
123
- },
124
- body: {
125
- type: "integer",
126
- minimum: 0,
127
- },
128
- },
129
- },
130
- FunctionExpression: {
131
- type: "object",
132
- properties: {
133
- parameters: {
134
- oneOf: [
135
- {
136
- type: "integer",
137
- minimum: 0,
138
- },
139
- {
140
- enum: ["first"],
141
- },
142
- ],
143
- },
144
- body: {
145
- type: "integer",
146
- minimum: 0,
147
- },
148
- },
149
- },
150
- CallExpression: {
151
- type: "object",
152
- properties: {
153
- parameters: {
154
- oneOf: [
155
- {
156
- type: "integer",
157
- minimum: 0,
158
- },
159
- {
160
- enum: ["first"],
161
- },
162
- ],
163
- },
164
- },
165
- },
166
- ArrayExpression: {
167
- oneOf: [
168
- {
169
- type: "integer",
170
- minimum: 0,
171
- },
172
- {
173
- enum: ["first"],
174
- },
175
- ],
176
- },
177
- ObjectExpression: {
178
- oneOf: [
179
- {
180
- type: "integer",
181
- minimum: 0,
182
- },
183
- {
184
- enum: ["first"],
185
- },
186
- ],
187
- },
188
- },
189
- additionalProperties: false,
190
- },
191
- ],
192
- messages: {
193
- expected:
194
- "Expected indentation of {{expected}} but found {{actual}}.",
195
- },
196
- },
197
-
198
- create(context) {
199
- const DEFAULT_VARIABLE_INDENT = 1;
200
- const DEFAULT_PARAMETER_INDENT = null; // For backwards compatibility, don't check parameter indentation unless specified in the config
201
- const DEFAULT_FUNCTION_BODY_INDENT = 1;
202
-
203
- let indentType = "space";
204
- let indentSize = 4;
205
- const options = {
206
- SwitchCase: 0,
207
- VariableDeclarator: {
208
- var: DEFAULT_VARIABLE_INDENT,
209
- let: DEFAULT_VARIABLE_INDENT,
210
- const: DEFAULT_VARIABLE_INDENT,
211
- },
212
- outerIIFEBody: null,
213
- FunctionDeclaration: {
214
- parameters: DEFAULT_PARAMETER_INDENT,
215
- body: DEFAULT_FUNCTION_BODY_INDENT,
216
- },
217
- FunctionExpression: {
218
- parameters: DEFAULT_PARAMETER_INDENT,
219
- body: DEFAULT_FUNCTION_BODY_INDENT,
220
- },
221
- CallExpression: {
222
- arguments: DEFAULT_PARAMETER_INDENT,
223
- },
224
- ArrayExpression: 1,
225
- ObjectExpression: 1,
226
- };
227
-
228
- const sourceCode = context.sourceCode;
229
-
230
- if (context.options.length) {
231
- if (context.options[0] === "tab") {
232
- indentSize = 1;
233
- indentType = "tab";
234
- } /* c8 ignore start */ else if (
235
- typeof context.options[0] === "number"
236
- ) {
237
- indentSize = context.options[0];
238
- indentType = "space";
239
- } /* c8 ignore stop */
240
-
241
- if (context.options[1]) {
242
- const opts = context.options[1];
243
-
244
- options.SwitchCase = opts.SwitchCase || 0;
245
- const variableDeclaratorRules = opts.VariableDeclarator;
246
-
247
- if (typeof variableDeclaratorRules === "number") {
248
- options.VariableDeclarator = {
249
- var: variableDeclaratorRules,
250
- let: variableDeclaratorRules,
251
- const: variableDeclaratorRules,
252
- };
253
- } else if (typeof variableDeclaratorRules === "object") {
254
- Object.assign(
255
- options.VariableDeclarator,
256
- variableDeclaratorRules,
257
- );
258
- }
259
-
260
- if (typeof opts.outerIIFEBody === "number") {
261
- options.outerIIFEBody = opts.outerIIFEBody;
262
- }
263
-
264
- if (typeof opts.MemberExpression === "number") {
265
- options.MemberExpression = opts.MemberExpression;
266
- }
267
-
268
- if (typeof opts.FunctionDeclaration === "object") {
269
- Object.assign(
270
- options.FunctionDeclaration,
271
- opts.FunctionDeclaration,
272
- );
273
- }
274
-
275
- if (typeof opts.FunctionExpression === "object") {
276
- Object.assign(
277
- options.FunctionExpression,
278
- opts.FunctionExpression,
279
- );
280
- }
281
-
282
- if (typeof opts.CallExpression === "object") {
283
- Object.assign(options.CallExpression, opts.CallExpression);
284
- }
285
-
286
- if (
287
- typeof opts.ArrayExpression === "number" ||
288
- typeof opts.ArrayExpression === "string"
289
- ) {
290
- options.ArrayExpression = opts.ArrayExpression;
291
- }
292
-
293
- if (
294
- typeof opts.ObjectExpression === "number" ||
295
- typeof opts.ObjectExpression === "string"
296
- ) {
297
- options.ObjectExpression = opts.ObjectExpression;
298
- }
299
- }
300
- }
301
-
302
- const caseIndentStore = {};
303
-
304
- /**
305
- * Creates an error message for a line, given the expected/actual indentation.
306
- * @param {number} expectedAmount The expected amount of indentation characters for this line
307
- * @param {number} actualSpaces The actual number of indentation spaces that were found on this line
308
- * @param {number} actualTabs The actual number of indentation tabs that were found on this line
309
- * @returns {string} An error message for this line
310
- */
311
- function createErrorMessageData(
312
- expectedAmount,
313
- actualSpaces,
314
- actualTabs,
315
- ) {
316
- const expectedStatement = `${expectedAmount} ${indentType}${expectedAmount === 1 ? "" : "s"}`; // e.g. "2 tabs"
317
- const foundSpacesWord = `space${actualSpaces === 1 ? "" : "s"}`; // e.g. "space"
318
- const foundTabsWord = `tab${actualTabs === 1 ? "" : "s"}`; // e.g. "tabs"
319
- let foundStatement;
320
-
321
- if (actualSpaces > 0 && actualTabs > 0) {
322
- foundStatement = `${actualSpaces} ${foundSpacesWord} and ${actualTabs} ${foundTabsWord}`; // e.g. "1 space and 2 tabs"
323
- } else if (actualSpaces > 0) {
324
- /*
325
- * Abbreviate the message if the expected indentation is also spaces.
326
- * e.g. 'Expected 4 spaces but found 2' rather than 'Expected 4 spaces but found 2 spaces'
327
- */
328
- foundStatement =
329
- indentType === "space"
330
- ? actualSpaces
331
- : `${actualSpaces} ${foundSpacesWord}`;
332
- } else if (actualTabs > 0) {
333
- foundStatement =
334
- indentType === "tab"
335
- ? actualTabs
336
- : `${actualTabs} ${foundTabsWord}`;
337
- } else {
338
- foundStatement = "0";
339
- }
340
- return {
341
- expected: expectedStatement,
342
- actual: foundStatement,
343
- };
344
- }
345
-
346
- /**
347
- * Reports a given indent violation
348
- * @param {ASTNode} node Node violating the indent rule
349
- * @param {number} needed Expected indentation character count
350
- * @param {number} gottenSpaces Indentation space count in the actual node/code
351
- * @param {number} gottenTabs Indentation tab count in the actual node/code
352
- * @param {Object} [loc] Error line and column location
353
- * @param {boolean} isLastNodeCheck Is the error for last node check
354
- * @returns {void}
355
- */
356
- function report(
357
- node,
358
- needed,
359
- gottenSpaces,
360
- gottenTabs,
361
- loc,
362
- isLastNodeCheck,
363
- ) {
364
- if (gottenSpaces && gottenTabs) {
365
- // To avoid conflicts with `no-mixed-spaces-and-tabs`, don't report lines that have both spaces and tabs.
366
- return;
367
- }
368
-
369
- const desiredIndent = (indentType === "space" ? " " : "\t").repeat(
370
- needed,
371
- );
372
-
373
- const textRange = isLastNodeCheck
374
- ? [
375
- node.range[1] - node.loc.end.column,
376
- node.range[1] -
377
- node.loc.end.column +
378
- gottenSpaces +
379
- gottenTabs,
380
- ]
381
- : [
382
- node.range[0] - node.loc.start.column,
383
- node.range[0] -
384
- node.loc.start.column +
385
- gottenSpaces +
386
- gottenTabs,
387
- ];
388
-
389
- context.report({
390
- node,
391
- loc,
392
- messageId: "expected",
393
- data: createErrorMessageData(needed, gottenSpaces, gottenTabs),
394
- fix: fixer => fixer.replaceTextRange(textRange, desiredIndent),
395
- });
396
- }
397
-
398
- /**
399
- * Get the actual indent of node
400
- * @param {ASTNode|Token} node Node to examine
401
- * @param {boolean} [byLastLine=false] get indent of node's last line
402
- * @returns {Object} The node's indent. Contains keys `space` and `tab`, representing the indent of each character. Also
403
- * contains keys `goodChar` and `badChar`, where `goodChar` is the amount of the user's desired indentation character, and
404
- * `badChar` is the amount of the other indentation character.
405
- */
406
- function getNodeIndent(node, byLastLine) {
407
- const token = byLastLine
408
- ? sourceCode.getLastToken(node)
409
- : sourceCode.getFirstToken(node);
410
- const srcCharsBeforeNode = sourceCode
411
- .getText(token, token.loc.start.column)
412
- .split("");
413
- const indentChars = srcCharsBeforeNode.slice(
414
- 0,
415
- srcCharsBeforeNode.findIndex(
416
- char => char !== " " && char !== "\t",
417
- ),
418
- );
419
- const spaces = indentChars.filter(char => char === " ").length;
420
- const tabs = indentChars.filter(char => char === "\t").length;
421
-
422
- return {
423
- space: spaces,
424
- tab: tabs,
425
- goodChar: indentType === "space" ? spaces : tabs,
426
- badChar: indentType === "space" ? tabs : spaces,
427
- };
428
- }
429
-
430
- /**
431
- * Checks node is the first in its own start line. By default it looks by start line.
432
- * @param {ASTNode} node The node to check
433
- * @param {boolean} [byEndLocation=false] Lookup based on start position or end
434
- * @returns {boolean} true if its the first in the its start line
435
- */
436
- function isNodeFirstInLine(node, byEndLocation) {
437
- const firstToken =
438
- byEndLocation === true
439
- ? sourceCode.getLastToken(node, 1)
440
- : sourceCode.getTokenBefore(node),
441
- startLine =
442
- byEndLocation === true
443
- ? node.loc.end.line
444
- : node.loc.start.line,
445
- endLine = firstToken ? firstToken.loc.end.line : -1;
446
-
447
- return startLine !== endLine;
448
- }
449
-
450
- /**
451
- * Check indent for node
452
- * @param {ASTNode} node Node to check
453
- * @param {number} neededIndent needed indent
454
- * @returns {void}
455
- */
456
- function checkNodeIndent(node, neededIndent) {
457
- const actualIndent = getNodeIndent(node, false);
458
-
459
- if (
460
- node.type !== "ArrayExpression" &&
461
- node.type !== "ObjectExpression" &&
462
- (actualIndent.goodChar !== neededIndent ||
463
- actualIndent.badChar !== 0) &&
464
- isNodeFirstInLine(node)
465
- ) {
466
- report(
467
- node,
468
- neededIndent,
469
- actualIndent.space,
470
- actualIndent.tab,
471
- );
472
- }
473
-
474
- if (node.type === "IfStatement" && node.alternate) {
475
- const elseToken = sourceCode.getTokenBefore(node.alternate);
476
-
477
- checkNodeIndent(elseToken, neededIndent);
478
-
479
- if (!isNodeFirstInLine(node.alternate)) {
480
- checkNodeIndent(node.alternate, neededIndent);
481
- }
482
- }
483
-
484
- if (node.type === "TryStatement" && node.handler) {
485
- const catchToken = sourceCode.getFirstToken(node.handler);
486
-
487
- checkNodeIndent(catchToken, neededIndent);
488
- }
489
-
490
- if (node.type === "TryStatement" && node.finalizer) {
491
- const finallyToken = sourceCode.getTokenBefore(node.finalizer);
492
-
493
- checkNodeIndent(finallyToken, neededIndent);
494
- }
495
-
496
- if (node.type === "DoWhileStatement") {
497
- const whileToken = sourceCode.getTokenAfter(node.body);
498
-
499
- checkNodeIndent(whileToken, neededIndent);
500
- }
501
- }
502
-
503
- /**
504
- * Check indent for nodes list
505
- * @param {ASTNode[]} nodes list of node objects
506
- * @param {number} indent needed indent
507
- * @returns {void}
508
- */
509
- function checkNodesIndent(nodes, indent) {
510
- nodes.forEach(node => checkNodeIndent(node, indent));
511
- }
512
-
513
- /**
514
- * Check last node line indent this detects, that block closed correctly
515
- * @param {ASTNode} node Node to examine
516
- * @param {number} lastLineIndent needed indent
517
- * @returns {void}
518
- */
519
- function checkLastNodeLineIndent(node, lastLineIndent) {
520
- const lastToken = sourceCode.getLastToken(node);
521
- const endIndent = getNodeIndent(lastToken, true);
522
-
523
- if (
524
- (endIndent.goodChar !== lastLineIndent ||
525
- endIndent.badChar !== 0) &&
526
- isNodeFirstInLine(node, true)
527
- ) {
528
- report(
529
- node,
530
- lastLineIndent,
531
- endIndent.space,
532
- endIndent.tab,
533
- {
534
- line: lastToken.loc.start.line,
535
- column: lastToken.loc.start.column,
536
- },
537
- true,
538
- );
539
- }
540
- }
541
-
542
- /**
543
- * Check last node line indent this detects, that block closed correctly
544
- * This function for more complicated return statement case, where closing parenthesis may be followed by ';'
545
- * @param {ASTNode} node Node to examine
546
- * @param {number} firstLineIndent first line needed indent
547
- * @returns {void}
548
- */
549
- function checkLastReturnStatementLineIndent(node, firstLineIndent) {
550
- /*
551
- * in case if return statement ends with ');' we have traverse back to ')'
552
- * otherwise we'll measure indent for ';' and replace ')'
553
- */
554
- const lastToken = sourceCode.getLastToken(
555
- node,
556
- astUtils.isClosingParenToken,
557
- );
558
- const textBeforeClosingParenthesis = sourceCode
559
- .getText(lastToken, lastToken.loc.start.column)
560
- .slice(0, -1);
561
-
562
- if (textBeforeClosingParenthesis.trim()) {
563
- // There are tokens before the closing paren, don't report this case
564
- return;
565
- }
566
-
567
- const endIndent = getNodeIndent(lastToken, true);
568
-
569
- if (endIndent.goodChar !== firstLineIndent) {
570
- report(
571
- node,
572
- firstLineIndent,
573
- endIndent.space,
574
- endIndent.tab,
575
- {
576
- line: lastToken.loc.start.line,
577
- column: lastToken.loc.start.column,
578
- },
579
- true,
580
- );
581
- }
582
- }
583
-
584
- /**
585
- * Check first node line indent is correct
586
- * @param {ASTNode} node Node to examine
587
- * @param {number} firstLineIndent needed indent
588
- * @returns {void}
589
- */
590
- function checkFirstNodeLineIndent(node, firstLineIndent) {
591
- const startIndent = getNodeIndent(node, false);
592
-
593
- if (
594
- (startIndent.goodChar !== firstLineIndent ||
595
- startIndent.badChar !== 0) &&
596
- isNodeFirstInLine(node)
597
- ) {
598
- report(
599
- node,
600
- firstLineIndent,
601
- startIndent.space,
602
- startIndent.tab,
603
- {
604
- line: node.loc.start.line,
605
- column: node.loc.start.column,
606
- },
607
- );
608
- }
609
- }
610
-
611
- /**
612
- * Returns a parent node of given node based on a specified type
613
- * if not present then return null
614
- * @param {ASTNode} node node to examine
615
- * @param {string} type type that is being looked for
616
- * @param {string} stopAtList end points for the evaluating code
617
- * @returns {ASTNode|void} if found then node otherwise null
618
- */
619
- function getParentNodeByType(node, type, stopAtList) {
620
- let parent = node.parent;
621
- const stopAtSet = new Set(stopAtList || ["Program"]);
622
-
623
- while (
624
- parent.type !== type &&
625
- !stopAtSet.has(parent.type) &&
626
- parent.type !== "Program"
627
- ) {
628
- parent = parent.parent;
629
- }
630
-
631
- return parent.type === type ? parent : null;
632
- }
633
-
634
- /**
635
- * Returns the VariableDeclarator based on the current node
636
- * if not present then return null
637
- * @param {ASTNode} node node to examine
638
- * @returns {ASTNode|void} if found then node otherwise null
639
- */
640
- function getVariableDeclaratorNode(node) {
641
- return getParentNodeByType(node, "VariableDeclarator");
642
- }
643
-
644
- /**
645
- * Check to see if the node is part of the multi-line variable declaration.
646
- * Also if its on the same line as the varNode
647
- * @param {ASTNode} node node to check
648
- * @param {ASTNode} varNode variable declaration node to check against
649
- * @returns {boolean} True if all the above condition satisfy
650
- */
651
- function isNodeInVarOnTop(node, varNode) {
652
- return (
653
- varNode &&
654
- varNode.parent.loc.start.line === node.loc.start.line &&
655
- varNode.parent.declarations.length > 1
656
- );
657
- }
658
-
659
- /**
660
- * Check to see if the argument before the callee node is multi-line and
661
- * there should only be 1 argument before the callee node
662
- * @param {ASTNode} node node to check
663
- * @returns {boolean} True if arguments are multi-line
664
- */
665
- function isArgBeforeCalleeNodeMultiline(node) {
666
- const parent = node.parent;
667
-
668
- if (parent.arguments.length >= 2 && parent.arguments[1] === node) {
669
- return (
670
- parent.arguments[0].loc.end.line >
671
- parent.arguments[0].loc.start.line
672
- );
673
- }
674
-
675
- return false;
676
- }
677
-
678
- /**
679
- * Check to see if the node is a file level IIFE
680
- * @param {ASTNode} node The function node to check.
681
- * @returns {boolean} True if the node is the outer IIFE
682
- */
683
- function isOuterIIFE(node) {
684
- const parent = node.parent;
685
- let stmt = parent.parent;
686
-
687
- /*
688
- * Verify that the node is an IIEF
689
- */
690
- if (parent.type !== "CallExpression" || parent.callee !== node) {
691
- return false;
692
- }
693
-
694
- /*
695
- * Navigate legal ancestors to determine whether this IIEF is outer
696
- */
697
- while (
698
- (stmt.type === "UnaryExpression" &&
699
- (stmt.operator === "!" ||
700
- stmt.operator === "~" ||
701
- stmt.operator === "+" ||
702
- stmt.operator === "-")) ||
703
- stmt.type === "AssignmentExpression" ||
704
- stmt.type === "LogicalExpression" ||
705
- stmt.type === "SequenceExpression" ||
706
- stmt.type === "VariableDeclarator"
707
- ) {
708
- stmt = stmt.parent;
709
- }
710
-
711
- return (
712
- (stmt.type === "ExpressionStatement" ||
713
- stmt.type === "VariableDeclaration") &&
714
- stmt.parent &&
715
- stmt.parent.type === "Program"
716
- );
717
- }
718
-
719
- /**
720
- * Check indent for function block content
721
- * @param {ASTNode} node A BlockStatement node that is inside of a function.
722
- * @returns {void}
723
- */
724
- function checkIndentInFunctionBlock(node) {
725
- /*
726
- * Search first caller in chain.
727
- * Ex.:
728
- *
729
- * Models <- Identifier
730
- * .User
731
- * .find()
732
- * .exec(function() {
733
- * // function body
734
- * });
735
- *
736
- * Looks for 'Models'
737
- */
738
- const calleeNode = node.parent; // FunctionExpression
739
- let indent;
740
-
741
- if (
742
- calleeNode.parent &&
743
- (calleeNode.parent.type === "Property" ||
744
- calleeNode.parent.type === "ArrayExpression")
745
- ) {
746
- // If function is part of array or object, comma can be put at left
747
- indent = getNodeIndent(calleeNode, false).goodChar;
748
- } else {
749
- // If function is standalone, simple calculate indent
750
- indent = getNodeIndent(calleeNode).goodChar;
751
- }
752
-
753
- if (calleeNode.parent.type === "CallExpression") {
754
- const calleeParent = calleeNode.parent;
755
-
756
- if (
757
- calleeNode.type !== "FunctionExpression" &&
758
- calleeNode.type !== "ArrowFunctionExpression"
759
- ) {
760
- if (
761
- calleeParent &&
762
- calleeParent.loc.start.line < node.loc.start.line
763
- ) {
764
- indent = getNodeIndent(calleeParent).goodChar;
765
- }
766
- } else {
767
- if (
768
- isArgBeforeCalleeNodeMultiline(calleeNode) &&
769
- calleeParent.callee.loc.start.line ===
770
- calleeParent.callee.loc.end.line &&
771
- !isNodeFirstInLine(calleeNode)
772
- ) {
773
- indent = getNodeIndent(calleeParent).goodChar;
774
- }
775
- }
776
- }
777
-
778
- /*
779
- * function body indent should be indent + indent size, unless this
780
- * is a FunctionDeclaration, FunctionExpression, or outer IIFE and the corresponding options are enabled.
781
- */
782
- let functionOffset = indentSize;
783
-
784
- if (options.outerIIFEBody !== null && isOuterIIFE(calleeNode)) {
785
- functionOffset = options.outerIIFEBody * indentSize;
786
- } else if (calleeNode.type === "FunctionExpression") {
787
- functionOffset = options.FunctionExpression.body * indentSize;
788
- } else if (calleeNode.type === "FunctionDeclaration") {
789
- functionOffset = options.FunctionDeclaration.body * indentSize;
790
- }
791
- indent += functionOffset;
792
-
793
- // check if the node is inside a variable
794
- const parentVarNode = getVariableDeclaratorNode(node);
795
-
796
- if (parentVarNode && isNodeInVarOnTop(node, parentVarNode)) {
797
- indent +=
798
- indentSize *
799
- options.VariableDeclarator[parentVarNode.parent.kind];
800
- }
801
-
802
- if (node.body.length > 0) {
803
- checkNodesIndent(node.body, indent);
804
- }
805
-
806
- checkLastNodeLineIndent(node, indent - functionOffset);
807
- }
808
-
809
- /**
810
- * Checks if the given node starts and ends on the same line
811
- * @param {ASTNode} node The node to check
812
- * @returns {boolean} Whether or not the block starts and ends on the same line.
813
- */
814
- function isSingleLineNode(node) {
815
- const lastToken = sourceCode.getLastToken(node),
816
- startLine = node.loc.start.line,
817
- endLine = lastToken.loc.end.line;
818
-
819
- return startLine === endLine;
820
- }
821
-
822
- /**
823
- * Check indent for array block content or object block content
824
- * @param {ASTNode} node node to examine
825
- * @returns {void}
826
- */
827
- function checkIndentInArrayOrObjectBlock(node) {
828
- // Skip inline
829
- if (isSingleLineNode(node)) {
830
- return;
831
- }
832
-
833
- let elements =
834
- node.type === "ArrayExpression"
835
- ? node.elements
836
- : node.properties;
837
-
838
- // filter out empty elements example would be [ , 2] so remove first element as espree considers it as null
839
- elements = elements.filter(elem => elem !== null);
840
-
841
- let nodeIndent;
842
- let elementsIndent;
843
- const parentVarNode = getVariableDeclaratorNode(node);
844
-
845
- // TODO - come up with a better strategy in future
846
- if (isNodeFirstInLine(node)) {
847
- const parent = node.parent;
848
-
849
- nodeIndent = getNodeIndent(parent).goodChar;
850
- if (
851
- !parentVarNode ||
852
- parentVarNode.loc.start.line !== node.loc.start.line
853
- ) {
854
- if (
855
- parent.type !== "VariableDeclarator" ||
856
- parentVarNode === parentVarNode.parent.declarations[0]
857
- ) {
858
- if (
859
- parent.type === "VariableDeclarator" &&
860
- parentVarNode.loc.start.line ===
861
- parent.loc.start.line
862
- ) {
863
- nodeIndent +=
864
- indentSize *
865
- options.VariableDeclarator[
866
- parentVarNode.parent.kind
867
- ];
868
- } else if (
869
- parent.type === "ObjectExpression" ||
870
- parent.type === "ArrayExpression"
871
- ) {
872
- const parentElements =
873
- node.parent.type === "ObjectExpression"
874
- ? node.parent.properties
875
- : node.parent.elements;
876
-
877
- if (
878
- parentElements[0] &&
879
- parentElements[0].loc.start.line ===
880
- parent.loc.start.line &&
881
- parentElements[0].loc.end.line !==
882
- parent.loc.start.line
883
- ) {
884
- /*
885
- * If the first element of the array spans multiple lines, don't increase the expected indentation of the rest.
886
- * e.g. [{
887
- * foo: 1
888
- * },
889
- * {
890
- * bar: 1
891
- * }]
892
- * the second object is not indented.
893
- */
894
- } else if (
895
- typeof options[parent.type] === "number"
896
- ) {
897
- nodeIndent += options[parent.type] * indentSize;
898
- } else {
899
- nodeIndent = parentElements[0].loc.start.column;
900
- }
901
- } else if (
902
- parent.type === "CallExpression" ||
903
- parent.type === "NewExpression"
904
- ) {
905
- if (
906
- typeof options.CallExpression.arguments ===
907
- "number"
908
- ) {
909
- nodeIndent +=
910
- options.CallExpression.arguments *
911
- indentSize;
912
- } else if (
913
- options.CallExpression.arguments === "first"
914
- ) {
915
- if (parent.arguments.includes(node)) {
916
- nodeIndent =
917
- parent.arguments[0].loc.start.column;
918
- }
919
- } else {
920
- nodeIndent += indentSize;
921
- }
922
- } else if (
923
- parent.type === "LogicalExpression" ||
924
- parent.type === "ArrowFunctionExpression"
925
- ) {
926
- nodeIndent += indentSize;
927
- }
928
- }
929
- }
930
-
931
- checkFirstNodeLineIndent(node, nodeIndent);
932
- } else {
933
- nodeIndent = getNodeIndent(node).goodChar;
934
- }
935
-
936
- if (options[node.type] === "first") {
937
- elementsIndent = elements.length
938
- ? elements[0].loc.start.column
939
- : 0; // If there are no elements, elementsIndent doesn't matter.
940
- } else {
941
- elementsIndent = nodeIndent + indentSize * options[node.type];
942
- }
943
-
944
- /*
945
- * Check if the node is a multiple variable declaration; if so, then
946
- * make sure indentation takes that into account.
947
- */
948
- if (isNodeInVarOnTop(node, parentVarNode)) {
949
- elementsIndent +=
950
- indentSize *
951
- options.VariableDeclarator[parentVarNode.parent.kind];
952
- }
953
-
954
- checkNodesIndent(elements, elementsIndent);
955
-
956
- if (elements.length > 0) {
957
- // Skip last block line check if last item in same line
958
- if (elements.at(-1).loc.end.line === node.loc.end.line) {
959
- return;
960
- }
961
- }
962
-
963
- checkLastNodeLineIndent(
964
- node,
965
- nodeIndent +
966
- (isNodeInVarOnTop(node, parentVarNode)
967
- ? options.VariableDeclarator[
968
- parentVarNode.parent.kind
969
- ] * indentSize
970
- : 0),
971
- );
972
- }
973
-
974
- /**
975
- * Check if the node or node body is a BlockStatement or not
976
- * @param {ASTNode} node node to test
977
- * @returns {boolean} True if it or its body is a block statement
978
- */
979
- function isNodeBodyBlock(node) {
980
- return (
981
- node.type === "BlockStatement" ||
982
- node.type === "ClassBody" ||
983
- (node.body && node.body.type === "BlockStatement") ||
984
- (node.consequent && node.consequent.type === "BlockStatement")
985
- );
986
- }
987
-
988
- /**
989
- * Check indentation for blocks
990
- * @param {ASTNode} node node to check
991
- * @returns {void}
992
- */
993
- function blockIndentationCheck(node) {
994
- // Skip inline blocks
995
- if (isSingleLineNode(node)) {
996
- return;
997
- }
998
-
999
- if (
1000
- node.parent &&
1001
- (node.parent.type === "FunctionExpression" ||
1002
- node.parent.type === "FunctionDeclaration" ||
1003
- node.parent.type === "ArrowFunctionExpression")
1004
- ) {
1005
- checkIndentInFunctionBlock(node);
1006
- return;
1007
- }
1008
-
1009
- let indent;
1010
- let nodesToCheck;
1011
-
1012
- /*
1013
- * For this statements we should check indent from statement beginning,
1014
- * not from the beginning of the block.
1015
- */
1016
- const statementsWithProperties = [
1017
- "IfStatement",
1018
- "WhileStatement",
1019
- "ForStatement",
1020
- "ForInStatement",
1021
- "ForOfStatement",
1022
- "DoWhileStatement",
1023
- "ClassDeclaration",
1024
- "TryStatement",
1025
- ];
1026
-
1027
- if (
1028
- node.parent &&
1029
- statementsWithProperties.includes(node.parent.type) &&
1030
- isNodeBodyBlock(node)
1031
- ) {
1032
- indent = getNodeIndent(node.parent).goodChar;
1033
- } else if (node.parent && node.parent.type === "CatchClause") {
1034
- indent = getNodeIndent(node.parent.parent).goodChar;
1035
- } else {
1036
- indent = getNodeIndent(node).goodChar;
1037
- }
1038
-
1039
- if (
1040
- node.type === "IfStatement" &&
1041
- node.consequent.type !== "BlockStatement"
1042
- ) {
1043
- nodesToCheck = [node.consequent];
1044
- } else if (Array.isArray(node.body)) {
1045
- nodesToCheck = node.body;
1046
- } else {
1047
- nodesToCheck = [node.body];
1048
- }
1049
-
1050
- if (nodesToCheck.length > 0) {
1051
- checkNodesIndent(nodesToCheck, indent + indentSize);
1052
- }
1053
-
1054
- if (node.type === "BlockStatement") {
1055
- checkLastNodeLineIndent(node, indent);
1056
- }
1057
- }
1058
-
1059
- /**
1060
- * Filter out the elements which are on the same line of each other or the node.
1061
- * basically have only 1 elements from each line except the variable declaration line.
1062
- * @param {ASTNode} node Variable declaration node
1063
- * @returns {ASTNode[]} Filtered elements
1064
- */
1065
- function filterOutSameLineVars(node) {
1066
- return node.declarations.reduce((finalCollection, elem) => {
1067
- const lastElem = finalCollection.at(-1);
1068
-
1069
- if (
1070
- (elem.loc.start.line !== node.loc.start.line &&
1071
- !lastElem) ||
1072
- (lastElem &&
1073
- lastElem.loc.start.line !== elem.loc.start.line)
1074
- ) {
1075
- finalCollection.push(elem);
1076
- }
1077
-
1078
- return finalCollection;
1079
- }, []);
1080
- }
1081
-
1082
- /**
1083
- * Check indentation for variable declarations
1084
- * @param {ASTNode} node node to examine
1085
- * @returns {void}
1086
- */
1087
- function checkIndentInVariableDeclarations(node) {
1088
- const elements = filterOutSameLineVars(node);
1089
- const nodeIndent = getNodeIndent(node).goodChar;
1090
- const lastElement = elements.at(-1);
1091
-
1092
- const elementsIndent =
1093
- nodeIndent + indentSize * options.VariableDeclarator[node.kind];
1094
-
1095
- checkNodesIndent(elements, elementsIndent);
1096
-
1097
- // Only check the last line if there is any token after the last item
1098
- if (
1099
- sourceCode.getLastToken(node).loc.end.line <=
1100
- lastElement.loc.end.line
1101
- ) {
1102
- return;
1103
- }
1104
-
1105
- const tokenBeforeLastElement =
1106
- sourceCode.getTokenBefore(lastElement);
1107
-
1108
- if (tokenBeforeLastElement.value === ",") {
1109
- // Special case for comma-first syntax where the semicolon is indented
1110
- checkLastNodeLineIndent(
1111
- node,
1112
- getNodeIndent(tokenBeforeLastElement).goodChar,
1113
- );
1114
- } else {
1115
- checkLastNodeLineIndent(node, elementsIndent - indentSize);
1116
- }
1117
- }
1118
-
1119
- /**
1120
- * Check and decide whether to check for indentation for blockless nodes
1121
- * Scenarios are for or while statements without braces around them
1122
- * @param {ASTNode} node node to examine
1123
- * @returns {void}
1124
- */
1125
- function blockLessNodes(node) {
1126
- if (node.body.type !== "BlockStatement") {
1127
- blockIndentationCheck(node);
1128
- }
1129
- }
1130
-
1131
- /**
1132
- * Returns the expected indentation for the case statement
1133
- * @param {ASTNode} node node to examine
1134
- * @param {number} [providedSwitchIndent] indent for switch statement
1135
- * @returns {number} indent size
1136
- */
1137
- function expectedCaseIndent(node, providedSwitchIndent) {
1138
- const switchNode =
1139
- node.type === "SwitchStatement" ? node : node.parent;
1140
- const switchIndent =
1141
- typeof providedSwitchIndent === "undefined"
1142
- ? getNodeIndent(switchNode).goodChar
1143
- : providedSwitchIndent;
1144
- let caseIndent;
1145
-
1146
- if (caseIndentStore[switchNode.loc.start.line]) {
1147
- return caseIndentStore[switchNode.loc.start.line];
1148
- }
1149
-
1150
- if (switchNode.cases.length > 0 && options.SwitchCase === 0) {
1151
- caseIndent = switchIndent;
1152
- } else {
1153
- caseIndent = switchIndent + indentSize * options.SwitchCase;
1154
- }
1155
-
1156
- caseIndentStore[switchNode.loc.start.line] = caseIndent;
1157
- return caseIndent;
1158
- }
1159
-
1160
- /**
1161
- * Checks whether a return statement is wrapped in ()
1162
- * @param {ASTNode} node node to examine
1163
- * @returns {boolean} the result
1164
- */
1165
- function isWrappedInParenthesis(node) {
1166
- const regex = /^return\s*\(\s*\)/u;
1167
-
1168
- const statementWithoutArgument = sourceCode
1169
- .getText(node)
1170
- .replace(sourceCode.getText(node.argument), "");
1171
-
1172
- return regex.test(statementWithoutArgument);
1173
- }
1174
-
1175
- return {
1176
- Program(node) {
1177
- if (node.body.length > 0) {
1178
- // Root nodes should have no indent
1179
- checkNodesIndent(node.body, getNodeIndent(node).goodChar);
1180
- }
1181
- },
1182
-
1183
- ClassBody: blockIndentationCheck,
1184
-
1185
- BlockStatement: blockIndentationCheck,
1186
-
1187
- WhileStatement: blockLessNodes,
1188
-
1189
- ForStatement: blockLessNodes,
1190
-
1191
- ForInStatement: blockLessNodes,
1192
-
1193
- ForOfStatement: blockLessNodes,
1194
-
1195
- DoWhileStatement: blockLessNodes,
1196
-
1197
- IfStatement(node) {
1198
- if (
1199
- node.consequent.type !== "BlockStatement" &&
1200
- node.consequent.loc.start.line > node.loc.start.line
1201
- ) {
1202
- blockIndentationCheck(node);
1203
- }
1204
- },
1205
-
1206
- VariableDeclaration(node) {
1207
- if (
1208
- node.declarations.at(-1).loc.start.line >
1209
- node.declarations[0].loc.start.line
1210
- ) {
1211
- checkIndentInVariableDeclarations(node);
1212
- }
1213
- },
1214
-
1215
- ObjectExpression(node) {
1216
- checkIndentInArrayOrObjectBlock(node);
1217
- },
1218
-
1219
- ArrayExpression(node) {
1220
- checkIndentInArrayOrObjectBlock(node);
1221
- },
1222
-
1223
- MemberExpression(node) {
1224
- if (typeof options.MemberExpression === "undefined") {
1225
- return;
1226
- }
1227
-
1228
- if (isSingleLineNode(node)) {
1229
- return;
1230
- }
1231
-
1232
- /*
1233
- * The typical layout of variable declarations and assignments
1234
- * alter the expectation of correct indentation. Skip them.
1235
- * TODO: Add appropriate configuration options for variable
1236
- * declarations and assignments.
1237
- */
1238
- if (
1239
- getParentNodeByType(node, "VariableDeclarator", [
1240
- "FunctionExpression",
1241
- "ArrowFunctionExpression",
1242
- ])
1243
- ) {
1244
- return;
1245
- }
1246
-
1247
- if (
1248
- getParentNodeByType(node, "AssignmentExpression", [
1249
- "FunctionExpression",
1250
- ])
1251
- ) {
1252
- return;
1253
- }
1254
-
1255
- const propertyIndent =
1256
- getNodeIndent(node).goodChar +
1257
- indentSize * options.MemberExpression;
1258
-
1259
- const checkNodes = [node.property];
1260
-
1261
- const dot = sourceCode.getTokenBefore(node.property);
1262
-
1263
- if (dot.type === "Punctuator" && dot.value === ".") {
1264
- checkNodes.push(dot);
1265
- }
1266
-
1267
- checkNodesIndent(checkNodes, propertyIndent);
1268
- },
1269
-
1270
- SwitchStatement(node) {
1271
- // Switch is not a 'BlockStatement'
1272
- const switchIndent = getNodeIndent(node).goodChar;
1273
- const caseIndent = expectedCaseIndent(node, switchIndent);
1274
-
1275
- checkNodesIndent(node.cases, caseIndent);
1276
-
1277
- checkLastNodeLineIndent(node, switchIndent);
1278
- },
1279
-
1280
- SwitchCase(node) {
1281
- // Skip inline cases
1282
- if (isSingleLineNode(node)) {
1283
- return;
1284
- }
1285
- const caseIndent = expectedCaseIndent(node);
1286
-
1287
- checkNodesIndent(node.consequent, caseIndent + indentSize);
1288
- },
1289
-
1290
- FunctionDeclaration(node) {
1291
- if (isSingleLineNode(node)) {
1292
- return;
1293
- }
1294
- if (
1295
- options.FunctionDeclaration.parameters === "first" &&
1296
- node.params.length
1297
- ) {
1298
- checkNodesIndent(
1299
- node.params.slice(1),
1300
- node.params[0].loc.start.column,
1301
- );
1302
- } else if (options.FunctionDeclaration.parameters !== null) {
1303
- checkNodesIndent(
1304
- node.params,
1305
- getNodeIndent(node).goodChar +
1306
- indentSize * options.FunctionDeclaration.parameters,
1307
- );
1308
- }
1309
- },
1310
-
1311
- FunctionExpression(node) {
1312
- if (isSingleLineNode(node)) {
1313
- return;
1314
- }
1315
- if (
1316
- options.FunctionExpression.parameters === "first" &&
1317
- node.params.length
1318
- ) {
1319
- checkNodesIndent(
1320
- node.params.slice(1),
1321
- node.params[0].loc.start.column,
1322
- );
1323
- } else if (options.FunctionExpression.parameters !== null) {
1324
- checkNodesIndent(
1325
- node.params,
1326
- getNodeIndent(node).goodChar +
1327
- indentSize * options.FunctionExpression.parameters,
1328
- );
1329
- }
1330
- },
1331
-
1332
- ReturnStatement(node) {
1333
- if (isSingleLineNode(node)) {
1334
- return;
1335
- }
1336
-
1337
- const firstLineIndent = getNodeIndent(node).goodChar;
1338
-
1339
- // in case if return statement is wrapped in parenthesis
1340
- if (isWrappedInParenthesis(node)) {
1341
- checkLastReturnStatementLineIndent(node, firstLineIndent);
1342
- } else {
1343
- checkNodeIndent(node, firstLineIndent);
1344
- }
1345
- },
1346
-
1347
- CallExpression(node) {
1348
- if (isSingleLineNode(node)) {
1349
- return;
1350
- }
1351
- if (
1352
- options.CallExpression.arguments === "first" &&
1353
- node.arguments.length
1354
- ) {
1355
- checkNodesIndent(
1356
- node.arguments.slice(1),
1357
- node.arguments[0].loc.start.column,
1358
- );
1359
- } else if (options.CallExpression.arguments !== null) {
1360
- checkNodesIndent(
1361
- node.arguments,
1362
- getNodeIndent(node).goodChar +
1363
- indentSize * options.CallExpression.arguments,
1364
- );
1365
- }
1366
- },
1367
- };
1368
- },
1369
- };