xo 0.52.4 → 0.53.1

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 (355) hide show
  1. package/cli.js +1 -0
  2. package/index.js +6 -11
  3. package/node_modules/@types/semver/LICENSE +21 -0
  4. package/node_modules/@types/semver/README.md +16 -0
  5. package/node_modules/@types/semver/classes/comparator.d.ts +17 -0
  6. package/node_modules/@types/semver/classes/range.d.ts +21 -0
  7. package/node_modules/@types/semver/classes/semver.d.ts +62 -0
  8. package/node_modules/@types/semver/functions/clean.d.ts +8 -0
  9. package/node_modules/@types/semver/functions/cmp.d.ts +16 -0
  10. package/node_modules/@types/semver/functions/coerce.d.ts +12 -0
  11. package/node_modules/@types/semver/functions/compare-build.d.ts +21 -0
  12. package/node_modules/@types/semver/functions/compare-loose.d.ts +5 -0
  13. package/node_modules/@types/semver/functions/compare.d.ts +20 -0
  14. package/node_modules/@types/semver/functions/diff.d.ts +9 -0
  15. package/node_modules/@types/semver/functions/eq.d.ts +9 -0
  16. package/node_modules/@types/semver/functions/gt.d.ts +9 -0
  17. package/node_modules/@types/semver/functions/gte.d.ts +9 -0
  18. package/node_modules/@types/semver/functions/inc.d.ts +15 -0
  19. package/node_modules/@types/semver/functions/lt.d.ts +9 -0
  20. package/node_modules/@types/semver/functions/lte.d.ts +8 -0
  21. package/node_modules/@types/semver/functions/major.d.ts +9 -0
  22. package/node_modules/@types/semver/functions/minor.d.ts +9 -0
  23. package/node_modules/@types/semver/functions/neq.d.ts +9 -0
  24. package/node_modules/@types/semver/functions/parse.d.ts +12 -0
  25. package/node_modules/@types/semver/functions/patch.d.ts +9 -0
  26. package/node_modules/@types/semver/functions/prerelease.d.ts +12 -0
  27. package/node_modules/@types/semver/functions/rcompare.d.ts +15 -0
  28. package/node_modules/@types/semver/functions/rsort.d.ts +9 -0
  29. package/node_modules/@types/semver/functions/satisfies.d.ts +14 -0
  30. package/node_modules/@types/semver/functions/sort.d.ts +9 -0
  31. package/node_modules/@types/semver/functions/valid.d.ts +11 -0
  32. package/node_modules/@types/semver/index.d.ts +136 -0
  33. package/node_modules/@types/semver/internals/identifiers.d.ts +13 -0
  34. package/node_modules/@types/semver/package.json +50 -0
  35. package/node_modules/@types/semver/preload.d.ts +2 -0
  36. package/node_modules/@types/semver/ranges/gtr.d.ts +14 -0
  37. package/node_modules/@types/semver/ranges/intersects.d.ts +13 -0
  38. package/node_modules/@types/semver/ranges/ltr.d.ts +14 -0
  39. package/node_modules/@types/semver/ranges/max-satisfying.d.ts +14 -0
  40. package/node_modules/@types/semver/ranges/min-satisfying.d.ts +14 -0
  41. package/node_modules/@types/semver/ranges/min-version.d.ts +10 -0
  42. package/node_modules/@types/semver/ranges/outside.d.ts +15 -0
  43. package/node_modules/@types/semver/ranges/simplify.d.ts +14 -0
  44. package/node_modules/@types/semver/ranges/subset.d.ts +9 -0
  45. package/node_modules/@types/semver/ranges/to-comparators.d.ts +9 -0
  46. package/node_modules/@types/semver/ranges/valid.d.ts +12 -0
  47. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js +2 -1
  48. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map +1 -1
  49. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js +1 -0
  50. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map +1 -1
  51. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js +1 -1
  52. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js.map +1 -1
  53. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +1 -1
  54. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map +1 -1
  55. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +1 -1
  56. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map +1 -1
  57. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js +1 -1
  58. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map +1 -1
  59. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js +1 -1
  60. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map +1 -1
  61. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +99 -24
  62. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map +1 -1
  63. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +4 -0
  64. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map +1 -1
  65. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js +2 -2
  66. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map +1 -1
  67. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +29 -10
  68. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map +1 -1
  69. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js +4 -0
  70. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/enums.js.map +1 -1
  71. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js +19 -2
  72. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention-utils/schema.js.map +1 -1
  73. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +29 -0
  74. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map +1 -1
  75. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js +1 -1
  76. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map +1 -1
  77. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js +1 -1
  78. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-non-null-assertion.js.map +1 -1
  79. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js +14 -2
  80. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map +1 -1
  81. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js +11 -5
  82. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map +1 -1
  83. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +51 -11
  84. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map +1 -1
  85. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js +2 -2
  86. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map +1 -1
  87. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +1 -2
  88. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +1 -1
  89. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +4 -3
  90. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map +1 -1
  91. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js +78 -0
  92. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-declaration-merging.js.map +1 -0
  93. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +0 -3
  94. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  95. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +167 -68
  96. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map +1 -1
  97. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +2 -1
  98. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map +1 -1
  99. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js +1 -1
  100. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map +1 -1
  101. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js +245 -0
  102. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-constituents.js.map +1 -0
  103. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js +3 -0
  104. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map +1 -1
  105. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md +1 -1
  106. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.md +5 -5
  107. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md +4 -6
  108. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.md +5 -4
  109. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md +3 -4
  110. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.md +2 -2
  111. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +2 -2
  112. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md +1 -1
  113. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.md +4 -4
  114. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md +1 -1
  115. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md +1 -1
  116. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.md +3 -3
  117. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md +1 -3
  118. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md +12 -5
  119. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +4 -1
  120. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.md +7 -13
  121. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +47 -6
  122. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.md +1 -1
  123. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md +1 -1
  124. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +7 -6
  125. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md +10 -6
  126. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md +3 -3
  127. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md +1 -1
  128. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md +1 -1
  129. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md +1 -1
  130. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +1 -1
  131. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +1 -1
  132. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +7 -60
  133. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.md +19 -6
  134. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.md +6 -6
  135. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +29 -30
  136. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.md +1 -1
  137. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.md +12 -11
  138. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md +4 -2
  139. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md +4 -5
  140. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.md +1 -1
  141. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.md +5 -2
  142. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.md +4 -4
  143. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md +1 -1
  144. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.md +5 -5
  145. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.md +13 -8
  146. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.md +4 -3
  147. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md +1 -1
  148. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md +1 -1
  149. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.md +4 -6
  150. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md +2 -4
  151. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.md +26 -18
  152. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implicit-any-catch.md +1 -3
  153. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md +1 -3
  154. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.md +12 -43
  155. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md +1 -1
  156. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md +6 -13
  157. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md +1 -1
  158. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.md +1 -1
  159. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md +1 -1
  160. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.md +8 -21
  161. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.md +13 -6
  162. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.md +53 -91
  163. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md +6 -7
  164. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md +3 -13
  165. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md +4 -27
  166. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.md +14 -13
  167. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.md +1 -1
  168. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md +1 -1
  169. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.md +1 -6
  170. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.md +12 -15
  171. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.md +1 -1
  172. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +1 -1
  173. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md +9 -15
  174. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md +1 -3
  175. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.md +1 -1
  176. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +15 -14
  177. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.md +3 -4
  178. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +12 -46
  179. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +22 -8
  180. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +4 -6
  181. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +6 -20
  182. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md +10 -7
  183. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.md +9 -6
  184. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.md +6 -5
  185. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-declaration-merging.md +54 -0
  186. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md +5 -4
  187. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md +9 -6
  188. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.md +1 -1
  189. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.md +1 -1
  190. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.md +1 -1
  191. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.md +1 -1
  192. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.md +4 -4
  193. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.md +6 -4
  194. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md +7 -3
  195. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md +1 -1
  196. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md +1 -1
  197. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.md +3 -6
  198. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.md +7 -3
  199. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.md +5 -23
  200. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.md +15 -16
  201. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +22 -22
  202. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md +28 -30
  203. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md +12 -13
  204. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.md +27 -4
  205. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.md +6 -54
  206. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.md +21 -49
  207. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +1 -3
  208. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.md +3 -5
  209. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +6 -8
  210. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md +6 -11
  211. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.md +10 -25
  212. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md +10 -6
  213. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md +5 -11
  214. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.md +1 -1
  215. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md +1 -1
  216. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.md +5 -14
  217. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.md +1 -1
  218. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.md +18 -4
  219. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.md +9 -2
  220. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md +1 -1
  221. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md +1 -1
  222. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-constituents.md +101 -0
  223. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md +8 -16
  224. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md +1 -1
  225. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md +1 -1
  226. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +0 -2
  227. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +15 -24
  228. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md +4 -2
  229. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md +1 -1
  230. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md +5 -7
  231. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md +7 -4
  232. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.md +5 -3
  233. package/node_modules/@typescript-eslint/eslint-plugin/package.json +7 -5
  234. package/node_modules/@typescript-eslint/parser/README.md +2 -0
  235. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  236. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  237. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.d.ts.map +1 -1
  238. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js +3 -0
  239. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map +1 -1
  240. package/node_modules/@typescript-eslint/type-utils/package.json +5 -5
  241. package/node_modules/@typescript-eslint/types/_ts3.4/dist/generated/ast-spec.d.ts +3 -3
  242. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +3 -3
  243. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  244. package/node_modules/@typescript-eslint/types/package.json +2 -2
  245. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ast-converter.d.ts +2 -2
  246. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/createDefaultProgram.d.ts +3 -6
  247. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/createIsolatedProgram.d.ts +2 -2
  248. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/createProjectProgram.d.ts +4 -6
  249. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/createSourceFile.d.ts +2 -2
  250. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/createWatchProgram.d.ts +4 -7
  251. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/shared.d.ts +5 -4
  252. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/create-program/useProvidedPrograms.d.ts +2 -2
  253. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/createParseSettings.d.ts +4 -0
  254. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/index.d.ts +102 -0
  255. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/inferSingleRun.d.ts +15 -0
  256. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parseSettings/warnAboutTSVersion.d.ts +3 -0
  257. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/parser-options.d.ts +0 -26
  258. package/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts +2 -2
  259. package/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.d.ts.map +1 -1
  260. package/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js +8 -8
  261. package/node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js.map +1 -1
  262. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.d.ts +3 -6
  263. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.d.ts.map +1 -1
  264. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js +13 -15
  265. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js.map +1 -1
  266. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.d.ts +2 -2
  267. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map +1 -1
  268. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js +7 -7
  269. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js.map +1 -1
  270. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts +4 -6
  271. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  272. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +51 -38
  273. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  274. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.d.ts +2 -2
  275. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.d.ts.map +1 -1
  276. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js +4 -4
  277. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js.map +1 -1
  278. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts +4 -7
  279. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.d.ts.map +1 -1
  280. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js +21 -22
  281. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createWatchProgram.js.map +1 -1
  282. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +5 -4
  283. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  284. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +7 -7
  285. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  286. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts +2 -2
  287. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map +1 -1
  288. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js +4 -4
  289. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js.map +1 -1
  290. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts +4 -0
  291. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +1 -0
  292. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +145 -0
  293. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js.map +1 -0
  294. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts +102 -0
  295. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts.map +1 -0
  296. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.js +3 -0
  297. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.js.map +1 -0
  298. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.d.ts +15 -0
  299. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map +1 -0
  300. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js +53 -0
  301. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js.map +1 -0
  302. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts +3 -0
  303. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map +1 -0
  304. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +68 -0
  305. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map +1 -0
  306. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +0 -26
  307. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts.map +1 -1
  308. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
  309. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js +32 -388
  310. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map +1 -1
  311. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  312. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/batchedSingleLineTests.d.ts +1 -1
  313. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/index.d.ts +1 -1
  314. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/rule-tester/RuleTester.d.ts +48 -0
  315. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts +17 -0
  316. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/ts-eslint/RuleTester.d.ts +21 -17
  317. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/batchedSingleLineTests.d.ts +1 -1
  318. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/batchedSingleLineTests.d.ts.map +1 -1
  319. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/batchedSingleLineTests.js.map +1 -1
  320. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts +1 -1
  321. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts.map +1 -1
  322. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js +1 -1
  323. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.js.map +1 -1
  324. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.d.ts +49 -0
  325. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.d.ts.map +1 -0
  326. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.js +238 -0
  327. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/RuleTester.js.map +1 -0
  328. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts +17 -0
  329. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.d.ts.map +1 -0
  330. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.js +52 -0
  331. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/rule-tester/dependencyConstraints.js.map +1 -0
  332. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts +16 -9
  333. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts.map +1 -1
  334. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.js.map +1 -1
  335. package/node_modules/@typescript-eslint/utils/package.json +9 -6
  336. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  337. package/node_modules/eslint-config-xo-typescript/index.js +7 -1
  338. package/node_modules/eslint-config-xo-typescript/package.json +5 -5
  339. package/node_modules/natural-compare-lite/README.md +126 -0
  340. package/node_modules/natural-compare-lite/index.js +57 -0
  341. package/node_modules/natural-compare-lite/package.json +42 -0
  342. package/node_modules/semver/classes/range.js +3 -0
  343. package/node_modules/semver/index.js +81 -41
  344. package/node_modules/{lru-cache → semver/node_modules/lru-cache}/LICENSE +0 -0
  345. package/node_modules/{lru-cache → semver/node_modules/lru-cache}/README.md +0 -0
  346. package/node_modules/{lru-cache → semver/node_modules/lru-cache}/index.js +0 -0
  347. package/node_modules/{lru-cache → semver/node_modules/lru-cache}/package.json +0 -0
  348. package/node_modules/semver/package.json +21 -10
  349. package/package.json +24 -24
  350. package/readme.md +1 -1
  351. package/node_modules/@typescript-eslint/utils/_ts3.4/dist/eslint-utils/RuleTester.d.ts +0 -18
  352. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.d.ts +0 -18
  353. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.d.ts.map +0 -1
  354. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.js +0 -133
  355. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.js.map +0 -1
@@ -58,6 +58,9 @@ exports.default = util.createRule({
58
58
  disallowTypeAnnotations: {
59
59
  type: 'boolean',
60
60
  },
61
+ fixStyle: {
62
+ enum: ['separate-type-imports', 'inline-type-imports'],
63
+ },
61
64
  },
62
65
  additionalProperties: false,
63
66
  },
@@ -68,12 +71,14 @@ exports.default = util.createRule({
68
71
  {
69
72
  prefer: 'type-imports',
70
73
  disallowTypeAnnotations: true,
74
+ fixStyle: 'separate-type-imports',
71
75
  },
72
76
  ],
73
77
  create(context, [option]) {
74
- var _a;
78
+ var _a, _b;
75
79
  const prefer = (_a = option.prefer) !== null && _a !== void 0 ? _a : 'type-imports';
76
80
  const disallowTypeAnnotations = option.disallowTypeAnnotations !== false;
81
+ const fixStyle = (_b = option.fixStyle) !== null && _b !== void 0 ? _b : 'separate-type-imports';
77
82
  const sourceCode = context.getSourceCode();
78
83
  const sourceImportsMap = {};
79
84
  return Object.assign(Object.assign({}, (prefer === 'type-imports'
@@ -82,15 +87,18 @@ exports.default = util.createRule({
82
87
  ImportDeclaration(node) {
83
88
  var _a;
84
89
  const source = node.source.value;
90
+ // sourceImports is the object containing all the specifics for a particular import source, type or value
85
91
  const sourceImports = (_a = sourceImportsMap[source]) !== null && _a !== void 0 ? _a : (sourceImportsMap[source] = {
86
92
  source,
87
93
  reportValueImports: [],
88
94
  typeOnlyNamedImport: null,
89
95
  valueOnlyNamedImport: null,
96
+ valueImport: null, // if only value imports
90
97
  });
91
98
  if (node.importKind === 'type') {
92
99
  if (!sourceImports.typeOnlyNamedImport &&
93
100
  node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier)) {
101
+ // definitely import type { TypeX }
94
102
  sourceImports.typeOnlyNamedImport = node;
95
103
  }
96
104
  }
@@ -98,6 +106,11 @@ exports.default = util.createRule({
98
106
  if (!sourceImports.valueOnlyNamedImport &&
99
107
  node.specifiers.every(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportSpecifier)) {
100
108
  sourceImports.valueOnlyNamedImport = node;
109
+ sourceImports.valueImport = node;
110
+ }
111
+ else if (!sourceImports.valueImport &&
112
+ node.specifiers.some(specifier => specifier.type === utils_1.AST_NODE_TYPES.ImportDefaultSpecifier)) {
113
+ sourceImports.valueImport = node;
101
114
  }
102
115
  }
103
116
  const typeSpecifiers = [];
@@ -193,12 +206,13 @@ exports.default = util.createRule({
193
206
  'Program:exit'() {
194
207
  for (const sourceImports of Object.values(sourceImportsMap)) {
195
208
  if (sourceImports.reportValueImports.length === 0) {
209
+ // nothing to fix. value specifiers and type specifiers are correctly written
196
210
  continue;
197
211
  }
198
212
  for (const report of sourceImports.reportValueImports) {
199
213
  if (report.valueSpecifiers.length === 0 &&
200
- report.unusedSpecifiers.length === 0) {
201
- // import is all type-only, convert the entire import to `import type`
214
+ report.unusedSpecifiers.length === 0 &&
215
+ report.node.importKind !== 'type') {
202
216
  context.report({
203
217
  node: report.node,
204
218
  messageId: 'typeOverValue',
@@ -209,10 +223,11 @@ exports.default = util.createRule({
209
223
  }
210
224
  else {
211
225
  const isTypeImport = report.node.importKind === 'type';
212
- // we have a mixed type/value import, so we need to split them out into multiple exports
226
+ // we have a mixed type/value import or just value imports, so we need to split them out into multiple imports if separate-type-imports is configured
213
227
  const importNames = (isTypeImport
214
- ? report.valueSpecifiers
215
- : report.typeSpecifiers).map(specifier => `"${specifier.local.name}"`);
228
+ ? report.valueSpecifiers // import type { A } from 'roo'; // WHERE A is used in value position
229
+ : report.typeSpecifiers) // import { A, B } from 'roo'; // WHERE A is used in type position and B is in value position
230
+ .map(specifier => `"${specifier.local.name}"`);
216
231
  const message = (() => {
217
232
  const typeImports = util.formatWordList(importNames);
218
233
  if (importNames.length === 1) {
@@ -233,22 +248,24 @@ exports.default = util.createRule({
233
248
  if (isTypeImport) {
234
249
  return {
235
250
  messageId: 'someImportsInDecoMeta',
236
- data: { typeImports },
251
+ data: { typeImports }, // typeImports are all the value specifiers that are in the type position
237
252
  };
238
253
  }
239
254
  else {
240
255
  return {
241
256
  messageId: 'someImportsAreOnlyTypes',
242
- data: { typeImports },
257
+ data: { typeImports }, // typeImports are all the type specifiers in the value position
243
258
  };
244
259
  }
245
260
  }
246
261
  })();
247
262
  context.report(Object.assign(Object.assign({ node: report.node }, message), { *fix(fixer) {
248
263
  if (isTypeImport) {
264
+ // take all the valueSpecifiers and put them on a new line
249
265
  yield* fixToValueImportDeclaration(fixer, report, sourceImports);
250
266
  }
251
267
  else {
268
+ // take all the typeSpecifiers and put them on a new line
252
269
  yield* fixToTypeImportDeclaration(fixer, report, sourceImports);
253
270
  }
254
271
  } }));
@@ -302,9 +319,9 @@ exports.default = util.createRule({
302
319
  };
303
320
  }
304
321
  /**
305
- * Returns information for fixing named specifiers.
322
+ * Returns information for fixing named specifiers, type or value
306
323
  */
307
- function getFixesNamedSpecifiers(fixer, node, typeNamedSpecifiers, allNamedSpecifiers) {
324
+ function getFixesNamedSpecifiers(fixer, node, subsetNamedSpecifiers, allNamedSpecifiers) {
308
325
  if (allNamedSpecifiers.length === 0) {
309
326
  return {
310
327
  typeNamedSpecifiersText: '',
@@ -313,10 +330,10 @@ exports.default = util.createRule({
313
330
  }
314
331
  const typeNamedSpecifiersTexts = [];
315
332
  const removeTypeNamedSpecifiers = [];
316
- if (typeNamedSpecifiers.length === allNamedSpecifiers.length) {
333
+ if (subsetNamedSpecifiers.length === allNamedSpecifiers.length) {
317
334
  // import Foo, {Type1, Type2} from 'foo'
318
335
  // import DefType, {Type1, Type2} from 'foo'
319
- const openingBraceToken = util.nullThrows(sourceCode.getTokenBefore(typeNamedSpecifiers[0], util.isOpeningBraceToken), util.NullThrowsReasons.MissingToken('{', node.type));
336
+ const openingBraceToken = util.nullThrows(sourceCode.getTokenBefore(subsetNamedSpecifiers[0], util.isOpeningBraceToken), util.NullThrowsReasons.MissingToken('{', node.type));
320
337
  const commaToken = util.nullThrows(sourceCode.getTokenBefore(openingBraceToken, util.isCommaToken), util.NullThrowsReasons.MissingToken(',', node.type));
321
338
  const closingBraceToken = util.nullThrows(sourceCode.getFirstTokenBetween(openingBraceToken, node.source, util.isClosingBraceToken), util.NullThrowsReasons.MissingToken('}', node.type));
322
339
  // import DefType, {...} from 'foo'
@@ -325,21 +342,21 @@ exports.default = util.createRule({
325
342
  typeNamedSpecifiersTexts.push(sourceCode.text.slice(openingBraceToken.range[1], closingBraceToken.range[0]));
326
343
  }
327
344
  else {
328
- const typeNamedSpecifierGroups = [];
345
+ const namedSpecifierGroups = [];
329
346
  let group = [];
330
347
  for (const namedSpecifier of allNamedSpecifiers) {
331
- if (typeNamedSpecifiers.includes(namedSpecifier)) {
348
+ if (subsetNamedSpecifiers.includes(namedSpecifier)) {
332
349
  group.push(namedSpecifier);
333
350
  }
334
351
  else if (group.length) {
335
- typeNamedSpecifierGroups.push(group);
352
+ namedSpecifierGroups.push(group);
336
353
  group = [];
337
354
  }
338
355
  }
339
356
  if (group.length) {
340
- typeNamedSpecifierGroups.push(group);
357
+ namedSpecifierGroups.push(group);
341
358
  }
342
- for (const namedSpecifiers of typeNamedSpecifierGroups) {
359
+ for (const namedSpecifiers of namedSpecifierGroups) {
343
360
  const { removeRange, textRange } = getNamedSpecifierRanges(namedSpecifiers, allNamedSpecifiers);
344
361
  removeTypeNamedSpecifiers.push(fixer.removeRange(removeRange));
345
362
  typeNamedSpecifiersTexts.push(sourceCode.text.slice(...textRange));
@@ -392,7 +409,35 @@ exports.default = util.createRule({
392
409
  if (!util.isCommaToken(before) && !util.isOpeningBraceToken(before)) {
393
410
  insertText = `,${insertText}`;
394
411
  }
395
- return fixer.insertTextBefore(closingBraceToken, `${insertText}`);
412
+ return fixer.insertTextBefore(closingBraceToken, insertText);
413
+ }
414
+ /**
415
+ * insert type keyword to named import node.
416
+ * e.g.
417
+ * import ADefault, { Already, type Type1, type Type2 } from 'foo'
418
+ * ^^^^ insert
419
+ */
420
+ function* fixInsertTypeKeywordInNamedSpecifierList(fixer, typeSpecifiers) {
421
+ for (const spec of typeSpecifiers) {
422
+ const insertText = sourceCode.text.slice(...spec.range);
423
+ yield fixer.replaceTextRange(spec.range, `type ${insertText}`);
424
+ }
425
+ }
426
+ function* fixInlineTypeImportDeclaration(fixer, report, sourceImports) {
427
+ const { node } = report;
428
+ // For a value import, will only add an inline type to named specifiers
429
+ const { namedSpecifiers } = classifySpecifier(node);
430
+ const typeNamedSpecifiers = namedSpecifiers.filter(specifier => report.typeSpecifiers.includes(specifier));
431
+ if (sourceImports.valueImport) {
432
+ // add import named type specifiers to its value import
433
+ // import ValueA, { type A }
434
+ // ^^^^ insert
435
+ const { namedSpecifiers: valueImportNamedSpecifiers } = classifySpecifier(sourceImports.valueImport);
436
+ if (sourceImports.valueOnlyNamedImport ||
437
+ valueImportNamedSpecifiers.length) {
438
+ yield* fixInsertTypeKeywordInNamedSpecifierList(fixer, typeNamedSpecifiers);
439
+ }
440
+ }
396
441
  }
397
442
  function* fixToTypeImportDeclaration(fixer, report, sourceImports) {
398
443
  const { node } = report;
@@ -410,10 +455,24 @@ exports.default = util.createRule({
410
455
  yield* fixInsertTypeSpecifierForImportDeclaration(fixer, node, true);
411
456
  return;
412
457
  }
413
- }
414
- else {
415
- if (namedSpecifiers.every(specifier => report.typeSpecifiers.includes(specifier)) &&
458
+ else if (fixStyle === 'inline-type-imports' &&
459
+ !report.typeSpecifiers.includes(defaultSpecifier) &&
460
+ namedSpecifiers.length > 0 &&
416
461
  !namespaceSpecifier) {
462
+ // if there is a default specifier but it isn't a type specifier, then just add the inline type modifier to the named specifiers
463
+ // import AValue, {BValue, Type1, Type2} from 'foo'
464
+ yield* fixInlineTypeImportDeclaration(fixer, report, sourceImports);
465
+ return;
466
+ }
467
+ }
468
+ else if (!namespaceSpecifier) {
469
+ if (fixStyle === 'inline-type-imports' &&
470
+ namedSpecifiers.some(specifier => report.typeSpecifiers.includes(specifier))) {
471
+ // import {AValue, Type1, Type2} from 'foo'
472
+ yield* fixInlineTypeImportDeclaration(fixer, report, sourceImports);
473
+ return;
474
+ }
475
+ else if (namedSpecifiers.every(specifier => report.typeSpecifiers.includes(specifier))) {
417
476
  // import {Type1, Type2} from 'foo'
418
477
  yield* fixInsertTypeSpecifierForImportDeclaration(fixer, node, false);
419
478
  return;
@@ -433,7 +492,18 @@ exports.default = util.createRule({
433
492
  }
434
493
  }
435
494
  else {
436
- yield fixer.insertTextBefore(node, `import type {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${sourceCode.getText(node.source)};\n`);
495
+ // The import is both default and named. Insert named on new line because can't mix default type import and named type imports
496
+ if (fixStyle === 'inline-type-imports') {
497
+ yield fixer.insertTextBefore(node, `import {${typeNamedSpecifiers
498
+ .map(spec => {
499
+ const insertText = sourceCode.text.slice(...spec.range);
500
+ return `type ${insertText}`;
501
+ })
502
+ .join(', ')}} from ${sourceCode.getText(node.source)};\n`);
503
+ }
504
+ else {
505
+ yield fixer.insertTextBefore(node, `import type {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${sourceCode.getText(node.source)};\n`);
506
+ }
437
507
  }
438
508
  }
439
509
  const fixesRemoveTypeNamespaceSpecifier = [];
@@ -499,8 +569,6 @@ exports.default = util.createRule({
499
569
  ]);
500
570
  const specifiersText = sourceCode.text.slice(commaToken.range[1], closingBraceToken.range[1]);
501
571
  if (node.specifiers.length > 1) {
502
- // import type Foo from 'foo'
503
- // import type {...} from 'foo' // <- insert
504
572
  yield fixer.insertTextAfter(node, `\nimport type${specifiersText} from ${sourceCode.getText(node.source)};`);
505
573
  }
506
574
  }
@@ -536,6 +604,9 @@ exports.default = util.createRule({
536
604
  return;
537
605
  }
538
606
  }
607
+ // we have some valueSpecifiers intermixed in types that need to be put on their own line
608
+ // import type { Type1, A } from 'foo'
609
+ // import type { A } from 'foo'
539
610
  const valueNamedSpecifiers = namedSpecifiers.filter(specifier => report.valueSpecifiers.includes(specifier));
540
611
  const fixesNamedSpecifiers = getFixesNamedSpecifiers(fixer, node, valueNamedSpecifiers, namedSpecifiers);
541
612
  const afterFixes = [];
@@ -550,6 +621,8 @@ exports.default = util.createRule({
550
621
  }
551
622
  }
552
623
  else {
624
+ // some are types.
625
+ // Add new value import and later remove those value specifiers from import type
553
626
  yield fixer.insertTextBefore(node, `import {${fixesNamedSpecifiers.typeNamedSpecifiersText}} from ${sourceCode.getText(node.source)};\n`);
554
627
  }
555
628
  }
@@ -566,6 +639,8 @@ exports.default = util.createRule({
566
639
  yield fixer.removeRange([typeToken.range[0], afterToken.range[0]]);
567
640
  }
568
641
  function* fixRemoveTypeSpecifierFromImportSpecifier(fixer, node) {
642
+ // import { type Foo } from 'foo'
643
+ // ^^^^ remove
569
644
  const typeToken = util.nullThrows(sourceCode.getFirstToken(node, isTypeToken), util.NullThrowsReasons.MissingToken('type', node.type));
570
645
  const afterToken = util.nullThrows(sourceCode.getTokenAfter(typeToken, { includeComments: true }), util.NullThrowsReasons.MissingToken('any token', node.type));
571
646
  yield fixer.removeRange([typeToken.range[0], afterToken.range[0]]);
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-type-imports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consistent-type-imports.js","sourceRoot":"","sources":["../../src/rules/consistent-type-imports.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,7 @@ const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessa
83
83
  const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument"));
84
84
  const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment"));
85
85
  const no_unsafe_call_1 = __importDefault(require("./no-unsafe-call"));
86
+ const no_unsafe_declaration_merging_1 = __importDefault(require("./no-unsafe-declaration-merging"));
86
87
  const no_unsafe_member_access_1 = __importDefault(require("./no-unsafe-member-access"));
87
88
  const no_unsafe_return_1 = __importDefault(require("./no-unsafe-return"));
88
89
  const no_unused_expressions_1 = __importDefault(require("./no-unused-expressions"));
@@ -119,6 +120,7 @@ const restrict_plus_operands_1 = __importDefault(require("./restrict-plus-operan
119
120
  const restrict_template_expressions_1 = __importDefault(require("./restrict-template-expressions"));
120
121
  const return_await_1 = __importDefault(require("./return-await"));
121
122
  const semi_1 = __importDefault(require("./semi"));
123
+ const sort_type_constituents_1 = __importDefault(require("./sort-type-constituents"));
122
124
  const sort_type_union_intersection_members_1 = __importDefault(require("./sort-type-union-intersection-members"));
123
125
  const space_before_blocks_1 = __importDefault(require("./space-before-blocks"));
124
126
  const space_before_function_paren_1 = __importDefault(require("./space-before-function-paren"));
@@ -211,6 +213,7 @@ exports.default = {
211
213
  'no-unsafe-argument': no_unsafe_argument_1.default,
212
214
  'no-unsafe-assignment': no_unsafe_assignment_1.default,
213
215
  'no-unsafe-call': no_unsafe_call_1.default,
216
+ 'no-unsafe-declaration-merging': no_unsafe_declaration_merging_1.default,
214
217
  'no-unsafe-member-access': no_unsafe_member_access_1.default,
215
218
  'no-unsafe-return': no_unsafe_return_1.default,
216
219
  'no-unused-expressions': no_unused_expressions_1.default,
@@ -247,6 +250,7 @@ exports.default = {
247
250
  'restrict-template-expressions': restrict_template_expressions_1.default,
248
251
  'return-await': return_await_1.default,
249
252
  semi: semi_1.default,
253
+ 'sort-type-constituents': sort_type_constituents_1.default,
250
254
  'sort-type-union-intersection-members': sort_type_union_intersection_members_1.default,
251
255
  'space-before-blocks': space_before_blocks_1.default,
252
256
  'space-before-function-paren': space_before_function_paren_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":";;;;;AAAA,kGAAwE;AACxE,8DAAqC;AACrC,sEAA6C;AAC7C,sEAA4C;AAC5C,8EAAoD;AACpD,4DAAmC;AACnC,gEAAuC;AACvC,kGAAuE;AACvE,kEAAyC;AACzC,oEAA2C;AAC3C,wGAA8E;AAC9E,wGAA6E;AAC7E,8FAAoE;AACpE,gGAAsE;AACtE,wFAA8D;AAC9D,wFAA8D;AAC9D,8EAAoD;AACpD,kEAAyC;AACzC,oGAAyE;AACzE,oGAA0E;AAC1E,sGAA2E;AAC3E,4EAAkD;AAClD,sDAA8B;AAC9B,4EAAmD;AACnD,wEAA+C;AAC/C,gGAAqE;AACrE,sFAA4D;AAC5D,wEAA+C;AAC/C,sFAA4D;AAC5D,4EAAmD;AACnD,kFAAwD;AACxD,4EAAiD;AACjD,wGAAsF;AACtF,kGAAuE;AACvE,oFAAyD;AACzD,0FAA+D;AAC/D,kFAAwD;AACxD,4EAAkD;AAClD,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAC9C,gGAAoE;AACpE,wEAA8C;AAC9C,oEAA0C;AAC1C,gFAAsD;AACtD,kFAAwD;AACxD,wEAA6C;AAC7C,oFAAyD;AACzD,wEAA8C;AAC9C,gFAAsD;AACtD,wEAA8C;AAC9C,kFAAuD;AACvD,kEAAwC;AACxC,kFAAuD;AACvD,0EAAgD;AAChD,kGAAuE;AACvE,sEAA4C;AAC5C,gFAAsD;AACtD,kEAAyC;AACzC,wHAA2F;AAC3F,gHAAmF;AACnF,oFAAyD;AACzD,wFAA8D;AAC9D,kEAAyC;AACzC,sGAA2E;AAC3E,8EAAoD;AACpD,oFAA0D;AAC1D,4DAAmC;AACnC,oEAA0C;AAC1C,0EAAgD;AAChD,oEAA0C;AAC1C,sHAA0F;AAC1F,0FAAgE;AAChE,0FAAgE;AAChE,oGAAyE;AACzE,oGAAyE;AACzE,sGAA2E;AAC3E,8EAAoD;AACpD,kFAAwD;AACxD,sEAA4C;AAC5C,wFAA6D;AAC7D,0EAAgD;AAChD,oFAA0D;AAC1D,sEAA4C;AAC5C,kFAAuD;AACvD,sFAA4D;AAC5D,wFAA6D;AAC7D,wEAA8C;AAC9C,4GAAgF;AAChF,kFAAwD;AACxD,wGAA6E;AAC7E,kFAAyD;AACzD,wEAA8C;AAC9C,0FAAgE;AAChE,oEAA0C;AAC1C,kFAAwD;AACxD,wEAA+C;AAC/C,8FAAmE;AACnE,0FAAgE;AAChE,4FAAkE;AAClE,oFAA0D;AAC1D,wEAA+C;AAC/C,wGAA6E;AAC7E,kGAAuE;AACvE,8EAAoD;AACpD,wFAA6D;AAC7D,sGAA0E;AAC1E,sFAA2D;AAC3D,sFAA4D;AAC5D,sDAA8B;AAC9B,8FAAmE;AACnE,oEAA2C;AAC3C,sFAA4D;AAC5D,oGAA0E;AAC1E,kEAAyC;AACzC,kDAA0B;AAC1B,kHAAsF;AACtF,gFAAsD;AACtD,gGAAqE;AACrE,wEAA8C;AAC9C,8FAAoE;AACpE,gGAAsE;AACtE,sFAA4D;AAC5D,wFAA8D;AAC9D,wDAAgC;AAChC,sEAA6C;AAC7C,8EAAqD;AAErD,kBAAe;IACb,8BAA8B,EAAE,sCAA0B;IAC1D,YAAY,EAAE,oBAAS;IACvB,gBAAgB,EAAE,wBAAa;IAC/B,gBAAgB,EAAE,wBAAY;IAC9B,oBAAoB,EAAE,4BAAgB;IACtC,WAAW,EAAE,mBAAQ;IACrB,aAAa,EAAE,qBAAU;IACzB,8BAA8B,EAAE,sCAAyB;IACzD,cAAc,EAAE,sBAAW;IAC3B,eAAe,EAAE,uBAAY;IAC7B,iCAAiC,EAAE,yCAA6B;IAChE,iCAAiC,EAAE,yCAA4B;IAC/D,4BAA4B,EAAE,oCAAwB;IACtD,6BAA6B,EAAE,qCAAyB;IACxD,yBAAyB,EAAE,iCAAqB;IAChD,yBAAyB,EAAE,iCAAqB;IAChD,oBAAoB,EAAE,4BAAgB;IACtC,cAAc,EAAE,sBAAW;IAC3B,+BAA+B,EAAE,uCAA0B;IAC3D,+BAA+B,EAAE,uCAA2B;IAC5D,gCAAgC,EAAE,wCAA2B;IAC7D,mBAAmB,EAAE,2BAAe;IACpC,MAAM,EAAE,gBAAM;IACd,mBAAmB,EAAE,2BAAgB;IACrC,iBAAiB,EAAE,yBAAc;IACjC,6BAA6B,EAAE,qCAAwB;IACvD,wBAAwB,EAAE,gCAAoB;IAC9C,iBAAiB,EAAE,yBAAc;IACjC,wBAAwB,EAAE,gCAAoB;IAC9C,mBAAmB,EAAE,2BAAgB;IACrC,sBAAsB,EAAE,8BAAkB;IAC1C,mBAAmB,EAAE,2BAAc;IACnC,iCAAiC,EAAE,yCAAqC;IACxE,8BAA8B,EAAE,sCAAyB;IACzD,uBAAuB,EAAE,+BAAkB;IAC3C,0BAA0B,EAAE,kCAAqB;IACjD,sBAAsB,EAAE,8BAAkB;IAC1C,mBAAmB,EAAE,2BAAe;IACpC,mBAAmB,EAAE,2BAAe;IACpC,oBAAoB,EAAE,4BAAgB;IACtC,iBAAiB,EAAE,yBAAa;IAChC,6BAA6B,EAAE,qCAAuB;IACtD,iBAAiB,EAAE,yBAAa;IAChC,eAAe,EAAE,uBAAW;IAC5B,qBAAqB,EAAE,6BAAiB;IACxC,sBAAsB,EAAE,8BAAkB;IAC1C,iBAAiB,EAAE,yBAAY;IAC/B,uBAAuB,EAAE,+BAAkB;IAC3C,iBAAiB,EAAE,yBAAa;IAChC,qBAAqB,EAAE,6BAAiB;IACxC,iBAAiB,EAAE,yBAAa;IAChC,sBAAsB,EAAE,8BAAiB;IACzC,cAAc,EAAE,sBAAU;IAC1B,sBAAsB,EAAE,8BAAiB;IACzC,kBAAkB,EAAE,0BAAc;IAClC,8BAA8B,EAAE,sCAAyB;IACzD,gBAAgB,EAAE,wBAAY;IAC9B,qBAAqB,EAAE,6BAAiB;IACxC,cAAc,EAAE,sBAAW;IAC3B,yCAAyC,EAAE,iDAAkC;IAC7E,qCAAqC,EAAE,6CAA8B;IACrE,uBAAuB,EAAE,+BAAkB;IAC3C,yBAAyB,EAAE,iCAAqB;IAChD,cAAc,EAAE,sBAAW;IAC3B,gCAAgC,EAAE,wCAA2B;IAC7D,oBAAoB,EAAE,4BAAgB;IACtC,uBAAuB,EAAE,+BAAmB;IAC5C,WAAW,EAAE,mBAAQ;IACrB,eAAe,EAAE,uBAAW;IAC5B,kBAAkB,EAAE,0BAAc;IAClC,eAAe,EAAE,uBAAW;IAC5B,wCAAwC,EAAE,gDAAkC;IAC5E,0BAA0B,EAAE,kCAAsB;IAClD,0BAA0B,EAAE,kCAAsB;IAClD,+BAA+B,EAAE,uCAA0B;IAC3D,+BAA+B,EAAE,uCAA0B;IAC3D,gCAAgC,EAAE,wCAA2B;IAC7D,oBAAoB,EAAE,4BAAgB;IACtC,sBAAsB,EAAE,8BAAkB;IAC1C,gBAAgB,EAAE,wBAAY;IAC9B,yBAAyB,EAAE,iCAAoB;IAC/C,kBAAkB,EAAE,0BAAc;IAClC,uBAAuB,EAAE,+BAAmB;IAC5C,gBAAgB,EAAE,wBAAY;IAC9B,sBAAsB,EAAE,8BAAiB;IACzC,wBAAwB,EAAE,gCAAoB;IAC9C,yBAAyB,EAAE,iCAAoB;IAC/C,iBAAiB,EAAE,yBAAa;IAChC,mCAAmC,EAAE,2CAA6B;IAClE,sBAAsB,EAAE,8BAAkB;IAC1C,iCAAiC,EAAE,yCAA4B;IAC/D,sBAAsB,EAAE,8BAAmB;IAC3C,iBAAiB,EAAE,yBAAa;IAChC,0BAA0B,EAAE,kCAAsB;IAClD,eAAe,EAAE,uBAAW;IAC5B,sBAAsB,EAAE,8BAAkB;IAC1C,iBAAiB,EAAE,yBAAc;IACjC,4BAA4B,EAAE,oCAAuB;IACrD,0BAA0B,EAAE,kCAAsB;IAClD,2BAA2B,EAAE,mCAAuB;IACpD,uBAAuB,EAAE,+BAAmB;IAC5C,iBAAiB,EAAE,yBAAc;IACjC,iCAAiC,EAAE,yCAA4B;IAC/D,8BAA8B,EAAE,sCAAyB;IACzD,oBAAoB,EAAE,4BAAgB;IACtC,yBAAyB,EAAE,iCAAoB;IAC/C,gCAAgC,EAAE,wCAA0B;IAC5D,wBAAwB,EAAE,gCAAmB;IAC7C,wBAAwB,EAAE,gCAAoB;IAC9C,MAAM,EAAE,gBAAM;IACd,4BAA4B,EAAE,oCAAuB;IACrD,eAAe,EAAE,uBAAY;IAC7B,wBAAwB,EAAE,gCAAoB;IAC9C,+BAA+B,EAAE,uCAA2B;IAC5D,cAAc,EAAE,sBAAW;IAC3B,IAAI,EAAE,cAAI;IACV,sCAAsC,EAAE,8CAAgC;IACxE,qBAAqB,EAAE,6BAAiB;IACxC,6BAA6B,EAAE,qCAAwB;IACvD,iBAAiB,EAAE,yBAAa;IAChC,4BAA4B,EAAE,oCAAwB;IACtD,6BAA6B,EAAE,qCAAyB;IACxD,wBAAwB,EAAE,gCAAoB;IAC9C,yBAAyB,EAAE,iCAAqB;IAChD,OAAO,EAAE,iBAAO;IAChB,gBAAgB,EAAE,wBAAa;IAC/B,oBAAoB,EAAE,4BAAiB;CACxC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
@@ -87,12 +87,12 @@ const makeFixFunction = ({ optsNone, optsSemi, lastToken, commentsAfterLastToken
87
87
  exports.default = util.createRule({
88
88
  name: 'member-delimiter-style',
89
89
  meta: {
90
- type: 'suggestion',
90
+ type: 'layout',
91
91
  docs: {
92
92
  description: 'Require a specific member delimiter style for interfaces and type literals',
93
93
  recommended: false,
94
94
  },
95
- fixable: 'code',
95
+ fixable: 'whitespace',
96
96
  messages: {
97
97
  unexpectedComma: 'Unexpected separator (,).',
98
98
  unexpectedSemi: 'Unexpected separator (;).',
@@ -1 +1 @@
1
- {"version":3,"file":"member-delimiter-style.js","sourceRoot":"","sources":["../../src/rules/member-delimiter-style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-delimiter-style.js","sourceRoot":"","sources":["../../src/rules/member-delimiter-style.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.defaultOrder = void 0;
27
30
  const utils_1 = require("@typescript-eslint/utils");
31
+ const natural_compare_lite_1 = __importDefault(require("natural-compare-lite"));
28
32
  const util = __importStar(require("../util"));
29
33
  const neverConfig = {
30
34
  type: 'string',
@@ -54,7 +58,13 @@ const objectConfig = (memberTypes) => ({
54
58
  },
55
59
  order: {
56
60
  type: 'string',
57
- enum: ['alphabetically', 'alphabetically-case-insensitive', 'as-written'],
61
+ enum: [
62
+ 'alphabetically',
63
+ 'alphabetically-case-insensitive',
64
+ 'as-written',
65
+ 'natural',
66
+ 'natural-case-insensitive',
67
+ ],
58
68
  },
59
69
  },
60
70
  additionalProperties: false,
@@ -484,7 +494,7 @@ exports.default = util.createRule({
484
494
  *
485
495
  * @return True if all members are correctly sorted.
486
496
  */
487
- function checkAlphaSort(members, caseSensitive) {
497
+ function checkAlphaSort(members, order) {
488
498
  let previousName = '';
489
499
  let isCorrectlySorted = true;
490
500
  // Find first member which isn't correctly sorted
@@ -492,9 +502,7 @@ exports.default = util.createRule({
492
502
  const name = getMemberName(member, context.getSourceCode());
493
503
  // Note: Not all members have names
494
504
  if (name) {
495
- if (caseSensitive
496
- ? name < previousName
497
- : name.toLowerCase() < previousName.toLowerCase()) {
505
+ if (naturalOutOfOrder(name, previousName, order)) {
498
506
  context.report({
499
507
  node: member,
500
508
  messageId: 'incorrectOrder',
@@ -510,6 +518,18 @@ exports.default = util.createRule({
510
518
  });
511
519
  return isCorrectlySorted;
512
520
  }
521
+ function naturalOutOfOrder(name, previousName, order) {
522
+ switch (order) {
523
+ case 'alphabetically':
524
+ return name < previousName;
525
+ case 'alphabetically-case-insensitive':
526
+ return name.toLowerCase() < previousName.toLowerCase();
527
+ case 'natural':
528
+ return (0, natural_compare_lite_1.default)(name, previousName) !== 1;
529
+ case 'natural-case-insensitive':
530
+ return ((0, natural_compare_lite_1.default)(name.toLowerCase(), previousName.toLowerCase()) !== 1);
531
+ }
532
+ }
513
533
  /**
514
534
  * Validates if all members are correctly sorted.
515
535
  *
@@ -522,7 +542,7 @@ exports.default = util.createRule({
522
542
  return;
523
543
  }
524
544
  // Standardize config
525
- let order = null;
545
+ let order;
526
546
  let memberTypes;
527
547
  if (Array.isArray(orderConfig)) {
528
548
  memberTypes = orderConfig;
@@ -531,8 +551,7 @@ exports.default = util.createRule({
531
551
  order = orderConfig.order;
532
552
  memberTypes = orderConfig.memberTypes;
533
553
  }
534
- const hasAlphaSort = order === null || order === void 0 ? void 0 : order.startsWith('alphabetically');
535
- const alphaSortIsCaseSensitive = order !== 'alphabetically-case-insensitive';
554
+ const hasAlphaSort = !!(order && order !== 'as-written');
536
555
  // Check order
537
556
  if (Array.isArray(memberTypes)) {
538
557
  const grouped = checkGroupSort(members, memberTypes, supportsModifiers);
@@ -540,11 +559,11 @@ exports.default = util.createRule({
540
559
  return;
541
560
  }
542
561
  if (hasAlphaSort) {
543
- grouped.some(groupMember => !checkAlphaSort(groupMember, alphaSortIsCaseSensitive));
562
+ grouped.some(groupMember => !checkAlphaSort(groupMember, order));
544
563
  }
545
564
  }
546
565
  else if (hasAlphaSort) {
547
- checkAlphaSort(members, alphaSortIsCaseSensitive);
566
+ checkAlphaSort(members, order);
548
567
  }
549
568
  }
550
569
  return {