xo 0.53.0 → 0.54.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 (531) hide show
  1. package/config/plugins.cjs +27 -4
  2. package/index.js +6 -11
  3. package/lib/options-manager.js +11 -58
  4. package/node_modules/@eslint-community/eslint-utils/README.md +37 -0
  5. package/node_modules/{eslint-utils → @eslint-community/eslint-utils}/index.js +124 -12
  6. package/node_modules/@eslint-community/eslint-utils/index.js.map +1 -0
  7. package/node_modules/{eslint-utils → @eslint-community/eslint-utils}/index.mjs +124 -11
  8. package/node_modules/@eslint-community/eslint-utils/index.mjs.map +1 -0
  9. package/node_modules/@eslint-community/eslint-utils/package.json +73 -0
  10. package/node_modules/{regexpp → @eslint-community/regexpp}/README.md +9 -10
  11. package/node_modules/@eslint-community/regexpp/index.d.ts +781 -0
  12. package/node_modules/{regexpp → @eslint-community/regexpp}/index.js +297 -262
  13. package/node_modules/@eslint-community/regexpp/index.js.map +1 -0
  14. package/node_modules/{regexpp → @eslint-community/regexpp}/index.mjs +297 -262
  15. package/node_modules/@eslint-community/regexpp/index.mjs.map +1 -0
  16. package/node_modules/{regexpp → @eslint-community/regexpp}/package.json +60 -64
  17. package/node_modules/@typescript-eslint/eslint-plugin/LICENSE +1 -1
  18. package/node_modules/@typescript-eslint/eslint-plugin/README.md +6 -92
  19. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js +10 -2
  20. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map +1 -1
  21. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js +2 -1
  22. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map +1 -1
  23. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js +4 -2
  24. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map +1 -1
  25. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +1 -1
  26. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map +1 -1
  27. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +2 -1
  28. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map +1 -1
  29. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js +3 -3
  30. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map +1 -1
  31. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/block-spacing.js +158 -0
  32. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/block-spacing.js.map +1 -0
  33. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js +3 -1
  34. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/brace-style.js.map +1 -1
  35. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js +1 -1
  36. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map +1 -1
  37. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js +17 -7
  38. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map +1 -1
  39. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js +47 -0
  40. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map +1 -1
  41. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +5 -11
  42. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map +1 -1
  43. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js +22 -3
  44. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map +1 -1
  45. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +12 -0
  46. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map +1 -1
  47. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/key-spacing.js +351 -0
  48. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/key-spacing.js.map +1 -0
  49. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js +53 -2
  50. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/keyword-spacing.js.map +1 -1
  51. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-around-comment.js +384 -0
  52. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/lines-around-comment.js.map +1 -0
  53. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +205 -39
  54. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map +1 -1
  55. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js +14 -13
  56. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map +1 -1
  57. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js +5 -0
  58. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map +1 -1
  59. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js +6 -6
  60. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/validator.js.map +1 -1
  61. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +231 -198
  62. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map +1 -1
  63. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js +5 -0
  64. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map +1 -1
  65. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js +158 -0
  66. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-type-constituents.js.map +1 -0
  67. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js +19 -16
  68. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map +1 -1
  69. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js +2 -2
  70. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map +1 -1
  71. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js +45 -4
  72. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map +1 -1
  73. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js +1 -1
  74. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implied-eval.js.map +1 -1
  75. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js +79 -0
  76. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-import-type-side-effects.js.map +1 -0
  77. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js +1 -1
  78. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map +1 -1
  79. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js +1 -1
  80. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loss-of-precision.js.map +1 -1
  81. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +15 -15
  82. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map +1 -1
  83. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js +196 -0
  84. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-mixed-enums.js.map +1 -0
  85. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -1
  86. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +1 -1
  87. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js +3 -3
  88. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-redundant-type-constituents.js.map +1 -1
  89. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +6 -1
  90. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +1 -1
  91. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js +21 -31
  92. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map +1 -1
  93. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +22 -7
  94. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map +1 -1
  95. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js +4 -5
  96. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map +1 -1
  97. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js +9 -9
  98. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map +1 -1
  99. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +1 -2
  100. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map +1 -1
  101. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js +2 -2
  102. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map +1 -1
  103. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js +1 -0
  104. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js.map +1 -1
  105. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/padding-line-between-statements.js +1 -0
  106. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/padding-line-between-statements.js.map +1 -1
  107. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js +3 -5
  108. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map +1 -1
  109. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js +4 -5
  110. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map +1 -1
  111. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js +2 -2
  112. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-includes.js.map +1 -1
  113. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +19 -1
  114. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  115. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +47 -11
  116. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map +1 -1
  117. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js +2 -1
  118. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map +1 -1
  119. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js +1 -1
  120. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map +1 -1
  121. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +2 -2
  122. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
  123. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +3 -1
  124. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map +1 -1
  125. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js +1 -1
  126. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map +1 -1
  127. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js +7 -0
  128. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map +1 -1
  129. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js +5 -5
  130. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map +1 -1
  131. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js +5 -5
  132. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map +1 -1
  133. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-blocks.js +1 -2
  134. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-blocks.js.map +1 -1
  135. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js +2 -1
  136. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map +1 -1
  137. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js +46 -2
  138. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map +1 -1
  139. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js +1 -1
  140. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map +1 -1
  141. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js +1 -1
  142. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map +1 -1
  143. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +1 -1
  144. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map +1 -1
  145. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/collectUnusedVariables.js.map +1 -1
  146. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getESLintCoreRule.js.map +1 -1
  147. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js +20 -0
  148. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getStringLength.js.map +1 -0
  149. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js +2 -1
  150. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js.map +1 -1
  151. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +1 -0
  152. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map +1 -1
  153. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js +1 -1
  154. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map +1 -1
  155. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js +27 -1
  156. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map +1 -1
  157. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md +3 -3
  158. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.md +1 -1
  159. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +3 -8
  160. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md +12 -0
  161. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md +1 -1
  162. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.md +2 -0
  163. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +9 -1
  164. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +52 -0
  165. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md +12 -0
  166. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md +37 -0
  167. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.md +181 -20
  168. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +7 -6
  169. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-type-constituents.md +61 -0
  170. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.md +1 -1
  171. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-import-type-side-effects.md +75 -0
  172. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-mixed-enums.md +88 -0
  173. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.md +2 -2
  174. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +21 -0
  175. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +5 -0
  176. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.md +18 -1
  177. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.md +9 -0
  178. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +6 -0
  179. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.md +7 -10
  180. package/node_modules/@typescript-eslint/eslint-plugin/package.json +13 -9
  181. package/node_modules/@typescript-eslint/parser/LICENSE +5 -5
  182. package/node_modules/@typescript-eslint/parser/README.md +6 -300
  183. package/node_modules/@typescript-eslint/parser/_ts3.4/dist/index.d.ts +4 -0
  184. package/node_modules/@typescript-eslint/parser/dist/index.d.ts +4 -0
  185. package/node_modules/@typescript-eslint/parser/dist/index.d.ts.map +1 -1
  186. package/node_modules/@typescript-eslint/parser/dist/index.js +5 -1
  187. package/node_modules/@typescript-eslint/parser/dist/index.js.map +1 -1
  188. package/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +1 -1
  189. package/node_modules/@typescript-eslint/parser/dist/parser.js +15 -17
  190. package/node_modules/@typescript-eslint/parser/dist/parser.js.map +1 -1
  191. package/node_modules/@typescript-eslint/parser/package.json +6 -6
  192. package/node_modules/@typescript-eslint/scope-manager/LICENSE +1 -1
  193. package/node_modules/@typescript-eslint/scope-manager/README.md +5 -117
  194. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js +10 -10
  195. package/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js.map +1 -1
  196. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts +1 -1
  197. package/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts.map +1 -1
  198. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.d.ts +3 -0
  199. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.d.ts.map +1 -0
  200. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.js +21 -0
  201. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.js.map +1 -0
  202. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.d.ts +3 -0
  203. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.d.ts.map +1 -0
  204. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.js +15 -0
  205. package/node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.js.map +1 -0
  206. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
  207. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
  208. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +5 -0
  209. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
  210. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +44 -10
  211. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
  212. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.d.ts.map +1 -1
  213. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js +1 -1
  214. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js.map +1 -1
  215. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.d.ts.map +1 -1
  216. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts +3 -0
  217. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.d.ts.map +1 -0
  218. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js +12 -0
  219. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js.map +1 -0
  220. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js +2 -1
  221. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js.map +1 -1
  222. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.d.ts.map +1 -1
  223. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.js +2 -1
  224. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.js.map +1 -1
  225. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.d.ts +3 -0
  226. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.d.ts.map +1 -0
  227. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.js +15 -0
  228. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.js.map +1 -0
  229. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.d.ts +3 -0
  230. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.d.ts.map +1 -0
  231. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.js +24 -0
  232. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.js.map +1 -0
  233. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.d.ts +3 -0
  234. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.d.ts.map +1 -0
  235. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.d.ts +3 -0
  236. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.d.ts.map +1 -0
  237. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.js +14 -0
  238. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.js.map +1 -0
  239. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.js +11 -0
  240. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.js.map +1 -0
  241. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.d.ts.map +1 -1
  242. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js +3 -105
  243. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js.map +1 -1
  244. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js +2 -2
  245. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +7 -0
  246. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
  247. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +14 -0
  248. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
  249. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
  250. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.d.ts.map +1 -1
  251. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js +2 -0
  252. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js.map +1 -1
  253. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +43 -1
  254. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
  255. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +4 -2
  256. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  257. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +14 -6
  258. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  259. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts +1 -1
  260. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.d.ts.map +1 -1
  261. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js.map +1 -1
  262. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js.map +1 -1
  263. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts +2 -2
  264. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts.map +1 -1
  265. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js +10 -12
  266. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js.map +1 -1
  267. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +17 -17
  268. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +1 -1
  269. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +2 -1
  270. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  271. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +5 -2
  272. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  273. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map +1 -1
  274. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js.map +1 -1
  275. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js.map +1 -1
  276. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts +1 -1
  277. package/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts.map +1 -1
  278. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts +1 -1
  279. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts.map +1 -1
  280. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js.map +1 -1
  281. package/node_modules/@typescript-eslint/scope-manager/package.json +12 -12
  282. package/node_modules/@typescript-eslint/type-utils/LICENSE +1 -1
  283. package/node_modules/@typescript-eslint/type-utils/README.md +7 -10
  284. package/node_modules/@typescript-eslint/type-utils/_ts3.4/dist/containsAllTypesByName.d.ts +4 -2
  285. package/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts +4 -2
  286. package/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.d.ts.map +1 -1
  287. package/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js +12 -6
  288. package/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js.map +1 -1
  289. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map +1 -1
  290. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js +2 -4
  291. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map +1 -1
  292. package/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.d.ts.map +1 -1
  293. package/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js +1 -0
  294. package/node_modules/@typescript-eslint/type-utils/dist/typeFlagUtils.js.map +1 -1
  295. package/node_modules/@typescript-eslint/type-utils/package.json +6 -6
  296. package/node_modules/@typescript-eslint/types/LICENSE +1 -1
  297. package/node_modules/@typescript-eslint/types/README.md +6 -11
  298. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +90 -16
  299. package/node_modules/@typescript-eslint/types/_ts3.4/dist/lib.d.ts +1 -1
  300. package/node_modules/@typescript-eslint/types/_ts3.4/dist/parser-options.d.ts +9 -5
  301. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +90 -16
  302. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  303. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +3 -0
  304. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  305. package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
  306. package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
  307. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +9 -5
  308. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  309. package/node_modules/@typescript-eslint/types/package.json +6 -6
  310. package/node_modules/@typescript-eslint/typescript-estree/LICENSE +5 -5
  311. package/node_modules/@typescript-eslint/typescript-estree/README.md +6 -379
  312. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/clear-caches.d.ts +10 -0
  313. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/describeFilePath.d.ts +2 -0
  314. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/{createWatchProgram.d.ts → getWatchProgramsForProjects.d.ts} +3 -4
  315. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +8 -2
  316. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/index.d.ts +2 -2
  317. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/ExpiringCache.d.ts +17 -0
  318. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +1 -0
  319. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  320. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +8 -3
  321. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/resolveProjectList.d.ts +19 -0
  322. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +23 -4
  323. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser.d.ts +1 -1
  324. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/simple-traverse.d.ts +1 -1
  325. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  326. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +4 -2
  327. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/version-check.d.ts +1 -1
  328. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts +10 -0
  329. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts.map +1 -0
  330. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js +24 -0
  331. package/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js.map +1 -0
  332. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js +1 -1
  333. package/node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js.map +1 -1
  334. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  335. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +62 -16
  336. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  337. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.d.ts.map +1 -1
  338. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js +1 -0
  339. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map +1 -1
  340. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  341. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +7 -12
  342. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  343. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts +2 -0
  344. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.d.ts.map +1 -0
  345. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js +32 -0
  346. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js.map +1 -0
  347. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/{createWatchProgram.d.ts → getWatchProgramsForProjects.d.ts} +3 -4
  348. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +1 -0
  349. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/{createWatchProgram.js → getWatchProgramsForProjects.js} +16 -20
  350. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +1 -0
  351. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +8 -2
  352. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  353. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +15 -1
  354. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  355. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.d.ts.map +1 -1
  356. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js +3 -3
  357. package/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js.map +1 -1
  358. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +2 -2
  359. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
  360. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +2 -4
  361. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
  362. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map +1 -1
  363. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js +18 -5
  364. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map +1 -1
  365. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +17 -0
  366. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +1 -0
  367. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js +62 -0
  368. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js.map +1 -0
  369. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +1 -0
  370. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -1
  371. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +22 -48
  372. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -1
  373. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +12 -0
  374. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +1 -0
  375. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +70 -0
  376. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +1 -0
  377. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +8 -3
  378. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -1
  379. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +19 -0
  380. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +1 -0
  381. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js +103 -0
  382. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js.map +1 -0
  383. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +4 -4
  384. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map +1 -1
  385. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +23 -4
  386. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  387. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts +1 -1
  388. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
  389. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js +1 -1
  390. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map +1 -1
  391. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts +1 -1
  392. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts.map +1 -1
  393. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js +1 -1
  394. package/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js.map +1 -1
  395. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +4 -1
  396. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  397. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +4 -2
  398. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  399. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts +1 -1
  400. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts.map +1 -1
  401. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.js +2 -0
  402. package/node_modules/@typescript-eslint/typescript-estree/dist/version-check.js.map +1 -1
  403. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -6
  404. package/node_modules/@typescript-eslint/utils/LICENSE +1 -1
  405. package/node_modules/@typescript-eslint/utils/README.md +6 -23
  406. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/eslint-utils/PatternMatcher.d.ts +4 -4
  407. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts +4 -4
  408. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/eslint-utils/astUtilities.d.ts +6 -6
  409. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/eslint-utils/predicates.d.ts +5 -5
  410. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts +2 -2
  411. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/helpers.d.ts +60 -6
  412. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ast-utils/predicates.d.ts +13 -1
  413. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/InferTypesFromRule.d.ts +2 -2
  414. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/RuleCreator.d.ts +2 -2
  415. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/deepMerge.d.ts +1 -1
  416. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/rule-tester/RuleTester.d.ts +3 -3
  417. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts +2 -2
  418. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint/Rule.d.ts +6 -6
  419. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts +1 -1
  420. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint/SourceCode.d.ts +5 -1
  421. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint-scope/Options.d.ts +1 -1
  422. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint-scope/Reference.d.ts +1 -1
  423. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint-scope/Scope.d.ts +1 -1
  424. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts +4 -4
  425. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js +2 -2
  426. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.js.map +1 -1
  427. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts +4 -4
  428. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js +2 -2
  429. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.js.map +1 -1
  430. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts +6 -6
  431. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js +7 -7
  432. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.js.map +1 -1
  433. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts +5 -5
  434. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts.map +1 -1
  435. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js +1 -1
  436. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.js.map +1 -1
  437. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts +2 -2
  438. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js +3 -3
  439. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.js.map +1 -1
  440. package/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts +60 -6
  441. package/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map +1 -1
  442. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts +13 -1
  443. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map +1 -1
  444. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js +15 -1
  445. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.js.map +1 -1
  446. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts +2 -2
  447. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts.map +1 -1
  448. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts +2 -2
  449. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map +1 -1
  450. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js +1 -1
  451. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map +1 -1
  452. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts +1 -1
  453. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts.map +1 -1
  454. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js +1 -1
  455. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.js.map +1 -1
  456. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.d.ts +3 -3
  457. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.d.ts.map +1 -1
  458. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.js +40 -27
  459. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.js.map +1 -1
  460. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts +2 -2
  461. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts.map +1 -1
  462. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +6 -6
  463. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map +1 -1
  464. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts +1 -1
  465. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map +1 -1
  466. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts +5 -1
  467. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map +1 -1
  468. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.js.map +1 -1
  469. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Options.d.ts +1 -1
  470. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Options.d.ts.map +1 -1
  471. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts +1 -1
  472. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts.map +1 -1
  473. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Scope.d.ts +1 -1
  474. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Scope.d.ts.map +1 -1
  475. package/node_modules/@typescript-eslint/utils/package.json +8 -8
  476. package/node_modules/@typescript-eslint/visitor-keys/LICENSE +1 -1
  477. package/node_modules/@typescript-eslint/visitor-keys/README.md +6 -9
  478. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  479. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +63 -48
  480. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  481. package/node_modules/@typescript-eslint/visitor-keys/package.json +4 -4
  482. package/node_modules/eslint-config-xo-typescript/index.js +8 -11
  483. package/node_modules/eslint-config-xo-typescript/package.json +5 -5
  484. package/node_modules/eslint-visitor-keys/README.md +1 -2
  485. package/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +38 -36
  486. package/node_modules/eslint-visitor-keys/lib/visitor-keys.js +38 -35
  487. package/node_modules/eslint-visitor-keys/package.json +16 -6
  488. package/node_modules/fastq/README.md +1 -1
  489. package/node_modules/fastq/index.d.ts +1 -1
  490. package/node_modules/fastq/package.json +1 -1
  491. package/node_modules/fastq/queue.js +6 -0
  492. package/node_modules/fastq/test/promise.js +27 -0
  493. package/node_modules/grapheme-splitter/LICENSE +22 -0
  494. package/node_modules/grapheme-splitter/README.md +111 -0
  495. package/node_modules/grapheme-splitter/index.d.ts +24 -0
  496. package/node_modules/grapheme-splitter/index.js +1743 -0
  497. package/node_modules/grapheme-splitter/package.json +34 -0
  498. package/node_modules/grapheme-splitter/tests/GraphemeBreakTest.txt +850 -0
  499. package/node_modules/grapheme-splitter/tests/grapheme_splitter_tests.js +83 -0
  500. package/node_modules/ignore/README.md +3 -3
  501. package/node_modules/ignore/index.js +24 -9
  502. package/node_modules/ignore/legacy.js +176 -135
  503. package/node_modules/ignore/package.json +13 -11
  504. package/package.json +19 -19
  505. package/readme.md +1 -2
  506. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +0 -1
  507. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +0 -1
  508. package/node_modules/braces/CHANGELOG.md +0 -184
  509. package/node_modules/eslint-scope/CHANGELOG.md +0 -70
  510. package/node_modules/eslint-utils/README.md +0 -38
  511. package/node_modules/eslint-utils/index.js.map +0 -1
  512. package/node_modules/eslint-utils/index.mjs.map +0 -1
  513. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/CHANGELOG.md +0 -36
  514. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/LICENSE +0 -201
  515. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/README.md +0 -98
  516. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/index.js +0 -81
  517. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/lib/visitor-keys.json +0 -289
  518. package/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json +0 -39
  519. package/node_modules/eslint-utils/package.json +0 -78
  520. package/node_modules/glob-parent/CHANGELOG.md +0 -110
  521. package/node_modules/picomatch/CHANGELOG.md +0 -136
  522. package/node_modules/regexpp/index.d.ts +0 -248
  523. package/node_modules/regexpp/index.js.map +0 -1
  524. package/node_modules/regexpp/index.mjs.map +0 -1
  525. /package/node_modules/{eslint-utils → @eslint-community/eslint-utils}/LICENSE +0 -0
  526. /package/node_modules/{regexpp → @eslint-community/regexpp}/LICENSE +0 -0
  527. /package/node_modules/{yallist → semver/node_modules/yallist}/LICENSE +0 -0
  528. /package/node_modules/{yallist → semver/node_modules/yallist}/README.md +0 -0
  529. /package/node_modules/{yallist → semver/node_modules/yallist}/iterator.js +0 -0
  530. /package/node_modules/{yallist → semver/node_modules/yallist}/package.json +0 -0
  531. /package/node_modules/{yallist → semver/node_modules/yallist}/yallist.js +0 -0
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: 'Enforce consistent spacing between property names and type annotations in types and interfaces.'
3
+ ---
4
+
5
+ > 🛑 This file is source code, not the primary documentation location! 🛑
6
+ >
7
+ > See **https://typescript-eslint.io/rules/key-spacing** for documentation.
8
+
9
+ ## Examples
10
+
11
+ This rule extends the base [`eslint/key-spacing`](https://eslint.org/docs/rules/key-spacing) rule.
12
+ This version adds support for type annotations on interfaces, classes and type literals properties.
@@ -0,0 +1,37 @@
1
+ ---
2
+ description: 'Require empty lines around comments.'
3
+ ---
4
+
5
+ > 🛑 This file is source code, not the primary documentation location! 🛑
6
+ >
7
+ > See **https://typescript-eslint.io/rules/lines-around-comment** for documentation.
8
+
9
+ ## Rule Details
10
+
11
+ This rule extends the base [`eslint/lines-around-comment`](https://eslint.org/docs/rules/lines-around-comment) rule.
12
+ It adds support for TypeScript syntax.
13
+
14
+ See the [ESLint documentation](https://eslint.org/docs/rules/lines-around-comment) for more details on the `comma-dangle` rule.
15
+
16
+ ## Rule Changes
17
+
18
+ ```jsonc
19
+ {
20
+ // note you must disable the base rule as it can report incorrect errors
21
+ "lines-around-comment": "off",
22
+ "@typescript-eslint/lines-around-comment": ["error"]
23
+ }
24
+ ```
25
+
26
+ ## Options
27
+
28
+ In addition to the options supported by the `lines-around-comment` rule in ESLint core, the rule adds the following options:
29
+
30
+ - `allowEnumEnd: true` doesn't require a blank line after an enum body block end
31
+ - `allowEnumStart: true` doesn't require a blank line before an enum body block start
32
+ - `allowInterfaceEnd: true` doesn't require a blank line before an interface body block end
33
+ - `allowInterfaceStart: true` doesn't require a blank line after an interface body block start
34
+ - `allowModuleEnd: true` doesn't require a blank line before a module body block end
35
+ - `allowModuleStart: true` doesn't require a blank line after a module body block start
36
+ - `allowTypeEnd: true` doesn't require a blank line before a type literal block end
37
+ - `allowTypeStart: true` doesn't require a blank line after a type literal block start
@@ -24,6 +24,7 @@ type OrderConfig = MemberType[] | SortedOrderConfig | 'never';
24
24
 
25
25
  interface SortedOrderConfig {
26
26
  memberTypes?: MemberType[] | 'never';
27
+ optionalityOrder?: 'optional-first' | 'required-first';
27
28
  order:
28
29
  | 'alphabetically'
29
30
  | 'alphabetically-case-insensitive'
@@ -44,9 +45,10 @@ You can configure `OrderConfig` options for:
44
45
  - **`interfaces`**?: override ordering specifically for interfaces
45
46
  - **`typeLiterals`**?: override ordering specifically for type literals
46
47
 
47
- The `OrderConfig` settings for each kind of construct may configure sorting on one or both two levels:
48
+ The `OrderConfig` settings for each kind of construct may configure sorting on up to three levels:
48
49
 
49
50
  - **`memberTypes`**: organizing on member type groups such as methods vs. properties
51
+ - **`optionalityOrder`**: whether to put all optional members first or all required members first
50
52
  - **`order`**: organizing based on member names, such as alphabetically
51
53
 
52
54
  ### Groups
@@ -54,9 +56,9 @@ The `OrderConfig` settings for each kind of construct may configure sorting on o
54
56
  You can define many different groups based on different attributes of members.
55
57
  The supported member attributes are, in order:
56
58
 
57
- - **Accessibility** (`'public' | 'protected' | 'private'`)
59
+ - **Accessibility** (`'public' | 'protected' | 'private' | '#private'`)
58
60
  - **Decoration** (`'decorated'`): Whether the member has an explicit accessibility decorator
59
- - **Kind** (`'call-signature' | 'constructor' | 'field' | 'get' | 'method' | 'set' | 'signature'`)
61
+ - **Kind** (`'call-signature' | 'constructor' | 'field' | 'readonly-field' | 'get' | 'method' | 'set' | 'signature' | 'readonly-signature'`)
60
62
 
61
63
  Member attributes may be joined with a `'-'` to combine into more specific groups.
62
64
  For example, `'public-field'` would come before `'private-field'`.
@@ -81,11 +83,13 @@ The default configuration looks as follows:
81
83
  "default": [
82
84
  // Index signature
83
85
  "signature",
86
+ "call-signature",
84
87
 
85
88
  // Fields
86
89
  "public-static-field",
87
90
  "protected-static-field",
88
91
  "private-static-field",
92
+ "#private-static-field",
89
93
 
90
94
  "public-decorated-field",
91
95
  "protected-decorated-field",
@@ -94,14 +98,15 @@ The default configuration looks as follows:
94
98
  "public-instance-field",
95
99
  "protected-instance-field",
96
100
  "private-instance-field",
101
+ "#private-instance-field",
97
102
 
98
103
  "public-abstract-field",
99
104
  "protected-abstract-field",
100
- "private-abstract-field",
101
105
 
102
106
  "public-field",
103
107
  "protected-field",
104
108
  "private-field",
109
+ "#private-field",
105
110
 
106
111
  "static-field",
107
112
  "instance-field",
@@ -125,6 +130,7 @@ The default configuration looks as follows:
125
130
  "public-static-get",
126
131
  "protected-static-get",
127
132
  "private-static-get",
133
+ "#private-static-get",
128
134
 
129
135
  "public-decorated-get",
130
136
  "protected-decorated-get",
@@ -133,14 +139,15 @@ The default configuration looks as follows:
133
139
  "public-instance-get",
134
140
  "protected-instance-get",
135
141
  "private-instance-get",
142
+ "#private-instance-get",
136
143
 
137
144
  "public-abstract-get",
138
145
  "protected-abstract-get",
139
- "private-abstract-get",
140
146
 
141
147
  "public-get",
142
148
  "protected-get",
143
149
  "private-get",
150
+ "#private-get",
144
151
 
145
152
  "static-get",
146
153
  "instance-get",
@@ -154,6 +161,7 @@ The default configuration looks as follows:
154
161
  "public-static-set",
155
162
  "protected-static-set",
156
163
  "private-static-set",
164
+ "#private-static-set",
157
165
 
158
166
  "public-decorated-set",
159
167
  "protected-decorated-set",
@@ -162,14 +170,15 @@ The default configuration looks as follows:
162
170
  "public-instance-set",
163
171
  "protected-instance-set",
164
172
  "private-instance-set",
173
+ "#private-instance-set",
165
174
 
166
175
  "public-abstract-set",
167
176
  "protected-abstract-set",
168
- "private-abstract-set",
169
177
 
170
178
  "public-set",
171
179
  "protected-set",
172
180
  "private-set",
181
+ "#private-set",
173
182
 
174
183
  "static-set",
175
184
  "instance-set",
@@ -183,6 +192,7 @@ The default configuration looks as follows:
183
192
  "public-static-method",
184
193
  "protected-static-method",
185
194
  "private-static-method",
195
+ "#private-static-method",
186
196
 
187
197
  "public-decorated-method",
188
198
  "protected-decorated-method",
@@ -191,14 +201,15 @@ The default configuration looks as follows:
191
201
  "public-instance-method",
192
202
  "protected-instance-method",
193
203
  "private-instance-method",
204
+ "#private-instance-method",
194
205
 
195
206
  "public-abstract-method",
196
207
  "protected-abstract-method",
197
- "private-abstract-method",
198
208
 
199
209
  "public-method",
200
210
  "protected-method",
201
211
  "private-method",
212
+ "#private-method",
202
213
 
203
214
  "static-method",
204
215
  "instance-method",
@@ -902,6 +913,96 @@ interface Foo {
902
913
  }
903
914
  ```
904
915
 
916
+ #### Sorting Optional Members First or Last
917
+
918
+ The `optionalityOrder` option may be enabled to place all optional members in a group at the beginning or end of that group.
919
+
920
+ This config places all optional members before all required members:
921
+
922
+ ```jsonc
923
+ // .eslintrc.json
924
+ {
925
+ "rules": {
926
+ "@typescript-eslint/member-ordering": [
927
+ "error",
928
+ {
929
+ "default": {
930
+ "optionalityOrder": "optional-first",
931
+ "order": "alphabetically"
932
+ }
933
+ }
934
+ ]
935
+ }
936
+ }
937
+ ```
938
+
939
+ <!--tabs-->
940
+
941
+ ##### ❌ Incorrect
942
+
943
+ ```ts
944
+ interface Foo {
945
+ a: boolean;
946
+ b?: number;
947
+ c: string;
948
+ }
949
+ ```
950
+
951
+ ##### ✅ Correct
952
+
953
+ ```ts
954
+ interface Foo {
955
+ b?: number;
956
+ a: boolean;
957
+ c: string;
958
+ }
959
+ ```
960
+
961
+ <!--/tabs-->
962
+
963
+ This config places all required members before all optional members:
964
+
965
+ ```jsonc
966
+ // .eslintrc.json
967
+ {
968
+ "rules": {
969
+ "@typescript-eslint/member-ordering": [
970
+ "error",
971
+ {
972
+ "default": {
973
+ "optionalityOrder": "required-first",
974
+ "order": "alphabetically"
975
+ }
976
+ }
977
+ ]
978
+ }
979
+ }
980
+ ```
981
+
982
+ <!--tabs-->
983
+
984
+ ##### ❌ Incorrect
985
+
986
+ ```ts
987
+ interface Foo {
988
+ a: boolean;
989
+ b?: number;
990
+ c: string;
991
+ }
992
+ ```
993
+
994
+ ##### ✅ Correct
995
+
996
+ ```ts
997
+ interface Foo {
998
+ a: boolean;
999
+ c: string;
1000
+ b?: number;
1001
+ }
1002
+ ```
1003
+
1004
+ <!--/tabs-->
1005
+
905
1006
  ## All Supported Options
906
1007
 
907
1008
  ### Member Types (Granular Form)
@@ -913,20 +1014,60 @@ The most explicit and granular form is the following:
913
1014
  [
914
1015
  // Index signature
915
1016
  "signature",
1017
+ "readonly-signature",
916
1018
 
917
1019
  // Fields
918
1020
  "public-static-field",
1021
+ "public-static-readonly-field",
919
1022
  "protected-static-field",
1023
+ "protected-static-readonly-field",
920
1024
  "private-static-field",
1025
+ "private-static-readonly-field",
1026
+ "#private-static-field",
1027
+ "#private-static-readonly-field",
1028
+
921
1029
  "public-decorated-field",
1030
+ "public-decorated-readonly-field",
922
1031
  "protected-decorated-field",
1032
+ "protected-decorated-readonly-field",
923
1033
  "private-decorated-field",
1034
+ "private-decorated-readonly-field",
1035
+
924
1036
  "public-instance-field",
1037
+ "public-instance-readonly-field",
925
1038
  "protected-instance-field",
1039
+ "protected-instance-readonly-field",
926
1040
  "private-instance-field",
1041
+ "private-instance-readonly-field",
1042
+ "#private-instance-field",
1043
+ "#private-instance-readonly-field",
1044
+
927
1045
  "public-abstract-field",
1046
+ "public-abstract-readonly-field",
928
1047
  "protected-abstract-field",
929
- "private-abstract-field",
1048
+ "protected-abstract-readonly-field",
1049
+
1050
+ "public-field",
1051
+ "public-readonly-field",
1052
+ "protected-field",
1053
+ "protected-readonly-field",
1054
+ "private-field",
1055
+ "private-readonly-field"
1056
+ "#private-field",
1057
+ "#private-readonly-field"
1058
+
1059
+ "static-field",
1060
+ "static-readonly-field",
1061
+ "instance-field",
1062
+ "instance-readonly-field"
1063
+ "abstract-field",
1064
+ "abstract-readonly-field",
1065
+
1066
+ "decorated-field",
1067
+ "decorated-readonly-field",
1068
+
1069
+ "field",
1070
+ "readonly-field",
930
1071
 
931
1072
  // Static initialization
932
1073
  "static-initialization",
@@ -940,6 +1081,7 @@ The most explicit and granular form is the following:
940
1081
  "public-static-get",
941
1082
  "protected-static-get",
942
1083
  "private-static-get",
1084
+ "#private-static-get",
943
1085
 
944
1086
  "public-decorated-get",
945
1087
  "protected-decorated-get",
@@ -948,14 +1090,15 @@ The most explicit and granular form is the following:
948
1090
  "public-instance-get",
949
1091
  "protected-instance-get",
950
1092
  "private-instance-get",
1093
+ "#private-instance-get",
951
1094
 
952
1095
  "public-abstract-get",
953
1096
  "protected-abstract-get",
954
- "private-abstract-get",
955
1097
 
956
1098
  "public-get",
957
1099
  "protected-get",
958
1100
  "private-get",
1101
+ "#private-get",
959
1102
 
960
1103
  "static-get",
961
1104
  "instance-get",
@@ -969,6 +1112,7 @@ The most explicit and granular form is the following:
969
1112
  "public-static-set",
970
1113
  "protected-static-set",
971
1114
  "private-static-set",
1115
+ "#private-static-set",
972
1116
 
973
1117
  "public-decorated-set",
974
1118
  "protected-decorated-set",
@@ -977,10 +1121,10 @@ The most explicit and granular form is the following:
977
1121
  "public-instance-set",
978
1122
  "protected-instance-set",
979
1123
  "private-instance-set",
1124
+ "#private-instance-set",
980
1125
 
981
1126
  "public-abstract-set",
982
1127
  "protected-abstract-set",
983
- "private-abstract-set",
984
1128
 
985
1129
  "public-set",
986
1130
  "protected-set",
@@ -998,15 +1142,16 @@ The most explicit and granular form is the following:
998
1142
  "public-static-method",
999
1143
  "protected-static-method",
1000
1144
  "private-static-method",
1145
+ "#private-static-method",
1001
1146
  "public-decorated-method",
1002
1147
  "protected-decorated-method",
1003
1148
  "private-decorated-method",
1004
1149
  "public-instance-method",
1005
1150
  "protected-instance-method",
1006
1151
  "private-instance-method",
1152
+ "#private-instance-method",
1007
1153
  "public-abstract-method",
1008
- "protected-abstract-method",
1009
- "private-abstract-method"
1154
+ "protected-abstract-method"
1010
1155
  ]
1011
1156
  ```
1012
1157
 
@@ -1110,7 +1255,7 @@ Another option is to group the member types by their scope (`public`, `protected
1110
1255
  // Fields
1111
1256
  "static-field", // = ["public-static-field", "protected-static-field", "private-static-field"]
1112
1257
  "instance-field", // = ["public-instance-field", "protected-instance-field", "private-instance-field"]
1113
- "abstract-field", // = ["public-abstract-field", "protected-abstract-field", "private-abstract-field"]
1258
+ "abstract-field", // = ["public-abstract-field", "protected-abstract-field"]
1114
1259
 
1115
1260
  // Static initialization
1116
1261
  // No scope for static initialization.
@@ -1121,17 +1266,17 @@ Another option is to group the member types by their scope (`public`, `protected
1121
1266
  // Getters
1122
1267
  "static-get", // = ["public-static-get", "protected-static-get", "private-static-get"]
1123
1268
  "instance-get", // = ["public-instance-get", "protected-instance-get", "private-instance-get"]
1124
- "abstract-get", // = ["public-abstract-get", "protected-abstract-get", "private-abstract-get"]
1269
+ "abstract-get", // = ["public-abstract-get", "protected-abstract-get"]
1125
1270
 
1126
1271
  // Setters
1127
1272
  "static-set", // = ["public-static-set", "protected-static-set", "private-static-set"]
1128
1273
  "instance-set", // = ["public-instance-set", "protected-instance-set", "private-instance-set"]
1129
- "abstract-set", // = ["public-abstract-set", "protected-abstract-set", "private-abstract-set"]
1274
+ "abstract-set", // = ["public-abstract-set", "protected-abstract-set"]
1130
1275
 
1131
1276
  // Methods
1132
1277
  "static-method", // = ["public-static-method", "protected-static-method", "private-static-method"]
1133
1278
  "instance-method", // = ["public-instance-method", "protected-instance-method", "private-instance-method"]
1134
- "abstract-method" // = ["public-abstract-method", "protected-abstract-method", "private-abstract-method"]
1279
+ "abstract-method" // = ["public-abstract-method", "protected-abstract-method"]
1135
1280
  ]
1136
1281
  ```
1137
1282
 
@@ -1146,7 +1291,7 @@ The third grouping option is to ignore both scope and accessibility.
1146
1291
 
1147
1292
  // Fields
1148
1293
  "field", // = ["public-static-field", "protected-static-field", "private-static-field", "public-instance-field", "protected-instance-field", "private-instance-field",
1149
- // "public-abstract-field", "protected-abstract-field", private-abstract-field"]
1294
+ // "public-abstract-field", "protected-abstract-field"]
1150
1295
 
1151
1296
  // Static initialization
1152
1297
  // No grouping for static initialization.
@@ -1156,15 +1301,31 @@ The third grouping option is to ignore both scope and accessibility.
1156
1301
 
1157
1302
  // Getters
1158
1303
  "get", // = ["public-static-get", "protected-static-get", "private-static-get", "public-instance-get", "protected-instance-get", "private-instance-get",
1159
- // "public-abstract-get", "protected-abstract-get", "private-abstract-get"]
1304
+ // "public-abstract-get", "protected-abstract-get"]
1160
1305
 
1161
1306
  // Setters
1162
1307
  "set", // = ["public-static-set", "protected-static-set", "private-static-set", "public-instance-set", "protected-instance-set", "private-instance-set",
1163
- // "public-abstract-set", "protected-abstract-set", "private-abstract-set"]
1308
+ // "public-abstract-set", "protected-abstract-set"]
1164
1309
 
1165
1310
  // Methods
1166
1311
  "method" // = ["public-static-method", "protected-static-method", "private-static-method", "public-instance-method", "protected-instance-method", "private-instance-method",
1167
- // "public-abstract-method", "protected-abstract-method", "private-abstract-method"]
1312
+ // "public-abstract-method", "protected-abstract-method"]
1313
+ ]
1314
+ ```
1315
+
1316
+ ### Member Group Types (Readonly Fields)
1317
+
1318
+ It is possible to group fields by their `readonly` modifiers.
1319
+
1320
+ ```jsonc
1321
+ [
1322
+ // Index signature
1323
+ "readonly-signature",
1324
+ "signature",
1325
+
1326
+ // Fields
1327
+ "readonly-field", // = ["public-static-readonly-field", "protected-static-readonly-field", "private-static-readonly-field", "public-instance-readonly-field", "protected-instance-readonly-field", "private-instance-readonly-field", "public-abstract-readonly-field", "protected-abstract-readonly-field"]
1328
+ "field" // = ["public-static-field", "protected-static-field", "private-static-field", "public-instance-field", "protected-instance-field", "private-instance-field", "public-abstract-field", "protected-abstract-field"]
1168
1329
  ]
1169
1330
  ```
1170
1331
 
@@ -159,7 +159,7 @@ If these are provided, the identifier must start with one of the provided values
159
159
  - Accepts one or array of selectors to define an option block that applies to one or multiple selectors.
160
160
  - For example, if you provide `{ selector: ['function', 'variable'] }`, then it will apply the same option to variable and function nodes.
161
161
  - See [Allowed Selectors, Modifiers and Types](#allowed-selectors-modifiers-and-types) below for the complete list of allowed selectors.
162
- - `modifiers` allows you to specify which modifiers to granularly apply to, such as the accessibility (`private`/`protected`/`public`), or if the thing is `static`, etc.
162
+ - `modifiers` allows you to specify which modifiers to granularly apply to, such as the accessibility (`#private`/`private`/`protected`/`public`), or if the thing is `static`, etc.
163
163
  - The name must match _all_ of the modifiers.
164
164
  - For example, if you provide `{ modifiers: ['private','readonly','static'] }`, then it will only match something that is `private static readonly`, and something that is just `private` will not match.
165
165
  - The following `modifiers` are allowed:
@@ -172,6 +172,7 @@ If these are provided, the identifier must start with one of the provided values
172
172
  - `requiresQuotes` - matches any name that requires quotes as it is not a valid identifier (i.e. has a space, a dash, etc in it).
173
173
  - `public` - matches any member that is either explicitly declared as `public`, or has no visibility modifier (i.e. implicitly public).
174
174
  - `abstract`,`override`,`private`,`protected`,`readonly`,`static` - matches any member explicitly declared with the given modifier.
175
+ - `#private` - matches any member with a private identifier (an identifier that starts with `#`)
175
176
  - `async` - matches any method, function, or function variable which is async via the `async` keyword (e.g. does not match functions that return promises without using `async` keyword)
176
177
  - `types` allows you to specify which types to match. This option supports simple, primitive types only (`array`,`boolean`,`function`,`number`,`string`).
177
178
  - The name must match _one_ of the types.
@@ -204,7 +205,7 @@ Individual Selectors match specific, well-defined sets. There is no overlap betw
204
205
  - Allowed `modifiers`: `destructured`, `unused`.
205
206
  - Allowed `types`: `boolean`, `string`, `number`, `function`, `array`.
206
207
  - `classProperty` - matches any class property. Does not match properties that have direct function expression or arrow function expression values.
207
- - Allowed `modifiers`: `abstract`, `override`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
208
+ - Allowed `modifiers`: `abstract`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
208
209
  - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`.
209
210
  - `objectLiteralProperty` - matches any object literal property. Does not match properties that have direct function expression or arrow function expression values.
210
211
  - Allowed `modifiers`: `public`, `requiresQuotes`.
@@ -216,7 +217,7 @@ Individual Selectors match specific, well-defined sets. There is no overlap betw
216
217
  - Allowed `modifiers`: `private`, `protected`, `public`, `readonly`.
217
218
  - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`.
218
219
  - `classMethod` - matches any class method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors.
219
- - Allowed `modifiers`: `abstract`, `async`, `override`, `private`, `protected`, `public`, `requiresQuotes`, `static`.
220
+ - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `requiresQuotes`, `static`.
220
221
  - Allowed `types`: none.
221
222
  - `objectLiteralMethod` - matches any object literal method. Also matches properties that have direct function expression or arrow function expression values. Does not match accessors.
222
223
  - Allowed `modifiers`: `async`, `public`, `requiresQuotes`.
@@ -257,16 +258,16 @@ Group Selectors are provided for convenience, and essentially bundle up sets of
257
258
  - Allowed `modifiers`: `async`, `unused`.
258
259
  - Allowed `types`: none.
259
260
  - `memberLike` - matches the same as `accessor`, `enumMember`, `method`, `parameterProperty`, `property`.
260
- - Allowed `modifiers`: `abstract`, `async`, `override`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
261
+ - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
261
262
  - Allowed `types`: none.
262
263
  - `typeLike` - matches the same as `class`, `enum`, `interface`, `typeAlias`, `typeParameter`.
263
264
  - Allowed `modifiers`: `abstract`, `unused`.
264
265
  - Allowed `types`: none.
265
266
  - `property` - matches the same as `classProperty`, `objectLiteralProperty`, `typeProperty`.
266
- - Allowed `modifiers`: `abstract`, `async`, `override`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
267
+ - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
267
268
  - Allowed `types`: `array`, `boolean`, `function`, `number`, `string`.
268
269
  - `method` - matches the same as `classMethod`, `objectLiteralMethod`, `typeMethod`.
269
- - Allowed `modifiers`: `abstract`, `async`, `override`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
270
+ - Allowed `modifiers`: `abstract`, `async`, `override`, `#private`, `private`, `protected`, `public`, `readonly`, `requiresQuotes`, `static`.
270
271
  - Allowed `types`: none.
271
272
 
272
273
  ## FAQ
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: 'Disallow duplicate constituents of union or intersection types.'
3
+ ---
4
+
5
+ > 🛑 This file is source code, not the primary documentation location! 🛑
6
+ >
7
+ > See **https://typescript-eslint.io/rules/no-duplicate-type-constituents** for documentation.
8
+
9
+ TypeScript supports types ("constituents") within union and intersection types being duplicates of each other.
10
+ However, developers typically expect each constituent to be unique within its intersection or union.
11
+ Duplicate values make the code overly verbose and generally reduce readability.
12
+
13
+ ## Rule Details
14
+
15
+ This rule disallows duplicate union or intersection constituents.
16
+ We consider types to be duplicate if they evaluate to the same result in the type system.
17
+ For example, given `type A = string` and `type T = string | A`, this rule would flag that `A` is the same type as `string`.
18
+
19
+ <!--tabs-->
20
+
21
+ ### ❌ Incorrect
22
+
23
+ ```ts
24
+ type T1 = 'A' | 'A';
25
+
26
+ type T2 = A | A | B;
27
+
28
+ type T3 = { a: string } & { a: string };
29
+
30
+ type T4 = [1, 2, 3] | [1, 2, 3];
31
+
32
+ type StringA = string;
33
+ type StringB = string;
34
+ type T5 = StringA | StringB;
35
+ ```
36
+
37
+ ### ✅ Correct
38
+
39
+ ```ts
40
+ type T1 = 'A' | 'B';
41
+
42
+ type T2 = A | B | C;
43
+
44
+ type T3 = { a: string } & { b: string };
45
+
46
+ type T4 = [1, 2, 3] | [1, 2, 3, 4];
47
+
48
+ type StringA = string;
49
+ type NumberB = number;
50
+ type T5 = StringA | NumberB;
51
+ ```
52
+
53
+ ## Options
54
+
55
+ ### `ignoreIntersections`
56
+
57
+ When set to true, duplicate checks on intersection type constituents are ignored.
58
+
59
+ ### `ignoreUnions`
60
+
61
+ When set to true, duplicate checks on union type constituents are ignored.
@@ -42,7 +42,7 @@ interface Bar {
42
42
  }
43
43
 
44
44
  // an interface with more than one supertype
45
- // in this case the interface can be used as a replacement of a union type.
45
+ // in this case the interface can be used as a replacement of an intersection type.
46
46
  interface Baz extends Foo, Bar {}
47
47
  ```
48
48
 
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: 'Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers.'
3
+ ---
4
+
5
+ > 🛑 This file is source code, not the primary documentation location! 🛑
6
+ >
7
+ > See **https://typescript-eslint.io/rules/no-import-type-side-effects** for documentation.
8
+
9
+ The [`--verbatimModuleSyntax`](https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax) compiler option causes TypeScript to do simple and predictable transpilation on import declarations.
10
+ Namely, it completely removes import declarations with a top-level `type` qualifier, and it removes any import specifiers with an inline `type` qualifier.
11
+
12
+ The latter behavior does have one potentially surprising effect in that in certain cases TS can leave behind a "side effect" import at runtime:
13
+
14
+ ```ts
15
+ import { type A, type B } from 'mod';
16
+
17
+ // is transpiled to
18
+
19
+ import {} from 'mod';
20
+ // which is the same as
21
+ import 'mod';
22
+ ```
23
+
24
+ For the rare case of needing to import for side effects, this may be desirable - but for most cases you will not want to leave behind an unnecessary side effect import.
25
+
26
+ ## Examples
27
+
28
+ This rule enforces that you use a top-level `type` qualifier for imports when it only imports specifiers with an inline `type` qualifier
29
+
30
+ <!--tabs-->
31
+
32
+ ### ❌ Incorrect
33
+
34
+ ```ts
35
+ import { type A } from 'mod';
36
+ import { type A as AA } from 'mod';
37
+ import { type A, type B } from 'mod';
38
+ import { type A as AA, type B as BB } from 'mod';
39
+ ```
40
+
41
+ ### ✅ Correct
42
+
43
+ ```ts
44
+ import type { A } from 'mod';
45
+ import type { A as AA } from 'mod';
46
+ import type { A, B } from 'mod';
47
+ import type { A as AA, B as BB } from 'mod';
48
+
49
+ import T from 'mod';
50
+ import type T from 'mod';
51
+
52
+ import * as T from 'mod';
53
+ import type * as T from 'mod';
54
+
55
+ import { T } from 'mod';
56
+ import type { T } from 'mod';
57
+ import { T, U } from 'mod';
58
+ import type { T, U } from 'mod';
59
+ import { type T, U } from 'mod';
60
+ import { T, type U } from 'mod';
61
+
62
+ import type T, { U } from 'mod';
63
+ import T, { type U } from 'mod';
64
+ ```
65
+
66
+ ## When Not To Use It
67
+
68
+ - If you want to leave behind side effect imports, then you shouldn't use this rule.
69
+ - If you're not using TypeScript 5.0's `verbatimModuleSyntax` option, then you don't need this rule.
70
+
71
+ ## Related To
72
+
73
+ - [`consistent-type-imports`](./consistent-type-imports.md)
74
+ - [`import/consistent-type-specifier-style`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/consistent-type-specifier-style.md)
75
+ - [`import/no-duplicates` with `{"prefer-inline": true}`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-duplicates.md#inline-type-imports)