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
@@ -58,16 +58,18 @@ enabling this rule at `error`.
58
58
 
59
59
  ```ts
60
60
  type Options = [
61
- {
62
- format?: "camelCase" | "kebab-case" | "PascalCase";
63
- },
61
+ {
62
+ format?: "camelCase" | "kebab-case" | "PascalCase";
63
+ },
64
64
  ];
65
65
  ```
66
66
 
67
67
  Default:
68
68
 
69
69
  ```ts
70
- { format: "PascalCase" }
70
+ {
71
+ format: "PascalCase";
72
+ }
71
73
  ```
72
74
 
73
75
  ## Additional examples
@@ -85,12 +87,12 @@ export { userService };
85
87
  import etcMisc from "eslint-plugin-etc-misc";
86
88
 
87
89
  export default [
88
- {
89
- plugins: { "etc-misc": etcMisc },
90
- rules: {
91
- "etc-misc/export-matching-filename-only": "error",
92
- },
93
- },
90
+ {
91
+ plugins: { "etc-misc": etcMisc },
92
+ rules: {
93
+ "etc-misc/export-matching-filename-only": "error",
94
+ },
95
+ },
94
96
  ];
95
97
  ```
96
98
 
@@ -21,8 +21,8 @@ export default [
21
21
  ];
22
22
  ```
23
23
 
24
- Use `recommended` first, then move through stricter presets as your baseline
25
- stabilizes.
24
+ Use `minimal` or `recommended` first, then move through stricter presets as
25
+ your baseline stabilizes.
26
26
 
27
27
  ## Alternative: manual scoped setup
28
28
 
@@ -58,9 +58,10 @@ Use this pattern when you only extend rules and want full control over parser se
58
58
 
59
59
  ## Recommended rollout
60
60
 
61
- 1. Start with `recommended`.
62
- 2. Promote to `strict` when you want the same rules to hard-fail.
63
- 3. Move to `strictTypeChecked` once your lint config is fully type-aware.
64
- 4. Adopt `allStrict` or `all` when you want full rule coverage.
61
+ 1. Start with `minimal` if you want to defer the `typescript/prefer-readonly*` rules.
62
+ 2. Move to `recommended` for the full baseline.
63
+ 3. Promote to `strict` when you want the same rules to hard-fail.
64
+ 4. Move to `strictTypeChecked` once your lint config is fully type-aware.
65
+ 5. Adopt `allStrict` or `all` when you want full rule coverage.
65
66
 
66
67
  See the **Presets** section in this sidebar for details and examples.
@@ -57,13 +57,13 @@ once naming conventions are stable.
57
57
 
58
58
  ```ts
59
59
  type Options = [
60
- {
61
- format?: "camelCase" | "kebab-case" | "PascalCase";
62
- match?: boolean;
63
- prefix?: string;
64
- selector?: string | string[];
65
- suffix?: string;
66
- },
60
+ {
61
+ format?: "camelCase" | "kebab-case" | "PascalCase";
62
+ match?: boolean;
63
+ prefix?: string;
64
+ selector?: string | string[];
65
+ suffix?: string;
66
+ },
67
67
  ];
68
68
  ```
69
69
 
@@ -88,12 +88,12 @@ export function userService() {}
88
88
  import etcMisc from "eslint-plugin-etc-misc";
89
89
 
90
90
  export default [
91
- {
92
- plugins: { "etc-misc": etcMisc },
93
- rules: {
94
- "etc-misc/match-filename": "error",
95
- },
96
- },
91
+ {
92
+ plugins: { "etc-misc": etcMisc },
93
+ rules: {
94
+ "etc-misc/match-filename": "error",
95
+ },
96
+ },
97
97
  ];
98
98
  ```
99
99
 
@@ -28,7 +28,7 @@ const AaaBbbCccDddEee = 1;
28
28
  function aaaBbbCccDddEee() {}
29
29
 
30
30
  const obj = {
31
- veryLongCompoundIdentifierName: 1,
31
+ veryLongCompoundIdentifierName: 1,
32
32
  };
33
33
  ```
34
34
 
@@ -65,12 +65,12 @@ const parseHttpBody = true;
65
65
  import etcMisc from "eslint-plugin-etc-misc";
66
66
 
67
67
  export default [
68
- {
69
- plugins: { "etc-misc": etcMisc },
70
- rules: {
71
- "etc-misc/max-identifier-blocks": "error",
72
- },
73
- },
68
+ {
69
+ plugins: { "etc-misc": etcMisc },
70
+ rules: {
71
+ "etc-misc/max-identifier-blocks": "error",
72
+ },
73
+ },
74
74
  ];
75
75
  ```
76
76
 
@@ -26,12 +26,20 @@ mutating shared state, which causes subtle bugs.
26
26
  ## ❌ Incorrect
27
27
 
28
28
  ```ts
29
- const names = ["c", "a", "b"];
29
+ const names = [
30
+ "c",
31
+ "a",
32
+ "b",
33
+ ];
30
34
  const sorted = names.sort();
31
35
  ```
32
36
 
33
37
  ```ts
34
- const names = ["c", "a", "b"];
38
+ const names = [
39
+ "c",
40
+ "a",
41
+ "b",
42
+ ];
35
43
  print(names.reverse());
36
44
  ```
37
45
 
@@ -43,17 +51,29 @@ return sorted;
43
51
  ## ✅ Correct
44
52
 
45
53
  ```ts
46
- const names = ["c", "a", "b"];
54
+ const names = [
55
+ "c",
56
+ "a",
57
+ "b",
58
+ ];
47
59
  names.sort();
48
60
  ```
49
61
 
50
62
  ```ts
51
- const names = ["c", "a", "b"];
63
+ const names = [
64
+ "c",
65
+ "a",
66
+ "b",
67
+ ];
52
68
  const sorted = names.slice().sort();
53
69
  ```
54
70
 
55
71
  ```ts
56
- const names = ["c", "a", "b"];
72
+ const names = [
73
+ "c",
74
+ "a",
75
+ "b",
76
+ ];
57
77
  const sorted = names.map((name) => name).reverse();
58
78
  ```
59
79
 
@@ -88,12 +108,12 @@ const result2 = source.sort();
88
108
  import etcMisc from "eslint-plugin-etc-misc";
89
109
 
90
110
  export default [
91
- {
92
- plugins: { "etc-misc": etcMisc },
93
- rules: {
94
- "etc-misc/no-assign-mutated-array": "error",
95
- },
96
- },
111
+ {
112
+ plugins: { "etc-misc": etcMisc },
113
+ rules: {
114
+ "etc-misc/no-assign-mutated-array": "error",
115
+ },
116
+ },
97
117
  ];
98
118
  ```
99
119
 
@@ -39,8 +39,8 @@ Typical migration is replacing `"@"` with a concrete module path like
39
39
 
40
40
  ```ts
41
41
  type Options = {
42
- allow?: string[];
43
- disallow?: string[];
42
+ allow?: string[];
43
+ disallow?: string[];
44
44
  };
45
45
  ```
46
46
 
@@ -48,7 +48,7 @@ Default:
48
48
 
49
49
  ```json
50
50
  {
51
- "disallow": ["@"]
51
+ "disallow": ["@"]
52
52
  }
53
53
  ```
54
54
 
@@ -68,12 +68,12 @@ export { value } from "@/core/value";
68
68
  import etcMisc from "eslint-plugin-etc-misc";
69
69
 
70
70
  export default [
71
- {
72
- plugins: { "etc-misc": etcMisc },
73
- rules: {
74
- "etc-misc/no-at-sign-import": "error",
75
- },
76
- },
71
+ {
72
+ plugins: { "etc-misc": etcMisc },
73
+ rules: {
74
+ "etc-misc/no-at-sign-import": "error",
75
+ },
76
+ },
77
77
  ];
78
78
  ```
79
79
 
@@ -39,8 +39,8 @@ allowed local relative imports.
39
39
 
40
40
  ```ts
41
41
  type Options = {
42
- allow?: string[];
43
- disallow?: string[];
42
+ allow?: string[];
43
+ disallow?: string[];
44
44
  };
45
45
  ```
46
46
 
@@ -48,7 +48,7 @@ Default:
48
48
 
49
49
  ```json
50
50
  {
51
- "disallow": ["@/**"]
51
+ "disallow": ["@/**"]
52
52
  }
53
53
  ```
54
54
 
@@ -69,12 +69,12 @@ import { helper } from "@";
69
69
  import etcMisc from "eslint-plugin-etc-misc";
70
70
 
71
71
  export default [
72
- {
73
- plugins: { "etc-misc": etcMisc },
74
- rules: {
75
- "etc-misc/no-at-sign-internal-import": "error",
76
- },
77
- },
72
+ {
73
+ plugins: { "etc-misc": etcMisc },
74
+ rules: {
75
+ "etc-misc/no-at-sign-internal-import": "error",
76
+ },
77
+ },
78
78
  ];
79
79
  ```
80
80
 
@@ -63,12 +63,12 @@ const titleSafe = maybeTitle ?? "Untitled";
63
63
  import etcMisc from "eslint-plugin-etc-misc";
64
64
 
65
65
  export default [
66
- {
67
- plugins: { "etc-misc": etcMisc },
68
- rules: {
69
- "etc-misc/no-chain-coalescence-mixture": "error",
70
- },
71
- },
66
+ {
67
+ plugins: { "etc-misc": etcMisc },
68
+ rules: {
69
+ "etc-misc/no-chain-coalescence-mixture": "error",
70
+ },
71
+ },
72
72
  ];
73
73
  ```
74
74
 
@@ -33,9 +33,9 @@ const answer = 42;
33
33
 
34
34
  ```ts
35
35
  class Example {
36
- public a: string;
37
- // public b: string;
38
- public c: string;
36
+ public a: string;
37
+ // public b: string;
38
+ public c: string;
39
39
  }
40
40
  ```
41
41
 
@@ -48,9 +48,9 @@ const answer = 42;
48
48
 
49
49
  ```ts
50
50
  class Example {
51
- // #region Public API
52
- public execute(): void {}
53
- // #endregion
51
+ // #region Public API
52
+ public execute(): void {}
53
+ // #endregion
54
54
  }
55
55
  ```
56
56
 
@@ -95,12 +95,12 @@ Use the **Deprecated** section above for lifecycle details.
95
95
  import etcMisc from "eslint-plugin-etc-misc";
96
96
 
97
97
  export default [
98
- {
99
- plugins: { "etc-misc": etcMisc },
100
- rules: {
101
- "etc-misc/no-commented-out-code": "error",
102
- },
103
- },
98
+ {
99
+ plugins: { "etc-misc": etcMisc },
100
+ rules: {
101
+ "etc-misc/no-commented-out-code": "error",
102
+ },
103
+ },
104
104
  ];
105
105
  ```
106
106
 
@@ -22,8 +22,8 @@ toolchains and isolated transpilation flows.
22
22
 
23
23
  ```ts
24
24
  const enum Status {
25
- Ready,
26
- Running,
25
+ Ready,
26
+ Running,
27
27
  }
28
28
  ```
29
29
 
@@ -31,8 +31,8 @@ const enum Status {
31
31
 
32
32
  ```ts
33
33
  enum Status {
34
- Ready,
35
- Running,
34
+ Ready,
35
+ Running,
36
36
  }
37
37
  ```
38
38
 
@@ -49,7 +49,7 @@ Migration options:
49
49
 
50
50
  ```ts
51
51
  type Options = {
52
- allowLocal?: boolean;
52
+ allowLocal?: boolean;
53
53
  };
54
54
  ```
55
55
 
@@ -64,12 +64,12 @@ When `true`, non-exported `const enum` declarations are allowed.
64
64
  ```ts
65
65
  // config: { allowLocal: true }
66
66
  const enum LocalKind {
67
- A,
67
+ A,
68
68
  }
69
69
  // ✅ allowed when not exported
70
70
 
71
71
  export const enum PublicKind {
72
- A,
72
+ A,
73
73
  }
74
74
  // ❌ still reported
75
75
  ```
@@ -80,12 +80,12 @@ export const enum PublicKind {
80
80
  import etcMisc from "eslint-plugin-etc-misc";
81
81
 
82
82
  export default [
83
- {
84
- plugins: { "etc-misc": etcMisc },
85
- rules: {
86
- "etc-misc/no-const-enum": ["error", { allowLocal: true }],
87
- },
88
- },
83
+ {
84
+ plugins: { "etc-misc": etcMisc },
85
+ rules: {
86
+ "etc-misc/no-const-enum": ["error", { allowLocal: true }],
87
+ },
88
+ },
89
89
  ];
90
90
  ```
91
91
 
@@ -6,7 +6,7 @@ Disallow usage of symbols tagged with `@deprecated`.
6
6
 
7
7
  ⚠️ This rule requires type information to run. Configure type-aware linting (`parserOptions.project` or `projectService`) before enabling it.
8
8
 
9
- This rule inspects identifier *usages* and resolves each identifier to a
9
+ This rule inspects identifier _usages_ and resolves each identifier to a
10
10
  TypeScript symbol.
11
11
 
12
12
  If the resolved symbol has one or more `@deprecated` JSDoc tags, usage is
@@ -37,8 +37,8 @@ oldMethod();
37
37
 
38
38
  ```ts
39
39
  interface Api {
40
- /** @deprecated Use `nextValue` instead. */
41
- oldValue: string;
40
+ /** @deprecated Use `nextValue` instead. */
41
+ oldValue: string;
42
42
  }
43
43
 
44
44
  declare const api: Api;
@@ -77,16 +77,16 @@ It reports only and does not provide an autofix.
77
77
 
78
78
  ```ts
79
79
  type Options = [
80
- {
81
- ignored?: Record<string, "name" | "path">;
82
- }?,
80
+ {
81
+ ignored?: Record<string, "name" | "path">;
82
+ }?,
83
83
  ];
84
84
  ```
85
85
 
86
86
  Default:
87
87
 
88
88
  ```ts
89
- [{}]
89
+ [{}];
90
90
  ```
91
91
 
92
92
  Use `ignored` to suppress some deprecated symbols by regular-expression pattern:
@@ -103,20 +103,20 @@ Example:
103
103
  import etcMisc from "eslint-plugin-etc-misc";
104
104
 
105
105
  export default [
106
- {
107
- plugins: { "etc-misc": etcMisc },
108
- rules: {
109
- "etc-misc/no-deprecated": [
110
- "warn",
111
- {
112
- ignored: {
113
- "^LegacyMethod$": "name",
114
- "modules/legacy": "path",
115
- },
116
- },
117
- ],
106
+ {
107
+ plugins: { "etc-misc": etcMisc },
108
+ rules: {
109
+ "etc-misc/no-deprecated": [
110
+ "warn",
111
+ {
112
+ ignored: {
113
+ "^LegacyMethod$": "name",
114
+ "modules/legacy": "path",
115
+ },
118
116
  },
117
+ ],
119
118
  },
119
+ },
120
120
  ];
121
121
  ```
122
122
 
@@ -127,7 +127,7 @@ Use the **Deprecated** section above for lifecycle details.
127
127
  ## Additional examples
128
128
 
129
129
  ```ts
130
- /** @deprecated internal migration shim */
130
+ /** @deprecated Internal migration shim */
131
131
  declare const legacyApi: () => void;
132
132
 
133
133
  legacyApi();
@@ -144,12 +144,12 @@ legacyApi();
144
144
  import etcMisc from "eslint-plugin-etc-misc";
145
145
 
146
146
  export default [
147
- {
148
- plugins: { "etc-misc": etcMisc },
149
- rules: {
150
- "etc-misc/no-deprecated": "error",
151
- },
152
- },
147
+ {
148
+ plugins: { "etc-misc": etcMisc },
149
+ rules: {
150
+ "etc-misc/no-deprecated": "error",
151
+ },
152
+ },
153
153
  ];
154
154
  ```
155
155
 
@@ -19,8 +19,8 @@ objects are preferred over enum runtime constructs.
19
19
 
20
20
  ```ts
21
21
  enum Status {
22
- Ready,
23
- Running,
22
+ Ready,
23
+ Running,
24
24
  }
25
25
  ```
26
26
 
@@ -28,8 +28,8 @@ enum Status {
28
28
 
29
29
  ```ts
30
30
  const Status = {
31
- Ready: "Ready",
32
- Running: "Running",
31
+ Ready: "Ready",
32
+ Running: "Running",
33
33
  } as const;
34
34
 
35
35
  type Status = (typeof Status)[keyof typeof Status];
@@ -49,14 +49,14 @@ This rule has no options.
49
49
 
50
50
  ```ts
51
51
  enum HttpCode {
52
- Ok = 200,
53
- NotFound = 404,
52
+ Ok = 200,
53
+ NotFound = 404,
54
54
  }
55
55
  // ❌ reported
56
56
 
57
57
  const HttpCode = {
58
- Ok: 200,
59
- NotFound: 404,
58
+ Ok: 200,
59
+ NotFound: 404,
60
60
  } as const;
61
61
 
62
62
  type HttpCode = (typeof HttpCode)[keyof typeof HttpCode];
@@ -69,12 +69,12 @@ type HttpCode = (typeof HttpCode)[keyof typeof HttpCode];
69
69
  import etcMisc from "eslint-plugin-etc-misc";
70
70
 
71
71
  export default [
72
- {
73
- plugins: { "etc-misc": etcMisc },
74
- rules: {
75
- "etc-misc/no-enum": "error",
76
- },
77
- },
72
+ {
73
+ plugins: { "etc-misc": etcMisc },
74
+ rules: {
75
+ "etc-misc/no-enum": "error",
76
+ },
77
+ },
78
78
  ];
79
79
  ```
80
80
 
@@ -16,25 +16,20 @@ This rule reports expression statements whose inner source text contains empty l
16
16
 
17
17
  ## Why this rule exists
18
18
 
19
- Blank lines *inside* a single expression usually come from accidental edits and
19
+ Blank lines _inside_ a single expression usually come from accidental edits and
20
20
  make statement boundaries harder to read. Normalizing these expressions reduces
21
21
  formatting noise.
22
22
 
23
23
  ## ❌ Incorrect
24
24
 
25
25
  ```ts
26
- someCall(
27
-
28
- 1
29
- );
26
+ someCall(1);
30
27
  ```
31
28
 
32
29
  ## ✅ Correct
33
30
 
34
31
  ```ts
35
- someCall(
36
- 1
37
- );
32
+ someCall(1);
38
33
  ```
39
34
 
40
35
  ## Behavior and migration notes
@@ -52,16 +47,13 @@ This rule has no options.
52
47
 
53
48
  ```ts
54
49
  doWork(
55
- value,
50
+ value,
56
51
 
57
- nextValue
52
+ nextValue
58
53
  );
59
54
  // ❌ reported
60
55
 
61
- doWork(
62
- value,
63
- nextValue
64
- );
56
+ doWork(value, nextValue);
65
57
  // ✅ valid
66
58
  ```
67
59
 
@@ -71,12 +63,12 @@ doWork(
71
63
  import etcMisc from "eslint-plugin-etc-misc";
72
64
 
73
65
  export default [
74
- {
75
- plugins: { "etc-misc": etcMisc },
76
- rules: {
77
- "etc-misc/no-expression-empty-lines": "error",
78
- },
79
- },
66
+ {
67
+ plugins: { "etc-misc": etcMisc },
68
+ rules: {
69
+ "etc-misc/no-expression-empty-lines": "error",
70
+ },
71
+ },
80
72
  ];
81
73
  ```
82
74