eslint-plugin-etc-misc 1.0.2 → 1.0.3

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 (370) hide show
  1. package/CHANGELOG.md +2 -4
  2. package/README.md +197 -151
  3. package/dist/_internal/casing.d.ts.map +1 -1
  4. package/dist/_internal/casing.js +6 -6
  5. package/dist/_internal/casing.js.map +1 -1
  6. package/dist/_internal/create-external-rule.d.ts +2 -1
  7. package/dist/_internal/create-external-rule.d.ts.map +1 -1
  8. package/dist/_internal/create-external-rule.js +20 -22
  9. package/dist/_internal/create-external-rule.js.map +1 -1
  10. package/dist/_internal/create-import-pattern-rule.d.ts.map +1 -1
  11. package/dist/_internal/create-import-pattern-rule.js +2 -1
  12. package/dist/_internal/create-import-pattern-rule.js.map +1 -1
  13. package/dist/_internal/get-core-rule.d.ts +2 -1
  14. package/dist/_internal/get-core-rule.d.ts.map +1 -1
  15. package/dist/_internal/get-core-rule.js +2 -1
  16. package/dist/_internal/get-core-rule.js.map +1 -1
  17. package/dist/_internal/identifier-blocks.d.ts.map +1 -1
  18. package/dist/_internal/identifier-blocks.js +4 -4
  19. package/dist/_internal/identifier-blocks.js.map +1 -1
  20. package/dist/_internal/ignore-patterns.d.ts.map +1 -1
  21. package/dist/_internal/ignore-patterns.js +2 -1
  22. package/dist/_internal/ignore-patterns.js.map +1 -1
  23. package/dist/_internal/rule-creator.d.ts +2 -1
  24. package/dist/_internal/rule-creator.d.ts.map +1 -1
  25. package/dist/_internal/rule-creator.js.map +1 -1
  26. package/dist/_internal/rule-deprecation.d.ts +2 -1
  27. package/dist/_internal/rule-deprecation.d.ts.map +1 -1
  28. package/dist/_internal/rule-deprecation.js +3 -2
  29. package/dist/_internal/rule-deprecation.js.map +1 -1
  30. package/dist/_internal/symbol-usage.d.ts.map +1 -1
  31. package/dist/_internal/symbol-usage.js +11 -10
  32. package/dist/_internal/symbol-usage.js.map +1 -1
  33. package/dist/_internal/syntax-selectors.d.ts.map +1 -1
  34. package/dist/_internal/syntax-selectors.js +13 -8
  35. package/dist/_internal/syntax-selectors.js.map +1 -1
  36. package/dist/configs/all-strict.d.ts.map +1 -1
  37. package/dist/configs/all-strict.js +3 -2
  38. package/dist/configs/all-strict.js.map +1 -1
  39. package/dist/configs/all.d.ts.map +1 -1
  40. package/dist/configs/all.js +3 -2
  41. package/dist/configs/all.js.map +1 -1
  42. package/dist/configs/minimal.d.ts +22 -0
  43. package/dist/configs/minimal.d.ts.map +1 -0
  44. package/dist/configs/minimal.js +22 -0
  45. package/dist/configs/minimal.js.map +1 -0
  46. package/dist/configs/strict-type-checked.d.ts.map +1 -1
  47. package/dist/configs/strict-type-checked.js +8 -10
  48. package/dist/configs/strict-type-checked.js.map +1 -1
  49. package/dist/configs/strict.d.ts.map +1 -1
  50. package/dist/configs/strict.js +3 -2
  51. package/dist/configs/strict.js.map +1 -1
  52. package/dist/configs.d.ts +2 -0
  53. package/dist/configs.d.ts.map +1 -1
  54. package/dist/configs.js +2 -0
  55. package/dist/configs.js.map +1 -1
  56. package/dist/rules/comment-spacing.d.ts.map +1 -1
  57. package/dist/rules/comment-spacing.js +3 -2
  58. package/dist/rules/comment-spacing.js.map +1 -1
  59. package/dist/rules/consistent-empty-lines.d.ts.map +1 -1
  60. package/dist/rules/consistent-empty-lines.js +3 -2
  61. package/dist/rules/consistent-empty-lines.js.map +1 -1
  62. package/dist/rules/consistent-filename.d.ts.map +1 -1
  63. package/dist/rules/consistent-filename.js +2 -1
  64. package/dist/rules/consistent-filename.js.map +1 -1
  65. package/dist/rules/consistent-import.d.ts.map +1 -1
  66. package/dist/rules/consistent-import.js +2 -1
  67. package/dist/rules/consistent-import.js.map +1 -1
  68. package/dist/rules/consistent-optional-props.d.ts.map +1 -1
  69. package/dist/rules/consistent-optional-props.js +6 -5
  70. package/dist/rules/consistent-optional-props.js.map +1 -1
  71. package/dist/rules/export-matching-filename-only.d.ts.map +1 -1
  72. package/dist/rules/export-matching-filename-only.js +2 -1
  73. package/dist/rules/export-matching-filename-only.js.map +1 -1
  74. package/dist/rules/match-filename.d.ts.map +1 -1
  75. package/dist/rules/match-filename.js +2 -1
  76. package/dist/rules/match-filename.js.map +1 -1
  77. package/dist/rules/max-identifier-blocks.d.ts.map +1 -1
  78. package/dist/rules/max-identifier-blocks.js +2 -4
  79. package/dist/rules/max-identifier-blocks.js.map +1 -1
  80. package/dist/rules/no-assign-mutated-array.d.ts.map +1 -1
  81. package/dist/rules/no-assign-mutated-array.js +2 -1
  82. package/dist/rules/no-assign-mutated-array.js.map +1 -1
  83. package/dist/rules/no-commented-out-code.d.ts.map +1 -1
  84. package/dist/rules/no-commented-out-code.js +22 -25
  85. package/dist/rules/no-commented-out-code.js.map +1 -1
  86. package/dist/rules/no-const-enum.d.ts.map +1 -1
  87. package/dist/rules/no-const-enum.js +2 -1
  88. package/dist/rules/no-const-enum.js.map +1 -1
  89. package/dist/rules/no-deprecated.d.ts.map +1 -1
  90. package/dist/rules/no-deprecated.js +4 -3
  91. package/dist/rules/no-deprecated.js.map +1 -1
  92. package/dist/rules/no-expression-empty-lines.d.ts.map +1 -1
  93. package/dist/rules/no-expression-empty-lines.js +3 -2
  94. package/dist/rules/no-expression-empty-lines.js.map +1 -1
  95. package/dist/rules/no-foreach.d.ts.map +1 -1
  96. package/dist/rules/no-foreach.js +2 -1
  97. package/dist/rules/no-foreach.js.map +1 -1
  98. package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
  99. package/dist/rules/no-implicit-any-catch.js +3 -2
  100. package/dist/rules/no-implicit-any-catch.js.map +1 -1
  101. package/dist/rules/no-internal.d.ts.map +1 -1
  102. package/dist/rules/no-internal.js +4 -3
  103. package/dist/rules/no-internal.js.map +1 -1
  104. package/dist/rules/no-language-mixing.d.ts.map +1 -1
  105. package/dist/rules/no-language-mixing.js +3 -2
  106. package/dist/rules/no-language-mixing.js.map +1 -1
  107. package/dist/rules/no-misused-generics.d.ts.map +1 -1
  108. package/dist/rules/no-misused-generics.js +5 -4
  109. package/dist/rules/no-misused-generics.js.map +1 -1
  110. package/dist/rules/no-negated-conditions.d.ts.map +1 -1
  111. package/dist/rules/no-negated-conditions.js +2 -1
  112. package/dist/rules/no-negated-conditions.js.map +1 -1
  113. package/dist/rules/no-param-reassign.d.ts.map +1 -1
  114. package/dist/rules/no-param-reassign.js +2 -1
  115. package/dist/rules/no-param-reassign.js.map +1 -1
  116. package/dist/rules/no-restricted-syntax.d.ts.map +1 -1
  117. package/dist/rules/no-restricted-syntax.js +2 -1
  118. package/dist/rules/no-restricted-syntax.js.map +1 -1
  119. package/dist/rules/no-self-import.d.ts.map +1 -1
  120. package/dist/rules/no-self-import.js +2 -1
  121. package/dist/rules/no-self-import.js.map +1 -1
  122. package/dist/rules/no-underscore-export.d.ts.map +1 -1
  123. package/dist/rules/no-underscore-export.js +3 -2
  124. package/dist/rules/no-underscore-export.js.map +1 -1
  125. package/dist/rules/no-unnecessary-break.d.ts.map +1 -1
  126. package/dist/rules/no-unnecessary-break.js +4 -3
  127. package/dist/rules/no-unnecessary-break.js.map +1 -1
  128. package/dist/rules/no-unnecessary-initialization.d.ts.map +1 -1
  129. package/dist/rules/no-unnecessary-initialization.js +3 -2
  130. package/dist/rules/no-unnecessary-initialization.js.map +1 -1
  131. package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -1
  132. package/dist/rules/no-unnecessary-template-literal.js +3 -2
  133. package/dist/rules/no-unnecessary-template-literal.js.map +1 -1
  134. package/dist/rules/only-export-name.d.ts.map +1 -1
  135. package/dist/rules/only-export-name.js +13 -10
  136. package/dist/rules/only-export-name.js.map +1 -1
  137. package/dist/rules/prefer-interface.d.ts.map +1 -1
  138. package/dist/rules/prefer-interface.js +5 -8
  139. package/dist/rules/prefer-interface.js.map +1 -1
  140. package/dist/rules/require-jsdoc.d.ts.map +1 -1
  141. package/dist/rules/require-jsdoc.js +7 -7
  142. package/dist/rules/require-jsdoc.js.map +1 -1
  143. package/dist/rules/require-syntax.d.ts.map +1 -1
  144. package/dist/rules/require-syntax.js +2 -1
  145. package/dist/rules/require-syntax.js.map +1 -1
  146. package/dist/rules/sort-array.d.ts.map +1 -1
  147. package/dist/rules/sort-array.js +8 -7
  148. package/dist/rules/sort-array.js.map +1 -1
  149. package/dist/rules/sort-class-members.d.ts.map +1 -1
  150. package/dist/rules/sort-class-members.js +2 -1
  151. package/dist/rules/sort-class-members.js.map +1 -1
  152. package/dist/rules/sort-export-specifiers.d.ts.map +1 -1
  153. package/dist/rules/sort-export-specifiers.js +6 -6
  154. package/dist/rules/sort-export-specifiers.js.map +1 -1
  155. package/dist/rules/sort-keys.d.ts.map +1 -1
  156. package/dist/rules/sort-keys.js +5 -5
  157. package/dist/rules/sort-keys.js.map +1 -1
  158. package/dist/rules/sort-top-comments.d.ts.map +1 -1
  159. package/dist/rules/sort-top-comments.js +7 -8
  160. package/dist/rules/sort-top-comments.js.map +1 -1
  161. package/dist/rules/switch-case-spacing.d.ts.map +1 -1
  162. package/dist/rules/switch-case-spacing.js +2 -2
  163. package/dist/rules/switch-case-spacing.js.map +1 -1
  164. package/dist/rules/template-literal-format.d.ts.map +1 -1
  165. package/dist/rules/template-literal-format.js +11 -13
  166. package/dist/rules/template-literal-format.js.map +1 -1
  167. package/dist/rules/throw-error.d.ts.map +1 -1
  168. package/dist/rules/throw-error.js +6 -4
  169. package/dist/rules/throw-error.js.map +1 -1
  170. package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
  171. package/dist/rules/typescript-array-callback-return-type.js +3 -2
  172. package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
  173. package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
  174. package/dist/rules/typescript-class-methods-use-this.js +4 -3
  175. package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
  176. package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -1
  177. package/dist/rules/typescript-no-boolean-literal-type.js +3 -2
  178. package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -1
  179. package/dist/rules/typescript-no-inferrable-types.d.ts.map +1 -1
  180. package/dist/rules/typescript-no-inferrable-types.js +3 -2
  181. package/dist/rules/typescript-no-inferrable-types.js.map +1 -1
  182. package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
  183. package/dist/rules/typescript-no-redundant-undefined-const.js +4 -3
  184. package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
  185. package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
  186. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +4 -3
  187. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
  188. package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
  189. package/dist/rules/typescript-no-redundant-undefined-let.js +4 -3
  190. package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
  191. package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -1
  192. package/dist/rules/typescript-no-redundant-undefined-optional.js +6 -5
  193. package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -1
  194. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
  195. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +6 -5
  196. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
  197. package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
  198. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +4 -3
  199. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
  200. package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
  201. package/dist/rules/typescript-no-redundant-undefined-return-type.js +6 -5
  202. package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
  203. package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
  204. package/dist/rules/typescript-no-redundant-undefined-var.js +4 -3
  205. package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
  206. package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
  207. package/dist/rules/typescript-prefer-enum.js +6 -5
  208. package/dist/rules/typescript-prefer-enum.js.map +1 -1
  209. package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -1
  210. package/dist/rules/typescript-prefer-readonly-array.js +3 -2
  211. package/dist/rules/typescript-prefer-readonly-array.js.map +1 -1
  212. package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
  213. package/dist/rules/typescript-prefer-readonly-property.js +5 -4
  214. package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
  215. package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
  216. package/dist/rules/typescript-require-prop-type-annotation.js +5 -4
  217. package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
  218. package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
  219. package/dist/rules/typescript-require-this-void.js +2 -1
  220. package/dist/rules/typescript-require-this-void.js.map +1 -1
  221. package/dist/rules.d.ts +2 -1
  222. package/dist/rules.d.ts.map +1 -1
  223. package/dist/rules.js +14 -7
  224. package/dist/rules.js.map +1 -1
  225. package/docs/docusaurus/blog/2026-03-09-docs-site-online.md +3 -3
  226. package/docs/docusaurus/blog/2026-03-11-adr-driven-docs-roadmap.md +3 -3
  227. package/docs/docusaurus/docusaurus.config.ts +2 -3
  228. package/docs/docusaurus/sidebars.rules.ts +8 -0
  229. package/docs/docusaurus/site-docs/getting-started.md +2 -3
  230. package/docs/docusaurus/site-docs/guides/blog-post-backlog.md +12 -12
  231. package/docs/docusaurus/site-docs/guides/migration-from-etc-and-misc.md +7 -7
  232. package/docs/docusaurus/site-docs/intro.md +1 -1
  233. package/docs/rules/array-type.md +6 -6
  234. package/docs/rules/class-match-filename.md +6 -6
  235. package/docs/rules/comment-spacing.md +9 -9
  236. package/docs/rules/consistent-empty-lines.md +8 -9
  237. package/docs/rules/consistent-enum-members.md +17 -16
  238. package/docs/rules/consistent-filename.md +12 -10
  239. package/docs/rules/consistent-import.md +11 -11
  240. package/docs/rules/consistent-optional-props.md +12 -12
  241. package/docs/rules/consistent-source-extension.md +6 -6
  242. package/docs/rules/consistent-symbol-description.md +6 -6
  243. package/docs/rules/default-case.md +20 -20
  244. package/docs/rules/disallow-import.md +11 -9
  245. package/docs/rules/export-matching-filename-only.md +12 -10
  246. package/docs/rules/getting-started.md +7 -6
  247. package/docs/rules/match-filename.md +13 -13
  248. package/docs/rules/max-identifier-blocks.md +7 -7
  249. package/docs/rules/no-assign-mutated-array.md +31 -11
  250. package/docs/rules/no-at-sign-import.md +9 -9
  251. package/docs/rules/no-at-sign-internal-import.md +9 -9
  252. package/docs/rules/no-chain-coalescence-mixture.md +6 -6
  253. package/docs/rules/no-commented-out-code.md +12 -12
  254. package/docs/rules/no-const-enum.md +13 -13
  255. package/docs/rules/no-deprecated.md +26 -26
  256. package/docs/rules/no-enum.md +14 -14
  257. package/docs/rules/no-expression-empty-lines.md +12 -20
  258. package/docs/rules/no-foreach.md +14 -10
  259. package/docs/rules/no-implicit-any-catch.md +31 -31
  260. package/docs/rules/no-index-import.md +9 -9
  261. package/docs/rules/no-internal-modules.md +9 -9
  262. package/docs/rules/no-internal.md +26 -26
  263. package/docs/rules/no-language-mixing.md +6 -6
  264. package/docs/rules/no-misused-generics.md +8 -8
  265. package/docs/rules/no-mixed-enums.md +14 -14
  266. package/docs/rules/no-negated-conditions.md +16 -12
  267. package/docs/rules/no-nodejs-modules.md +9 -9
  268. package/docs/rules/no-param-reassign.md +19 -19
  269. package/docs/rules/no-relative-parent-import.md +12 -12
  270. package/docs/rules/no-restricted-syntax.md +24 -23
  271. package/docs/rules/no-secret.md +6 -6
  272. package/docs/rules/no-self-import.md +6 -6
  273. package/docs/rules/no-shadow.md +12 -12
  274. package/docs/rules/no-sibling-import.md +8 -8
  275. package/docs/rules/no-single-line-comment.md +10 -10
  276. package/docs/rules/no-t.md +15 -15
  277. package/docs/rules/no-underscore-export.md +6 -6
  278. package/docs/rules/no-unnecessary-as-const.md +8 -8
  279. package/docs/rules/no-unnecessary-break.md +19 -19
  280. package/docs/rules/no-unnecessary-initialization.md +8 -8
  281. package/docs/rules/no-unnecessary-template-literal.md +7 -7
  282. package/docs/rules/no-unused-disable.md +6 -6
  283. package/docs/rules/no-useless-generics.md +10 -10
  284. package/docs/rules/no-value-tostring.md +6 -6
  285. package/docs/rules/no-writeonly.md +26 -26
  286. package/docs/rules/object-format.md +16 -16
  287. package/docs/rules/only-export-name.md +10 -8
  288. package/docs/rules/overview.md +8 -7
  289. package/docs/rules/prefer-arrow-function-property.md +24 -24
  290. package/docs/rules/prefer-const-require.md +8 -8
  291. package/docs/rules/prefer-includes.md +17 -8
  292. package/docs/rules/prefer-interface.md +24 -24
  293. package/docs/rules/prefer-less-than.md +10 -10
  294. package/docs/rules/prefer-object-has-own.md +6 -6
  295. package/docs/rules/prefer-only-export.md +6 -6
  296. package/docs/rules/presets/all-strict.md +1 -1
  297. package/docs/rules/presets/minimal.md +44 -0
  298. package/docs/rules/presets/recommended.md +3 -1
  299. package/docs/rules/presets/strict-type-checked.md +1 -1
  300. package/docs/rules/presets/strict.md +1 -1
  301. package/docs/rules/require-jsdoc.md +29 -17
  302. package/docs/rules/require-syntax.md +23 -19
  303. package/docs/rules/restrict-identifier-characters.md +6 -6
  304. package/docs/rules/sort-array.md +16 -8
  305. package/docs/rules/sort-call-signature.md +16 -16
  306. package/docs/rules/sort-class-members.md +14 -14
  307. package/docs/rules/sort-construct-signature.md +14 -14
  308. package/docs/rules/sort-export-specifiers.md +6 -6
  309. package/docs/rules/sort-keys.md +15 -15
  310. package/docs/rules/sort-top-comments.md +6 -6
  311. package/docs/rules/switch-case-spacing.md +20 -18
  312. package/docs/rules/template-literal-format.md +6 -6
  313. package/docs/rules/throw-error.md +6 -6
  314. package/docs/rules/throw-new-error.md +6 -6
  315. package/docs/rules/typescript-array-callback-return-type.md +22 -10
  316. package/docs/rules/typescript-class-methods-use-this.md +21 -21
  317. package/docs/rules/typescript-consistent-array-type-name.md +6 -6
  318. package/docs/rules/typescript-define-function-in-one-statement.md +6 -6
  319. package/docs/rules/typescript-exhaustive-switch.md +20 -20
  320. package/docs/rules/typescript-no-boolean-literal-type.md +10 -10
  321. package/docs/rules/typescript-no-complex-declarator-type.md +15 -15
  322. package/docs/rules/typescript-no-complex-return-type.md +9 -9
  323. package/docs/rules/typescript-no-empty-interfaces.md +7 -7
  324. package/docs/rules/typescript-no-inferrable-types.md +10 -10
  325. package/docs/rules/typescript-no-multi-type-tuples.md +6 -6
  326. package/docs/rules/typescript-no-never.md +8 -8
  327. package/docs/rules/typescript-no-redundant-undefined-const.md +6 -6
  328. package/docs/rules/typescript-no-redundant-undefined-default-parameter.md +11 -11
  329. package/docs/rules/typescript-no-redundant-undefined-let.md +6 -6
  330. package/docs/rules/typescript-no-redundant-undefined-optional.md +9 -9
  331. package/docs/rules/typescript-no-redundant-undefined-promise-return-type.md +17 -17
  332. package/docs/rules/typescript-no-redundant-undefined-readonly-property.md +14 -14
  333. package/docs/rules/typescript-no-redundant-undefined-return-type.md +16 -16
  334. package/docs/rules/typescript-no-redundant-undefined-var.md +6 -6
  335. package/docs/rules/typescript-no-restricted-syntax.md +10 -10
  336. package/docs/rules/typescript-no-unsafe-object-assign.md +6 -6
  337. package/docs/rules/typescript-no-unsafe-object-assignment.md +6 -6
  338. package/docs/rules/typescript-prefer-array-type-alias.md +6 -6
  339. package/docs/rules/typescript-prefer-class-method.md +9 -9
  340. package/docs/rules/typescript-prefer-enum.md +11 -11
  341. package/docs/rules/typescript-prefer-named-tuple-members.md +6 -6
  342. package/docs/rules/typescript-prefer-readonly-array-parameter.md +8 -8
  343. package/docs/rules/typescript-prefer-readonly-array.md +6 -6
  344. package/docs/rules/typescript-prefer-readonly-index-signature.md +12 -12
  345. package/docs/rules/typescript-prefer-readonly-map.md +6 -6
  346. package/docs/rules/typescript-prefer-readonly-property.md +10 -10
  347. package/docs/rules/typescript-prefer-readonly-record.md +9 -7
  348. package/docs/rules/typescript-prefer-readonly-set.md +6 -6
  349. package/docs/rules/typescript-require-prop-type-annotation.md +12 -12
  350. package/docs/rules/typescript-require-readonly-array-property-type.md +12 -12
  351. package/docs/rules/typescript-require-readonly-array-return-type.md +11 -11
  352. package/docs/rules/typescript-require-readonly-array-type-alias.md +6 -6
  353. package/docs/rules/typescript-require-readonly-map-parameter-type.md +9 -9
  354. package/docs/rules/typescript-require-readonly-map-property-type.md +13 -13
  355. package/docs/rules/typescript-require-readonly-map-return-type.md +13 -13
  356. package/docs/rules/typescript-require-readonly-map-type-alias.md +7 -7
  357. package/docs/rules/typescript-require-readonly-record-parameter-type.md +8 -8
  358. package/docs/rules/typescript-require-readonly-record-property-type.md +12 -12
  359. package/docs/rules/typescript-require-readonly-record-return-type.md +12 -12
  360. package/docs/rules/typescript-require-readonly-record-type-alias.md +6 -6
  361. package/docs/rules/typescript-require-readonly-set-parameter-type.md +8 -8
  362. package/docs/rules/typescript-require-readonly-set-property-type.md +12 -12
  363. package/docs/rules/typescript-require-readonly-set-return-type.md +12 -12
  364. package/docs/rules/typescript-require-readonly-set-type-alias.md +6 -6
  365. package/docs/rules/typescript-require-this-void.md +14 -14
  366. package/docs/rules/underscore-internal.md +10 -10
  367. package/docs/rules/unused-internal-properties.md +14 -14
  368. package/docs/rules/uppercase-iife.md +8 -8
  369. package/docs/rules/words.md +6 -6
  370. package/package.json +19 -13
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Minimal starter preset: `recommended` without the `prefer-readonly*` rules.
3
+ */
4
+ export const minimal = {
5
+ rules: {
6
+ "etc-misc/consistent-optional-props": "warn",
7
+ "etc-misc/no-assign-mutated-array": "error",
8
+ "etc-misc/no-const-enum": "warn",
9
+ "etc-misc/no-implicit-any-catch": "error",
10
+ "etc-misc/no-internal": "error",
11
+ "etc-misc/no-t": "error",
12
+ "etc-misc/no-unnecessary-as-const": "warn",
13
+ "etc-misc/no-unnecessary-break": "warn",
14
+ "etc-misc/no-unnecessary-initialization": "warn",
15
+ "etc-misc/no-unnecessary-template-literal": "warn",
16
+ "etc-misc/throw-error": "error",
17
+ "etc-misc/typescript/no-boolean-literal-type": "error",
18
+ "etc-misc/typescript/require-readonly-array-return-type": "warn",
19
+ "etc-misc/typescript/require-this-void": "warn",
20
+ },
21
+ };
22
+ //# sourceMappingURL=minimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal.js","sourceRoot":"","sources":["../../src/configs/minimal.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,KAAK,EAAE;QACH,oCAAoC,EAAE,MAAM;QAC5C,kCAAkC,EAAE,OAAO;QAC3C,wBAAwB,EAAE,MAAM;QAChC,gCAAgC,EAAE,OAAO;QACzC,sBAAsB,EAAE,OAAO;QAC/B,eAAe,EAAE,OAAO;QACxB,kCAAkC,EAAE,MAAM;QAC1C,+BAA+B,EAAE,MAAM;QACvC,wCAAwC,EAAE,MAAM;QAChD,0CAA0C,EAAE,MAAM;QAClD,sBAAsB,EAAE,OAAO;QAC/B,6CAA6C,EAAE,OAAO;QACtD,wDAAwD,EAAE,MAAM;QAChE,uCAAuC,EAAE,MAAM;KAClD;CACK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AASA,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7B,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;SACjC,CAAC,CAAC;KACN,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;AAmCF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAO/B,CAAC"}
1
+ {"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAWA,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7B,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;SACjC,CAAC,CAAC;KACN,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;AA8BF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAO/B,CAAC"}
@@ -1,9 +1,8 @@
1
1
  /* eslint-disable canonical/no-reassign-imports -- Flat-config strict type-checked preset intentionally inspects imported plugin rule metadata. */
2
+ import { keyIn, objectEntries, objectFromEntries } from "ts-extras";
2
3
  import { rules as pluginRules } from "../rules.js";
3
4
  import { strict } from "./strict.js";
4
- const strictRuleEntries = Object.entries(strict.rules);
5
- const additionalTypeCheckedRuleEntries = Object.entries(pluginRules)
6
- .flatMap(([ruleName, ruleModule]) => {
5
+ const additionalTypeCheckedRuleEntries = objectEntries(pluginRules).flatMap(([ruleName, ruleModule]) => {
7
6
  if (ruleModule.meta.deprecated !== false) {
8
7
  return [];
9
8
  }
@@ -12,16 +11,15 @@ const additionalTypeCheckedRuleEntries = Object.entries(pluginRules)
12
11
  return [];
13
12
  }
14
13
  const qualifiedRuleName = `etc-misc/${ruleName}`;
15
- if (qualifiedRuleName in strict.rules) {
14
+ if (keyIn(strict.rules, qualifiedRuleName)) {
16
15
  return [];
17
16
  }
18
17
  return [[qualifiedRuleName, "error"]];
19
- })
20
- .toSorted(([leftRuleName], [rightRuleName]) => leftRuleName.localeCompare(rightRuleName));
21
- const strictTypeCheckedRules = Object.fromEntries([
22
- ...strictRuleEntries,
23
- ...additionalTypeCheckedRuleEntries,
24
- ]);
18
+ });
19
+ const strictTypeCheckedRules = {
20
+ ...strict.rules,
21
+ ...objectFromEntries(additionalTypeCheckedRuleEntries),
22
+ };
25
23
  /**
26
24
  * Strict preset augmented with every non-deprecated rule that requires type
27
25
  * information.
@@ -1 +1 @@
1
- {"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvD,MAAM,gCAAgC,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;KAC/D,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAEtB,CAAC;IAEhB,IAAI,YAAY,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,QAAQ,EAAE,CAAC;IAEjD,IAAI,iBAAiB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAU,CAAC,CAAC;AACnD,CAAC,CAAC;KACD,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAC1C,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAC5C,CAAC;AAEN,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,GAAG,iBAAiB;IACpB,GAAG,gCAAgC;CACtC,CAAsC,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,eAAe,EAAE;QACb,aAAa,EAAE;YACX,cAAc,EAAE,IAAI;SACvB;KACJ;IACD,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAEF,wIAAwI"}
1
+ {"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,MAAM,gCAAgC,GAG/B,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;IACjE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAoC,CAAC;IAE1E,IAAI,YAAY,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,QAAQ,EAAE,CAAC;IAEjD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAU,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG;IAC3B,GAAG,MAAM,CAAC,KAAK;IACf,GAAG,iBAAiB,CAAC,gCAAgC,CAAC;CACb,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,eAAe,EAAE;QACb,aAAa,EAAE;YACX,cAAc,EAAE,IAAI;SACvB;KACJ;IACD,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAEF,wIAAwI"}
@@ -1 +1 @@
1
- {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,SAAS,IAAI,MAAM,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO;CAClE,CAAC,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAEpB,CAAC"}
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,SAAS,IAAI,MAAM,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO;CAClE,CAAC,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAEpB,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { objectFromEntries, objectKeys, safeCastTo } from "ts-extras";
1
2
  import { recommended } from "./recommended.js";
2
- const recommendedRuleNames = Object.keys(recommended.rules);
3
- const strictRules = Object.fromEntries(recommendedRuleNames.map((ruleName) => [ruleName, "error"]));
3
+ const recommendedRuleNames = safeCastTo(objectKeys(recommended.rules));
4
+ const strictRules = objectFromEntries(recommendedRuleNames.map((ruleName) => [ruleName, "error"]));
4
5
  /**
5
6
  * Strict preset that promotes every recommended rule to `error`.
6
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAU/C,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CACpC,WAAW,CAAC,KAAK,CAC2B,CAAC;AAEjD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAClC,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC,CACxD,CAAC;AAEjB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,KAAK,EAAE,WAAW;CACrB,CAAC"}
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAU/C,MAAM,oBAAoB,GAAG,UAAU,CAErC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjC,MAAM,WAAW,GAAG,iBAAiB,CACjC,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC,CACxD,CAAC;AAEjB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,KAAK,EAAE,WAAW;CACrB,CAAC"}
package/dist/configs.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { pluginMeta } from "./_internal/plugin-meta.js";
2
2
  import { allStrict as allStrictConfig } from "./configs/all-strict.js";
3
3
  import { all as allConfig } from "./configs/all.js";
4
+ import { minimal as minimalConfig } from "./configs/minimal.js";
4
5
  import { recommended as recommendedConfig } from "./configs/recommended.js";
5
6
  import { strictTypeChecked as strictTypeCheckedConfig } from "./configs/strict-type-checked.js";
6
7
  import { strict as strictConfig } from "./configs/strict.js";
@@ -20,6 +21,7 @@ type RuleSeverity = "error" | "warn";
20
21
  export type PluginConfigs = {
21
22
  readonly all: PresetWithPlugin<typeof allConfig.rules>;
22
23
  readonly allStrict: PresetWithPlugin<typeof allStrictConfig.rules>;
24
+ readonly minimal: PresetWithPlugin<typeof minimalConfig.rules>;
23
25
  readonly recommended: PresetWithPlugin<typeof recommendedConfig.rules>;
24
26
  readonly strict: PresetWithPlugin<typeof strictConfig.rules>;
25
27
  readonly strictTypeChecked: PresetWithPlugin<typeof strictTypeCheckedConfig.rules> & {
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,OAAO,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI;IAC3E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACtB,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CACvD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAkBrC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IACnE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CACxC,OAAO,uBAAuB,CAAC,KAAK,CACvC,GAAG;QACA,QAAQ,CAAC,eAAe,EAAE,OAAO,uBAAuB,CAAC,eAAe,CAAC;KAC5E,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,aASrB,CAAC"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,OAAO,UAAU,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI;IAC3E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACtB,MAAM,CAAC,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,CAAC,CACvD,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAkBrC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CACxC,OAAO,uBAAuB,CAAC,KAAK,CACvC,GAAG;QACA,QAAQ,CAAC,eAAe,EAAE,OAAO,uBAAuB,CAAC,eAAe,CAAC;KAC5E,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,aAUrB,CAAC"}
package/dist/configs.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { pluginMeta } from "./_internal/plugin-meta.js";
3
3
  import { allStrict as allStrictConfig } from "./configs/all-strict.js";
4
4
  import { all as allConfig } from "./configs/all.js";
5
+ import { minimal as minimalConfig } from "./configs/minimal.js";
5
6
  import { recommended as recommendedConfig } from "./configs/recommended.js";
6
7
  import { strictTypeChecked as strictTypeCheckedConfig } from "./configs/strict-type-checked.js";
7
8
  import { strict as strictConfig } from "./configs/strict.js";
@@ -22,6 +23,7 @@ const withPluginReference = (config) => ({
22
23
  export const configs = {
23
24
  all: withPluginReference(allConfig),
24
25
  allStrict: withPluginReference(allStrictConfig),
26
+ minimal: withPluginReference(minimalConfig),
25
27
  recommended: withPluginReference(recommendedConfig),
26
28
  strict: withPluginReference(strictConfig),
27
29
  strictTypeChecked: {
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,iIAAiI;AAEjI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAgBnC,MAAM,eAAe,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,KAAK;CACR,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAGxB,MAA4C,EACpB,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE;QACL,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe;KAC1C;IACD,KAAK,EAAE,MAAM,CAAC,KAAK;CACtB,CAAC,CAAC;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IAClC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACnC,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC;IAC/C,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;IACnD,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;IACzC,iBAAiB,EAAE;QACf,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;QAC/C,eAAe,EAAE,uBAAuB,CAAC,eAAe;KAC3D;CACJ,CAAC;AAEF,kJAAkJ"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,iIAAiI;AAEjI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAgBnC,MAAM,eAAe,GAAoB;IACrC,IAAI,EAAE,UAAU;IAChB,KAAK;CACR,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAGxB,MAA4C,EACpB,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE;QACL,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe;KAC1C;IACD,KAAK,EAAE,MAAM,CAAC,KAAK;CACtB,CAAC,CAAC;AAkBH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IAClC,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACnC,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC;IAC/C,OAAO,EAAE,mBAAmB,CAAC,aAAa,CAAC;IAC3C,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;IACnD,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;IACzC,iBAAiB,EAAE;QACf,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;QAC/C,eAAe,EAAE,uBAAuB,CAAC,eAAe;KAC3D;CACJ,CAAC;AAEF,kJAAkJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"comment-spacing.d.ts","sourceRoot":"","sources":["../../src/rules/comment-spacing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,gBAAgB,CAAC;AAEnC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAkC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAwD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"comment-spacing.d.ts","sourceRoot":"","sources":["../../src/rules/comment-spacing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,gBAAgB,CAAC;AAEnC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAkC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAwD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { arrayFirst } from "ts-extras";
1
2
  import { ruleCreator } from "../_internal/rule-creator.js";
2
3
  const isEslintDirectiveComment = (comment) => comment.type === "Block" && comment.value.trimStart().startsWith("eslint-");
3
4
  const expectedBlankLines = (comment) => {
@@ -7,10 +8,10 @@ const expectedBlankLines = (comment) => {
7
8
  return /\r\n|\n/u.test(comment.value) ? 1 : 0;
8
9
  };
9
10
  const buildFix = (sourceCode, comment, nextNode, expected) => (fixer) => {
10
- const textBetween = sourceCode.text.slice(comment.range[1], nextNode.range[0]);
11
+ const textBetween = sourceCode.text.slice(comment.range[1], arrayFirst(nextNode.range));
11
12
  const lineEnding = textBetween.includes("\r\n") ? "\r\n" : "\n";
12
13
  const indentation = " ".repeat(nextNode.loc.start.column);
13
- return fixer.replaceTextRange([comment.range[1], nextNode.range[0]], `${lineEnding.repeat(expected + 1)}${indentation}`);
14
+ return fixer.replaceTextRange([comment.range[1], arrayFirst(nextNode.range)], `${lineEnding.repeat(expected + 1)}${indentation}`);
14
15
  };
15
16
  /**
16
17
  * Enforce consistent blank-line spacing after comments.
@@ -1 +1 @@
1
- {"version":3,"file":"comment-spacing.js","sourceRoot":"","sources":["../../src/rules/comment-spacing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-spacing.js","sourceRoot":"","sources":["../../src/rules/comment-spacing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-empty-lines.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-empty-lines.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA6C3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA0C5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-empty-lines.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-empty-lines.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA6C3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA0C5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { arrayJoin, stringSplit } from "ts-extras";
1
2
  import { ruleCreator } from "../_internal/rule-creator.js";
2
- const splitLines = (sourceText) => sourceText.split(/\r?\n/u);
3
+ const splitLines = (sourceText) => stringSplit(sourceText.replaceAll(/\r\n?/gu, "\n"), "\n");
3
4
  const collapseEmptyLines = (sourceText) => {
4
5
  const lines = splitLines(sourceText);
5
6
  let output = [];
@@ -16,7 +17,7 @@ const collapseEmptyLines = (sourceText) => {
16
17
  }
17
18
  emptyRun += 1;
18
19
  }
19
- return output.join("\n");
20
+ return arrayJoin(output, "\n");
20
21
  };
21
22
  const hasTooManyEmptyLines = (sourceText) => {
22
23
  let emptyRun = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-empty-lines.js","sourceRoot":"","sources":["../../src/rules/consistent-empty-lines.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAqB,EAAE,CACzD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE/B,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAU,EAAE;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,MAAM,GAAsB,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,QAAQ,GAAG,CAAC,CAAC;YACb,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3B,SAAS;QACb,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAW,EAAE;IACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,QAAQ,IAAI,CAAC,CAAC;YACd,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,IAA0B,EAAQ,EAAE;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,GAAG,EAAE,CAAC,KAAK,EAAoB,EAAE,CAC7B,KAAK,CAAC,gBAAgB,CAClB,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EACtB,kBAAkB,CAAC,UAAU,CAAC,CACjC;gBACL,SAAS,EAAE,cAAc;gBACzB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,6CAA6C;YAC1D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,uFAAuF;SAC/F;QACD,OAAO,EAAE,YAAY;QACrB,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,YAAY,EACR,qEAAqE;SAC5E;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE,wBAAwB;CACjC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-empty-lines.js","sourceRoot":"","sources":["../../src/rules/consistent-empty-lines.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-filename.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-filename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AAMF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAkE5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAe3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"consistent-filename.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-filename.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AAMF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAkE5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAe3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,8 +1,9 @@
1
+ import { safeCastTo } from "ts-extras";
1
2
  import { filenameStem, toCasing } from "../_internal/casing.js";
2
3
  import { ruleCreator } from "../_internal/rule-creator.js";
3
4
  import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
4
5
  const defaultOptions = {
5
- format: "kebab-case",
6
+ format: safeCastTo("kebab-case"),
6
7
  };
7
8
  /**
8
9
  * Enforce filename casing consistency with optional selector-based overrides.
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-filename.js","sourceRoot":"","sources":["../../src/rules/consistent-filename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAU1C,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,YAAsB;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,EAAQ,EAAE;YACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;YACX,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,QAAQ,CACrB,IAAI,EACJ,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAC1C,CAAC;YACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE;oBACF,QAAQ;iBACX;gBACD,SAAS,EAAE,cAAc;gBACzB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACF,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,oFAAoF;SAC5F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,YAAY,EAAE,4CAA4C;SAC7D;QACD,MAAM,EAAE;YACJ;gBACI,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EACP,4DAA4D;gBAChE,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,WAAW,EACP,4CAA4C;wBAChD,IAAI,EAAE;4BACF,WAAW;4BACX,YAAY;4BACZ,YAAY;yBACf;wBACD,IAAI,EAAE,QAAQ;qBACjB;iBACJ;gBACD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAgB,2BAA2B,CAAC,IAAI,EAAE;IAClE,OAAO,EAAE,+CAA+C;IACxD,UAAU,EAAE;QACR,yBAAyB,CAAC;YACtB,MAAM,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,uDAAuD;aAC/D;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,6FAA6F;aACrG;SACJ,CAAC;KACL;IACD,MAAM,EAAE,qBAAqB;CAChC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"consistent-filename.js","sourceRoot":"","sources":["../../src/rules/consistent-filename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAe,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAU1C,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE,UAAU,CAAS,YAAY,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,EAAQ,EAAE;YACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;YACX,CAAC;YAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,QAAQ,CACrB,IAAI,EACJ,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAC1C,CAAC;YACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE;oBACF,QAAQ;iBACX;gBACD,SAAS,EAAE,cAAc;gBACzB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,cAAc,CAAC;QAChC,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACF,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,oFAAoF;SAC5F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,YAAY,EAAE,4CAA4C;SAC7D;QACD,MAAM,EAAE;YACJ;gBACI,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EACP,4DAA4D;gBAChE,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,WAAW,EACP,4CAA4C;wBAChD,IAAI,EAAE;4BACF,WAAW;4BACX,YAAY;4BACZ,YAAY;yBACf;wBACD,IAAI,EAAE,QAAQ;qBACjB;iBACJ;gBACD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAgB,2BAA2B,CAAC,IAAI,EAAE;IAClE,OAAO,EAAE,+CAA+C;IACxD,UAAU,EAAE;QACR,yBAAyB,CAAC;YACtB,MAAM,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,uDAAuD;aAC/D;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,6FAA6F;aACrG;SACJ,CAAC;KACL;IACD,MAAM,EAAE,qBAAqB;CAChC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-import.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-import.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;AAE/E,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;KAChC,CAAC;CACL,CAAC;AAgCF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA6E5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-import.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-import.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;AAE/E,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;KAChC,CAAC;CACL,CAAC;AAgCF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA6E5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { isDefined } from "ts-extras";
1
2
  import { ruleCreator } from "../_internal/rule-creator.js";
2
3
  const styleFromImport = (node) => {
3
4
  if (node.specifiers.length === 0) {
@@ -31,7 +32,7 @@ const rule = ruleCreator({
31
32
  const source = node.source.value;
32
33
  const style = styleFromImport(node);
33
34
  const expected = options.style ?? seen.get(source) ?? style;
34
- if (options.style === undefined) {
35
+ if (!isDefined(options.style)) {
35
36
  seen.set(source, expected);
36
37
  }
37
38
  if (style === expected) {
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-import.js","sourceRoot":"","sources":["../../src/rules/consistent-import.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAY3D,MAAM,eAAe,GAAG,CAAC,IAAoC,EAAe,EAAE;IAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,wBAAwB,CAC7D,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACjC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,CACtD,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACrC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,0BAA0B,CAC/D,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE5C,OAAO;YACH,iBAAiB,EAAE,CAAC,IAAoC,EAAQ,EAAE;gBAC9D,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACxC,OAAO;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;gBAC5D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrB,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACX,IAAI,EAAE;wBACF,QAAQ;wBACR,MAAM;qBACT;oBACD,SAAS,EAAE,cAAc;oBACzB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,EAAE,CAAC;QACpB,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,gEAAgE;YACpE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,kFAAkF;SAC1F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,YAAY,EACR,yEAAyE;SAChF;QACD,MAAM,EAAE;YACJ;gBACI,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EACP,gEAAgE;gBACpE,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,WAAW,EACP,iDAAiD;wBACrD,IAAI,EAAE;4BACF,SAAS;4BACT,OAAO;4BACP,OAAO;4BACP,WAAW;4BACX,aAAa;yBAChB;wBACD,IAAI,EAAE,QAAQ;qBACjB;iBACJ;gBACD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-import.js","sourceRoot":"","sources":["../../src/rules/consistent-import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-optional-props.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-optional-props.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAkC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAsD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-optional-props.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-optional-props.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAqC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAsD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,8 +1,9 @@
1
+ import { arrayJoin, isDefined, isEmpty } from "ts-extras";
1
2
  import { ruleCreator } from "../_internal/rule-creator.js";
2
- const selector = [
3
+ const selector = arrayJoin([
3
4
  "TSPropertySignature[optional=true] > TSTypeAnnotation > TSUnionType",
4
5
  "PropertyDefinition[optional=true] > TSTypeAnnotation > TSUnionType",
5
- ].join(", ");
6
+ ], ", ");
6
7
  const buildOptionalUnionFixText = (sourceCode, unionType) => {
7
8
  let nonUndefinedTypeTexts = [];
8
9
  for (const typeNode of unionType.types) {
@@ -14,11 +15,11 @@ const buildOptionalUnionFixText = (sourceCode, unionType) => {
14
15
  sourceCode.getText(typeNode),
15
16
  ];
16
17
  }
17
- if (nonUndefinedTypeTexts.length === 0 ||
18
+ if (isEmpty(nonUndefinedTypeTexts) ||
18
19
  nonUndefinedTypeTexts.length === unionType.types.length) {
19
20
  return undefined;
20
21
  }
21
- return nonUndefinedTypeTexts.join(" | ");
22
+ return arrayJoin(nonUndefinedTypeTexts, " | ");
22
23
  };
23
24
  /**
24
25
  * Disallow redundant `undefined` unions on already-optional properties.
@@ -32,7 +33,7 @@ const rule = ruleCreator({
32
33
  return;
33
34
  }
34
35
  const fixedTypeText = buildOptionalUnionFixText(sourceCode, node);
35
- if (fixedTypeText === undefined) {
36
+ if (!isDefined(fixedTypeText)) {
36
37
  return;
37
38
  }
38
39
  const fix = (fixer) => fixer.replaceText(node, fixedTypeText);
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-optional-props.js","sourceRoot":"","sources":["../../src/rules/consistent-optional-props.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG;IACb,qEAAqE;IACrE,oEAAoE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,yBAAyB,GAAG,CAC9B,UAAyC,EACzC,SAAmC,EACjB,EAAE;IACpB,IAAI,qBAAqB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,SAAS;QACb,CAAC;QAED,qBAAqB,GAAG;YACpB,GAAG,qBAAqB;YACxB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,IACI,qBAAqB,CAAC,MAAM,KAAK,CAAC;QAClC,qBAAqB,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,EACzD,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,OAAO;YACH,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;gBAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC9B,OAAO;gBACX,CAAC;gBAED,MAAM,aAAa,GAAG,yBAAyB,CAC3C,UAAU,EACV,IAAI,CACP,CAAC;gBACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,CACR,KAAmC,EACnB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAE9D,OAAO,CAAC,MAAM,CAAC;oBACX,GAAG;oBACH,SAAS,EAAE,WAAW;oBACtB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,0EAA0E;YAC9E,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,0FAA0F;SAClG;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,qFAAqF;SAC5F;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,2BAA2B;CACpC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"consistent-optional-props.js","sourceRoot":"","sources":["../../src/rules/consistent-optional-props.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG,SAAS,CACtB;IACI,qEAAqE;IACrE,oEAAoE;CACvE,EACD,IAAI,CACP,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAC9B,UAAyC,EACzC,SAAmC,EACjB,EAAE;IACpB,IAAI,qBAAqB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACzC,SAAS;QACb,CAAC;QAED,qBAAqB,GAAG;YACpB,GAAG,qBAAqB;YACxB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,IACI,OAAO,CAAC,qBAAqB,CAAC;QAC9B,qBAAqB,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,EACzD,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,OAAO;YACH,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;gBAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC9B,OAAO;gBACX,CAAC;gBAED,MAAM,aAAa,GAAG,yBAAyB,CAC3C,UAAU,EACV,IAAI,CACP,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5B,OAAO;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,CACR,KAAmC,EACnB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAE9D,OAAO,CAAC,MAAM,CAAC;oBACX,GAAG;oBACH,SAAS,EAAE,WAAW;oBACtB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,0EAA0E;YAC9E,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,0FAA0F;SAClG;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,qFAAqF;SAC5F;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,2BAA2B;CACpC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-matching-filename-only.d.ts","sourceRoot":"","sources":["../../src/rules/export-matching-filename-only.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,YAAY,CAAC;AAE/B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AA4BF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmG5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"export-matching-filename-only.d.ts","sourceRoot":"","sources":["../../src/rules/export-matching-filename-only.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,YAAY,CAAC;AAE/B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AA4BF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmG5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { resolve } from "node:path";
2
+ import { isEmpty } from "ts-extras";
2
3
  import { filenameStem, toCasing } from "../_internal/casing.js";
3
4
  import { ruleCreator } from "../_internal/rule-creator.js";
4
5
  const exportedNamesFromDeclaration = (node) => {
@@ -43,7 +44,7 @@ const rule = ruleCreator({
43
44
  const stem = filenameStem(resolve(context.filename));
44
45
  const expected = toCasing(stem, options.format ?? "PascalCase");
45
46
  const matching = exports.filter((entry) => entry.name === expected);
46
- if (matching.length === 0 || exports.length <= 1) {
47
+ if (isEmpty(matching) || exports.length <= 1) {
47
48
  return;
48
49
  }
49
50
  for (const entry of exports) {
@@ -1 +1 @@
1
- {"version":3,"file":"export-matching-filename-only.js","sourceRoot":"","sources":["../../src/rules/export-matching-filename-only.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAe,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAU3D,MAAM,4BAA4B,GAAG,CACjC,IAAyC,EACxB,EAAE;IACnB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU;aACjB,MAAM,CACH,CAAC,SAAS,EAAmC,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,iBAAiB,CAC3C;aACA,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACnB,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;YACpC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,EAAE,CACX,CAAC;IACV,CAAC;IAED,IACI,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,kBAAkB;QAC7C,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,qBAAqB,EAClD,CAAC;QACC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;QAC3B,IAAI,OAAO,GAGL,EAAE,CAAC;QAET,OAAO;YACH,wBAAwB,EAAE,CACtB,IAA2C,EACvC,EAAE;gBACN,OAAO,GAAG;oBACN,GAAG,OAAO;oBACV;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI;qBACP;iBACJ,CAAC;YACN,CAAC;YACD,sBAAsB,EAAE,CACpB,IAAyC,EACrC,EAAE;gBACN,KAAK,MAAM,IAAI,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;YACD,cAAc,EAAE,GAAS,EAAE;gBACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CACrC,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC/C,OAAO;gBACX,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,SAAS;oBACb,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC;wBACX,IAAI,EAAE;4BACF,QAAQ;yBACX;wBACD,SAAS,EAAE,YAAY;wBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACnB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC1C,IAAI,EAAE;QACF,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC1C,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,0DAA0D;YAC9D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,8FAA8F;SACtG;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,UAAU,EACN,yEAAyE;SAChF;QACD,MAAM,EAAE;YACJ;gBACI,oBAAoB,EAAE,KAAK;gBAC3B,WAAW,EACP,gEAAgE;gBACpE,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,WAAW,EACP,kEAAkE;wBACtE,IAAI,EAAE;4BACF,WAAW;4BACX,YAAY;4BACZ,YAAY;yBACf;wBACD,IAAI,EAAE,QAAQ;qBACjB;iBACJ;gBACD,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,+BAA+B;CACxC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"export-matching-filename-only.js","sourceRoot":"","sources":["../../src/rules/export-matching-filename-only.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"match-filename.d.ts","sourceRoot":"","sources":["../../src/rules/match-filename.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,UAAU,CAAC;AAE7B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;QAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AAuBF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAqH5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"match-filename.d.ts","sourceRoot":"","sources":["../../src/rules/match-filename.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,UAAU,CAAC;AAE7B,KAAK,OAAO,GAAG,SAAS;IACpB,QAAQ,CAAC;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;QAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL,CAAC;AAuBF;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAqH5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { resolve } from "node:path";
2
+ import { isDefined } from "ts-extras";
2
3
  import { filenameStem, toCasing } from "../_internal/casing.js";
3
4
  import { ruleCreator } from "../_internal/rule-creator.js";
4
5
  const defaultSelectors = [
@@ -8,7 +9,7 @@ const defaultSelectors = [
8
9
  "TSTypeAliasDeclaration > Identifier.id",
9
10
  ];
10
11
  const normalizeSelector = (selector) => {
11
- if (selector === undefined) {
12
+ if (!isDefined(selector)) {
12
13
  return defaultSelectors;
13
14
  }
14
15
  if (typeof selector === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"match-filename.js","sourceRoot":"","sources":["../../src/rules/match-filename.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"match-filename.js","sourceRoot":"","sources":["../../src/rules/match-filename.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"max-identifier-blocks.d.ts","sourceRoot":"","sources":["../../src/rules/max-identifier-blocks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAS3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAuC5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"max-identifier-blocks.d.ts","sourceRoot":"","sources":["../../src/rules/max-identifier-blocks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAS3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAuC5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1,10 +1,8 @@
1
+ import { arrayJoin } from "ts-extras";
1
2
  import { countIdentifierBlocks } from "../_internal/identifier-blocks.js";
2
3
  import { ruleCreator } from "../_internal/rule-creator.js";
3
4
  const maxIdentifierBlocks = 4;
4
- const disallowedSelector = [
5
- "Identifier.id",
6
- ":not(Property[shorthand=true]) > Identifier.key",
7
- ].join(", ");
5
+ const disallowedSelector = arrayJoin(["Identifier.id", ":not(Property[shorthand=true]) > Identifier.key"], ", ");
8
6
  /**
9
7
  * Disallow identifiers containing more than four casing blocks.
10
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"max-identifier-blocks.js","sourceRoot":"","sources":["../../src/rules/max-identifier-blocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,MAAM,kBAAkB,GAAG;IACvB,eAAe;IACf,iDAAiD;CACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAA6B,EAAQ,EAAE;YAC1D,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE;oBACF,GAAG,EAAE,mBAAmB;iBAC3B;gBACD,SAAS,EAAE,WAAW;gBACtB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,yDAAyD;YAC7D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,sFAAsF;SAC9F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,yDAAyD;SAChE;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,uBAAuB;CAChC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"max-identifier-blocks.js","sourceRoot":"","sources":["../../src/rules/max-identifier-blocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,MAAM,kBAAkB,GAAG,SAAS,CAChC,CAAC,eAAe,EAAE,iDAAiD,CAAC,EACpE,IAAI,CACP,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAA6B,EAAQ,EAAE;YAC1D,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE;oBACF,GAAG,EAAE,mBAAmB;iBAC3B;gBACD,SAAS,EAAE,WAAW;gBACtB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,yDAAyD;YAC7D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,sFAAsF;SAC9F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,yDAAyD;SAChE;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,uBAAuB;CAChC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-assign-mutated-array.d.ts","sourceRoot":"","sources":["../../src/rules/no-assign-mutated-array.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAqF9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CAiE5D,CAAC;AAEP,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"no-assign-mutated-array.d.ts","sourceRoot":"","sources":["../../src/rules/no-assign-mutated-array.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAqF9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CAiE5D,CAAC;AAEP,eAAe,IAAI,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { containsAllTypesByName, getConstrainedTypeAtLocation, isTypeArrayTypeOrUnionOfArrayTypes, } from "@typescript-eslint/type-utils";
2
2
  import { ESLintUtils } from "@typescript-eslint/utils";
3
+ import { setHas } from "ts-extras";
3
4
  import { ruleCreator } from "../_internal/rule-creator.js";
4
5
  const readonlyArrayTypeNames = new Set(["ReadonlyArray"]);
5
6
  const isArrayLikeType = (typeChecker, type) => {
@@ -46,7 +47,7 @@ const mutatesReferencedArray = (callExpression) => {
46
47
  }
47
48
  const { object, property } = callExpression.callee;
48
49
  if (property.type === "Identifier" &&
49
- creatorMethodNames.has(property.name)) {
50
+ setHas(creatorMethodNames, property.name)) {
50
51
  return false;
51
52
  }
52
53
  if (isNewArray(object)) {
@@ -1 +1 @@
1
- {"version":3,"file":"no-assign-mutated-array.js","sourceRoot":"","sources":["../../src/rules/no-assign-mutated-array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-assign-mutated-array.js","sourceRoot":"","sources":["../../src/rules/no-assign-mutated-array.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAW3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAiM9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CA+E5D,CAAC;AAEP;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAgB3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAW3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAgM9B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CA+E5D,CAAC;AAEP;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAgB3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import parser from "@typescript-eslint/parser";
2
+ import { arrayFirst, arrayJoin, isDefined, stringSplit } from "ts-extras";
2
3
  import { ruleCreator } from "../_internal/rule-creator.js";
3
4
  import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
4
5
  const parserOptions = {
@@ -33,10 +34,7 @@ const stripLeadingAsterisk = (line) => {
33
34
  }
34
35
  return trimmedLine.slice(1);
35
36
  };
36
- const normalizeBlockCommentContent = (content) => content
37
- .split("\n")
38
- .map((line) => stripLeadingAsterisk(line))
39
- .join("\n");
37
+ const normalizeBlockCommentContent = (content) => arrayJoin(stringSplit(content, "\n").map((line) => stripLeadingAsterisk(line)), "\n");
40
38
  const toLocCopy = (loc) => ({
41
39
  end: loc.end,
42
40
  start: loc.start,
@@ -60,26 +58,25 @@ const toCommentBlocks = (comments) => {
60
58
  ? blocks.length - 1
61
59
  : -1;
62
60
  const previousBlock = previousBlockIndex >= 0 ? blocks[previousBlockIndex] : undefined;
63
- blocks =
64
- previousBlock === undefined
65
- ? [
66
- ...blocks,
67
- {
68
- content: comment.value,
69
- loc: toLocCopy(comment.loc),
70
- },
71
- ]
72
- : [
73
- ...blocks.slice(0, previousBlockIndex),
74
- {
75
- content: `${previousBlock.content}\n${comment.value}`,
76
- loc: {
77
- end: comment.loc.end,
78
- start: previousBlock.loc.start,
79
- },
61
+ blocks = isDefined(previousBlock)
62
+ ? [
63
+ ...blocks.slice(0, previousBlockIndex),
64
+ {
65
+ content: `${previousBlock.content}\n${comment.value}`,
66
+ loc: {
67
+ end: comment.loc.end,
68
+ start: previousBlock.loc.start,
80
69
  },
81
- ...blocks.slice(previousBlockIndex + 1),
82
- ];
70
+ },
71
+ ...blocks.slice(previousBlockIndex + 1),
72
+ ]
73
+ : [
74
+ ...blocks,
75
+ {
76
+ content: comment.value,
77
+ loc: toLocCopy(comment.loc),
78
+ },
79
+ ];
83
80
  previousLineComment = comment;
84
81
  }
85
82
  return blocks;
@@ -99,7 +96,7 @@ const isTrivialProgram = (program) => {
99
96
  return true;
100
97
  }
101
98
  if (program.body.length === 1 &&
102
- program.body[0]?.type === "LabeledStatement") {
99
+ arrayFirst(program.body)?.type === "LabeledStatement") {
103
100
  return true;
104
101
  }
105
102
  return program.body.every((statement) => statement.type === "ExpressionStatement" &&
@@ -163,7 +160,7 @@ const rule = ruleCreator({
163
160
  const index = sourceCode.getIndexFromLoc(block.loc.start);
164
161
  const node = sourceCode.getNodeByRangeIndex(index);
165
162
  const wrappedContent = getWrappedContent(block.content, node);
166
- if (wrappedContent === undefined) {
163
+ if (!isDefined(wrappedContent)) {
167
164
  continue;
168
165
  }
169
166
  const [nextCacheAfterWrappedParse, parsedWrappedComment,] = parseCommentProgram(parseCache, wrappedContent);