eslint-plugin-etc-misc 1.0.2 → 1.0.4

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 (371) hide show
  1. package/CHANGELOG.md +2 -4
  2. package/README.md +195 -149
  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/package.json +2 -2
  229. package/docs/docusaurus/sidebars.rules.ts +8 -0
  230. package/docs/docusaurus/site-docs/getting-started.md +2 -3
  231. package/docs/docusaurus/site-docs/guides/blog-post-backlog.md +12 -12
  232. package/docs/docusaurus/site-docs/guides/migration-from-etc-and-misc.md +7 -7
  233. package/docs/docusaurus/site-docs/intro.md +1 -1
  234. package/docs/rules/array-type.md +6 -6
  235. package/docs/rules/class-match-filename.md +6 -6
  236. package/docs/rules/comment-spacing.md +9 -9
  237. package/docs/rules/consistent-empty-lines.md +8 -9
  238. package/docs/rules/consistent-enum-members.md +17 -16
  239. package/docs/rules/consistent-filename.md +12 -10
  240. package/docs/rules/consistent-import.md +11 -11
  241. package/docs/rules/consistent-optional-props.md +12 -12
  242. package/docs/rules/consistent-source-extension.md +6 -6
  243. package/docs/rules/consistent-symbol-description.md +6 -6
  244. package/docs/rules/default-case.md +20 -20
  245. package/docs/rules/disallow-import.md +11 -9
  246. package/docs/rules/export-matching-filename-only.md +12 -10
  247. package/docs/rules/getting-started.md +7 -6
  248. package/docs/rules/match-filename.md +13 -13
  249. package/docs/rules/max-identifier-blocks.md +7 -7
  250. package/docs/rules/no-assign-mutated-array.md +31 -11
  251. package/docs/rules/no-at-sign-import.md +9 -9
  252. package/docs/rules/no-at-sign-internal-import.md +9 -9
  253. package/docs/rules/no-chain-coalescence-mixture.md +6 -6
  254. package/docs/rules/no-commented-out-code.md +12 -12
  255. package/docs/rules/no-const-enum.md +13 -13
  256. package/docs/rules/no-deprecated.md +26 -26
  257. package/docs/rules/no-enum.md +14 -14
  258. package/docs/rules/no-expression-empty-lines.md +12 -20
  259. package/docs/rules/no-foreach.md +14 -10
  260. package/docs/rules/no-implicit-any-catch.md +31 -31
  261. package/docs/rules/no-index-import.md +9 -9
  262. package/docs/rules/no-internal-modules.md +9 -9
  263. package/docs/rules/no-internal.md +26 -26
  264. package/docs/rules/no-language-mixing.md +6 -6
  265. package/docs/rules/no-misused-generics.md +8 -8
  266. package/docs/rules/no-mixed-enums.md +14 -14
  267. package/docs/rules/no-negated-conditions.md +16 -12
  268. package/docs/rules/no-nodejs-modules.md +9 -9
  269. package/docs/rules/no-param-reassign.md +19 -19
  270. package/docs/rules/no-relative-parent-import.md +12 -12
  271. package/docs/rules/no-restricted-syntax.md +24 -23
  272. package/docs/rules/no-secret.md +6 -6
  273. package/docs/rules/no-self-import.md +6 -6
  274. package/docs/rules/no-shadow.md +12 -12
  275. package/docs/rules/no-sibling-import.md +8 -8
  276. package/docs/rules/no-single-line-comment.md +10 -10
  277. package/docs/rules/no-t.md +15 -15
  278. package/docs/rules/no-underscore-export.md +6 -6
  279. package/docs/rules/no-unnecessary-as-const.md +8 -8
  280. package/docs/rules/no-unnecessary-break.md +19 -19
  281. package/docs/rules/no-unnecessary-initialization.md +8 -8
  282. package/docs/rules/no-unnecessary-template-literal.md +7 -7
  283. package/docs/rules/no-unused-disable.md +6 -6
  284. package/docs/rules/no-useless-generics.md +10 -10
  285. package/docs/rules/no-value-tostring.md +6 -6
  286. package/docs/rules/no-writeonly.md +26 -26
  287. package/docs/rules/object-format.md +16 -16
  288. package/docs/rules/only-export-name.md +10 -8
  289. package/docs/rules/overview.md +8 -7
  290. package/docs/rules/prefer-arrow-function-property.md +24 -24
  291. package/docs/rules/prefer-const-require.md +8 -8
  292. package/docs/rules/prefer-includes.md +17 -8
  293. package/docs/rules/prefer-interface.md +24 -24
  294. package/docs/rules/prefer-less-than.md +10 -10
  295. package/docs/rules/prefer-object-has-own.md +6 -6
  296. package/docs/rules/prefer-only-export.md +6 -6
  297. package/docs/rules/presets/all-strict.md +1 -1
  298. package/docs/rules/presets/minimal.md +44 -0
  299. package/docs/rules/presets/recommended.md +3 -1
  300. package/docs/rules/presets/strict-type-checked.md +1 -1
  301. package/docs/rules/presets/strict.md +1 -1
  302. package/docs/rules/require-jsdoc.md +29 -17
  303. package/docs/rules/require-syntax.md +23 -19
  304. package/docs/rules/restrict-identifier-characters.md +6 -6
  305. package/docs/rules/sort-array.md +16 -8
  306. package/docs/rules/sort-call-signature.md +16 -16
  307. package/docs/rules/sort-class-members.md +14 -14
  308. package/docs/rules/sort-construct-signature.md +14 -14
  309. package/docs/rules/sort-export-specifiers.md +6 -6
  310. package/docs/rules/sort-keys.md +15 -15
  311. package/docs/rules/sort-top-comments.md +6 -6
  312. package/docs/rules/switch-case-spacing.md +20 -18
  313. package/docs/rules/template-literal-format.md +6 -6
  314. package/docs/rules/throw-error.md +6 -6
  315. package/docs/rules/throw-new-error.md +6 -6
  316. package/docs/rules/typescript-array-callback-return-type.md +22 -10
  317. package/docs/rules/typescript-class-methods-use-this.md +21 -21
  318. package/docs/rules/typescript-consistent-array-type-name.md +6 -6
  319. package/docs/rules/typescript-define-function-in-one-statement.md +6 -6
  320. package/docs/rules/typescript-exhaustive-switch.md +20 -20
  321. package/docs/rules/typescript-no-boolean-literal-type.md +10 -10
  322. package/docs/rules/typescript-no-complex-declarator-type.md +15 -15
  323. package/docs/rules/typescript-no-complex-return-type.md +9 -9
  324. package/docs/rules/typescript-no-empty-interfaces.md +7 -7
  325. package/docs/rules/typescript-no-inferrable-types.md +10 -10
  326. package/docs/rules/typescript-no-multi-type-tuples.md +6 -6
  327. package/docs/rules/typescript-no-never.md +8 -8
  328. package/docs/rules/typescript-no-redundant-undefined-const.md +6 -6
  329. package/docs/rules/typescript-no-redundant-undefined-default-parameter.md +11 -11
  330. package/docs/rules/typescript-no-redundant-undefined-let.md +6 -6
  331. package/docs/rules/typescript-no-redundant-undefined-optional.md +9 -9
  332. package/docs/rules/typescript-no-redundant-undefined-promise-return-type.md +17 -17
  333. package/docs/rules/typescript-no-redundant-undefined-readonly-property.md +14 -14
  334. package/docs/rules/typescript-no-redundant-undefined-return-type.md +16 -16
  335. package/docs/rules/typescript-no-redundant-undefined-var.md +6 -6
  336. package/docs/rules/typescript-no-restricted-syntax.md +10 -10
  337. package/docs/rules/typescript-no-unsafe-object-assign.md +6 -6
  338. package/docs/rules/typescript-no-unsafe-object-assignment.md +6 -6
  339. package/docs/rules/typescript-prefer-array-type-alias.md +6 -6
  340. package/docs/rules/typescript-prefer-class-method.md +9 -9
  341. package/docs/rules/typescript-prefer-enum.md +11 -11
  342. package/docs/rules/typescript-prefer-named-tuple-members.md +6 -6
  343. package/docs/rules/typescript-prefer-readonly-array-parameter.md +8 -8
  344. package/docs/rules/typescript-prefer-readonly-array.md +6 -6
  345. package/docs/rules/typescript-prefer-readonly-index-signature.md +12 -12
  346. package/docs/rules/typescript-prefer-readonly-map.md +6 -6
  347. package/docs/rules/typescript-prefer-readonly-property.md +10 -10
  348. package/docs/rules/typescript-prefer-readonly-record.md +9 -7
  349. package/docs/rules/typescript-prefer-readonly-set.md +6 -6
  350. package/docs/rules/typescript-require-prop-type-annotation.md +12 -12
  351. package/docs/rules/typescript-require-readonly-array-property-type.md +12 -12
  352. package/docs/rules/typescript-require-readonly-array-return-type.md +11 -11
  353. package/docs/rules/typescript-require-readonly-array-type-alias.md +6 -6
  354. package/docs/rules/typescript-require-readonly-map-parameter-type.md +9 -9
  355. package/docs/rules/typescript-require-readonly-map-property-type.md +13 -13
  356. package/docs/rules/typescript-require-readonly-map-return-type.md +13 -13
  357. package/docs/rules/typescript-require-readonly-map-type-alias.md +7 -7
  358. package/docs/rules/typescript-require-readonly-record-parameter-type.md +8 -8
  359. package/docs/rules/typescript-require-readonly-record-property-type.md +12 -12
  360. package/docs/rules/typescript-require-readonly-record-return-type.md +12 -12
  361. package/docs/rules/typescript-require-readonly-record-type-alias.md +6 -6
  362. package/docs/rules/typescript-require-readonly-set-parameter-type.md +8 -8
  363. package/docs/rules/typescript-require-readonly-set-property-type.md +12 -12
  364. package/docs/rules/typescript-require-readonly-set-return-type.md +12 -12
  365. package/docs/rules/typescript-require-readonly-set-type-alias.md +6 -6
  366. package/docs/rules/typescript-require-this-void.md +14 -14
  367. package/docs/rules/underscore-internal.md +10 -10
  368. package/docs/rules/unused-internal-properties.md +14 -14
  369. package/docs/rules/uppercase-iife.md +8 -8
  370. package/docs/rules/words.md +6 -6
  371. package/package.json +28 -22
@@ -35,7 +35,11 @@ clarity and catches accidental return-shape drift earlier.
35
35
  ## ❌ Incorrect
36
36
 
37
37
  ```ts
38
- [1, 2, 3].map((value) => value + 1);
38
+ [
39
+ 1,
40
+ 2,
41
+ 3,
42
+ ].map((value) => value + 1);
39
43
  ```
40
44
 
41
45
  ```ts
@@ -45,7 +49,11 @@ users.find((user) => user.id === targetId);
45
49
  ## ✅ Correct
46
50
 
47
51
  ```ts
48
- [1, 2, 3].map((value): number => value + 1);
52
+ [
53
+ 1,
54
+ 2,
55
+ 3,
56
+ ].map((value): number => value + 1);
49
57
  ```
50
58
 
51
59
  ```ts
@@ -54,7 +62,7 @@ users.find((user): boolean => user.id === targetId);
54
62
 
55
63
  ```ts
56
64
  const collection = {
57
- map: (callback: (value: number) => number): number => callback(1),
65
+ map: (callback: (value: number) => number): number => callback(1),
58
66
  };
59
67
 
60
68
  collection.map((value) => value + 1);
@@ -77,7 +85,11 @@ This rule has no options.
77
85
  ## Additional examples
78
86
 
79
87
  ```ts
80
- const scores = [2, 4, 6] as const;
88
+ const scores = [
89
+ 2,
90
+ 4,
91
+ 6,
92
+ ] as const;
81
93
 
82
94
  const doubled = scores.map((score): number => score * 2);
83
95
  ```
@@ -97,12 +109,12 @@ custom.map((value: number) => value + 1);
97
109
  import etcMisc from "eslint-plugin-etc-misc";
98
110
 
99
111
  export default [
100
- {
101
- plugins: { "etc-misc": etcMisc },
102
- rules: {
103
- "etc-misc/typescript/array-callback-return-type": "error",
104
- },
105
- },
112
+ {
113
+ plugins: { "etc-misc": etcMisc },
114
+ rules: {
115
+ "etc-misc/typescript/array-callback-return-type": "error",
116
+ },
117
+ },
106
118
  ];
107
119
  ```
108
120
 
@@ -24,9 +24,9 @@ static methods or standalone functions.
24
24
 
25
25
  ```ts
26
26
  class C {
27
- method() {
28
- return 1;
29
- }
27
+ method() {
28
+ return 1;
29
+ }
30
30
  }
31
31
  ```
32
32
 
@@ -34,17 +34,17 @@ class C {
34
34
 
35
35
  ```ts
36
36
  class C {
37
- method() {
38
- return this;
39
- }
37
+ method() {
38
+ return this;
39
+ }
40
40
  }
41
41
  ```
42
42
 
43
43
  ```ts
44
44
  class C {
45
- method(this: void) {
46
- return 1;
47
- }
45
+ method(this: void) {
46
+ return 1;
47
+ }
48
48
  }
49
49
  ```
50
50
 
@@ -74,13 +74,13 @@ Use the **Deprecated** section above for lifecycle details.
74
74
 
75
75
  ```ts
76
76
  class Service {
77
- static create() {
78
- return new Service();
79
- }
77
+ static create() {
78
+ return new Service();
79
+ }
80
80
 
81
- run() {
82
- return this;
83
- }
81
+ run() {
82
+ return this;
83
+ }
84
84
  }
85
85
  // ✅ static methods are outside this rule; instance method uses this
86
86
  ```
@@ -91,12 +91,12 @@ class Service {
91
91
  import etcMisc from "eslint-plugin-etc-misc";
92
92
 
93
93
  export default [
94
- {
95
- plugins: { "etc-misc": etcMisc },
96
- rules: {
97
- "etc-misc/typescript/class-methods-use-this": "error",
98
- },
99
- },
94
+ {
95
+ plugins: { "etc-misc": etcMisc },
96
+ rules: {
97
+ "etc-misc/typescript/class-methods-use-this": "error",
98
+ },
99
+ },
100
100
  ];
101
101
  ```
102
102
 
@@ -64,12 +64,12 @@ type Users = [id: string, name: string];
64
64
  import etcMisc from "eslint-plugin-etc-misc";
65
65
 
66
66
  export default [
67
- {
68
- plugins: { "etc-misc": etcMisc },
69
- rules: {
70
- "etc-misc/typescript/consistent-array-type-name": "error",
71
- },
72
- },
67
+ {
68
+ plugins: { "etc-misc": etcMisc },
69
+ rules: {
70
+ "etc-misc/typescript/consistent-array-type-name": "error",
71
+ },
72
+ },
73
73
  ];
74
74
  ```
75
75
 
@@ -61,12 +61,12 @@ obj.version = 1;
61
61
  import etcMisc from "eslint-plugin-etc-misc";
62
62
 
63
63
  export default [
64
- {
65
- plugins: { "etc-misc": etcMisc },
66
- rules: {
67
- "etc-misc/typescript/define-function-in-one-statement": "error",
68
- },
69
- },
64
+ {
65
+ plugins: { "etc-misc": etcMisc },
66
+ rules: {
67
+ "etc-misc/typescript/define-function-in-one-statement": "error",
68
+ },
69
+ },
70
70
  ];
71
71
  ```
72
72
 
@@ -21,10 +21,10 @@ A required `default` branch reduces accidental non-exhaustive control flow.
21
21
 
22
22
  ```ts
23
23
  switch (x) {
24
- case 1:
25
- break;
26
- case 2:
27
- break;
24
+ case 1:
25
+ break;
26
+ case 2:
27
+ break;
28
28
  }
29
29
  ```
30
30
 
@@ -32,10 +32,10 @@ switch (x) {
32
32
 
33
33
  ```ts
34
34
  switch (x) {
35
- case 1:
36
- break;
37
- default:
38
- break;
35
+ case 1:
36
+ break;
37
+ default:
38
+ break;
39
39
  }
40
40
  ```
41
41
 
@@ -65,16 +65,16 @@ Use the **Deprecated** section above for lifecycle details.
65
65
 
66
66
  ```ts
67
67
  switch (status) {
68
- case "ready":
69
- return 1;
68
+ case "ready":
69
+ return 1;
70
70
  }
71
71
  // ✅ valid (single branch switch is outside this rule)
72
72
 
73
73
  switch (status) {
74
- case "ready":
75
- return 1;
76
- case "done":
77
- return 2;
74
+ case "ready":
75
+ return 1;
76
+ case "done":
77
+ return 2;
78
78
  }
79
79
  // ❌ reported: multiple branches and no default
80
80
  ```
@@ -85,12 +85,12 @@ switch (status) {
85
85
  import etcMisc from "eslint-plugin-etc-misc";
86
86
 
87
87
  export default [
88
- {
89
- plugins: { "etc-misc": etcMisc },
90
- rules: {
91
- "etc-misc/typescript/exhaustive-switch": "error",
92
- },
93
- },
88
+ {
89
+ plugins: { "etc-misc": etcMisc },
90
+ rules: {
91
+ "etc-misc/typescript/exhaustive-switch": "error",
92
+ },
93
+ },
94
94
  ];
95
95
  ```
96
96
 
@@ -23,7 +23,7 @@ and are commonly intended to be `boolean`.
23
23
 
24
24
  ```ts
25
25
  interface Flags {
26
- on?: true;
26
+ on?: true;
27
27
  }
28
28
  ```
29
29
 
@@ -31,7 +31,7 @@ interface Flags {
31
31
 
32
32
  ```ts
33
33
  interface Flags {
34
- on?: boolean;
34
+ on?: boolean;
35
35
  }
36
36
  ```
37
37
 
@@ -49,12 +49,12 @@ This rule has no options.
49
49
 
50
50
  ```ts
51
51
  interface Flags {
52
- enabled?: false;
52
+ enabled?: false;
53
53
  }
54
54
  // ❌ reported
55
55
 
56
56
  interface FlagsFixed {
57
- enabled?: boolean;
57
+ enabled?: boolean;
58
58
  }
59
59
  // ✅ valid
60
60
  ```
@@ -65,12 +65,12 @@ interface FlagsFixed {
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/typescript/no-boolean-literal-type": "error",
72
- },
73
- },
68
+ {
69
+ plugins: { "etc-misc": etcMisc },
70
+ rules: {
71
+ "etc-misc/typescript/no-boolean-literal-type": "error",
72
+ },
73
+ },
74
74
  ];
75
75
  ```
76
76
 
@@ -22,13 +22,13 @@ especially when assertions are involved.
22
22
  ## ❌ Incorrect
23
23
 
24
24
  ```ts
25
- const value = (() => 1) as (() => number);
25
+ const value = (() => 1) as () => number;
26
26
  ```
27
27
 
28
28
  ## ✅ Correct
29
29
 
30
30
  ```ts
31
- const value: () => number = (() => 1) as (() => number);
31
+ const value: () => number = (() => 1) as () => number;
32
32
  ```
33
33
 
34
34
  ## Behavior and migration notes
@@ -45,18 +45,18 @@ This rule has no options.
45
45
 
46
46
  ```ts
47
47
  const model = {
48
- run() {
49
- return 1;
50
- },
48
+ run() {
49
+ return 1;
50
+ },
51
51
  } as {
52
- run(): number;
52
+ run(): number;
53
53
  };
54
54
  // ❌ reported without an explicit declarator annotation
55
55
 
56
56
  const typedModel: { run(): number } = {
57
- run() {
58
- return 1;
59
- },
57
+ run() {
58
+ return 1;
59
+ },
60
60
  };
61
61
  // ✅ valid
62
62
  ```
@@ -67,12 +67,12 @@ const typedModel: { run(): number } = {
67
67
  import etcMisc from "eslint-plugin-etc-misc";
68
68
 
69
69
  export default [
70
- {
71
- plugins: { "etc-misc": etcMisc },
72
- rules: {
73
- "etc-misc/typescript/no-complex-declarator-type": "error",
74
- },
75
- },
70
+ {
71
+ plugins: { "etc-misc": etcMisc },
72
+ rules: {
73
+ "etc-misc/typescript/no-complex-declarator-type": "error",
74
+ },
75
+ },
76
76
  ];
77
77
  ```
78
78
 
@@ -25,13 +25,13 @@ boundary.
25
25
  ## ❌ Incorrect
26
26
 
27
27
  ```ts
28
- const create = () => ((() => 1) as (() => number));
28
+ const create = () => (() => 1) as () => number;
29
29
  ```
30
30
 
31
31
  ## ✅ Correct
32
32
 
33
33
  ```ts
34
- const create = (): () => number => (() => 1);
34
+ const create = (): (() => number) => () => 1;
35
35
  ```
36
36
 
37
37
  ## Behavior and migration notes
@@ -48,7 +48,7 @@ This rule has no options.
48
48
  ## Additional examples
49
49
 
50
50
  ```ts
51
- const create = () => ({ run() {} } as { run(): void });
51
+ const create = () => ({ run() {} }) as { run(): void };
52
52
  // ❌ reported: complex asserted return expression and no return annotation
53
53
 
54
54
  const createTyped = (): { run(): void } => ({ run() {} });
@@ -61,12 +61,12 @@ const createTyped = (): { run(): void } => ({ run() {} });
61
61
  import etcMisc from "eslint-plugin-etc-misc";
62
62
 
63
63
  export default [
64
- {
65
- plugins: { "etc-misc": etcMisc },
66
- rules: {
67
- "etc-misc/typescript/no-complex-return-type": "error",
68
- },
69
- },
64
+ {
65
+ plugins: { "etc-misc": etcMisc },
66
+ rules: {
67
+ "etc-misc/typescript/no-complex-return-type": "error",
68
+ },
69
+ },
70
70
  ];
71
71
  ```
72
72
 
@@ -28,7 +28,7 @@ interface I {}
28
28
 
29
29
  ```ts
30
30
  interface I {
31
- value: string;
31
+ value: string;
32
32
  }
33
33
  ```
34
34
 
@@ -70,12 +70,12 @@ interface Empty {}
70
70
  import etcMisc from "eslint-plugin-etc-misc";
71
71
 
72
72
  export default [
73
- {
74
- plugins: { "etc-misc": etcMisc },
75
- rules: {
76
- "etc-misc/typescript/no-empty-interfaces": "error",
77
- },
78
- },
73
+ {
74
+ plugins: { "etc-misc": etcMisc },
75
+ rules: {
76
+ "etc-misc/typescript/no-empty-interfaces": "error",
77
+ },
78
+ },
79
79
  ];
80
80
  ```
81
81
 
@@ -57,13 +57,13 @@ Use the **Deprecated** section above for lifecycle details.
57
57
 
58
58
  ```ts
59
59
  class Counter {
60
- count: number = 0;
61
- // ❌ reported
60
+ count: number = 0;
61
+ // ❌ reported
62
62
  }
63
63
 
64
64
  class CounterFixed {
65
- count = 0;
66
- // ✅ valid
65
+ count = 0;
66
+ // ✅ valid
67
67
  }
68
68
  ```
69
69
 
@@ -73,12 +73,12 @@ class CounterFixed {
73
73
  import etcMisc from "eslint-plugin-etc-misc";
74
74
 
75
75
  export default [
76
- {
77
- plugins: { "etc-misc": etcMisc },
78
- rules: {
79
- "etc-misc/typescript/no-inferrable-types": "error",
80
- },
81
- },
76
+ {
77
+ plugins: { "etc-misc": etcMisc },
78
+ rules: {
79
+ "etc-misc/typescript/no-inferrable-types": "error",
80
+ },
81
+ },
82
82
  ];
83
83
  ```
84
84
 
@@ -58,12 +58,12 @@ type PairFixed = [Value, boolean];
58
58
  import etcMisc from "eslint-plugin-etc-misc";
59
59
 
60
60
  export default [
61
- {
62
- plugins: { "etc-misc": etcMisc },
63
- rules: {
64
- "etc-misc/typescript/no-multi-type-tuples": "error",
65
- },
66
- },
61
+ {
62
+ plugins: { "etc-misc": etcMisc },
63
+ rules: {
64
+ "etc-misc/typescript/no-multi-type-tuples": "error",
65
+ },
66
+ },
67
67
  ];
68
68
  ```
69
69
 
@@ -24,7 +24,7 @@ constraints, or over-narrowed generics.
24
24
 
25
25
  ```ts
26
26
  const fail = (): never => {
27
- throw new Error("x");
27
+ throw new Error("x");
28
28
  };
29
29
 
30
30
  const result = fail();
@@ -51,7 +51,7 @@ This rule has no options.
51
51
 
52
52
  ```ts
53
53
  function assertNever(_value: never): never {
54
- throw new Error("unexpected");
54
+ throw new Error("unexpected");
55
55
  }
56
56
 
57
57
  type NeverAlias = never;
@@ -64,12 +64,12 @@ type NeverAlias = never;
64
64
  import etcMisc from "eslint-plugin-etc-misc";
65
65
 
66
66
  export default [
67
- {
68
- plugins: { "etc-misc": etcMisc },
69
- rules: {
70
- "etc-misc/typescript/no-never": "error",
71
- },
72
- },
67
+ {
68
+ plugins: { "etc-misc": etcMisc },
69
+ rules: {
70
+ "etc-misc/typescript/no-never": "error",
71
+ },
72
+ },
73
73
  ];
74
74
  ```
75
75
 
@@ -71,12 +71,12 @@ let mutableValue: string | undefined = "x";
71
71
  import etcMisc from "eslint-plugin-etc-misc";
72
72
 
73
73
  export default [
74
- {
75
- plugins: { "etc-misc": etcMisc },
76
- rules: {
77
- "etc-misc/typescript/no-redundant-undefined-const": "warn",
78
- },
79
- },
74
+ {
75
+ plugins: { "etc-misc": etcMisc },
76
+ rules: {
77
+ "etc-misc/typescript/no-redundant-undefined-const": "warn",
78
+ },
79
+ },
80
80
  ];
81
81
  ```
82
82
 
@@ -32,13 +32,13 @@ clearer as the non-`undefined` type.
32
32
 
33
33
  ```ts
34
34
  function read(value: string | undefined = "x") {
35
- return value;
35
+ return value;
36
36
  }
37
37
 
38
38
  const pick = (count: number | undefined = 0) => count;
39
39
 
40
40
  class Box {
41
- constructor(private label: string | undefined = "box") {}
41
+ constructor(private label: string | undefined = "box") {}
42
42
  }
43
43
  ```
44
44
 
@@ -46,13 +46,13 @@ class Box {
46
46
 
47
47
  ```ts
48
48
  function read(value: string = "x") {
49
- return value;
49
+ return value;
50
50
  }
51
51
 
52
52
  const pick = (count: number = 0) => count;
53
53
 
54
54
  class Box {
55
- constructor(private label: string = "box") {}
55
+ constructor(private label: string = "box") {}
56
56
  }
57
57
  ```
58
58
 
@@ -76,7 +76,7 @@ This rule has no options.
76
76
  ```ts
77
77
  const maybe = undefined as string | undefined;
78
78
  function read(value: string | undefined = maybe) {
79
- return value;
79
+ return value;
80
80
  }
81
81
  // ✅ valid (initializer may be undefined)
82
82
  ```
@@ -87,12 +87,12 @@ function read(value: string | undefined = maybe) {
87
87
  import etcMisc from "eslint-plugin-etc-misc";
88
88
 
89
89
  export default [
90
- {
91
- plugins: { "etc-misc": etcMisc },
92
- rules: {
93
- "etc-misc/typescript/no-redundant-undefined-default-parameter": "warn",
94
- },
95
- },
90
+ {
91
+ plugins: { "etc-misc": etcMisc },
92
+ rules: {
93
+ "etc-misc/typescript/no-redundant-undefined-default-parameter": "warn",
94
+ },
95
+ },
96
96
  ];
97
97
  ```
98
98
 
@@ -76,12 +76,12 @@ let output: string | undefined = maybe;
76
76
  import etcMisc from "eslint-plugin-etc-misc";
77
77
 
78
78
  export default [
79
- {
80
- plugins: { "etc-misc": etcMisc },
81
- rules: {
82
- "etc-misc/typescript/no-redundant-undefined-let": "warn",
83
- },
84
- },
79
+ {
80
+ plugins: { "etc-misc": etcMisc },
81
+ rules: {
82
+ "etc-misc/typescript/no-redundant-undefined-let": "warn",
83
+ },
84
+ },
85
85
  ];
86
86
  ```
87
87
 
@@ -41,7 +41,7 @@ function parse(value?: string) {}
41
41
 
42
42
  type Pair = [value?: string];
43
43
 
44
- type MaybeName = [(string)?];
44
+ type MaybeName = [string?];
45
45
  ```
46
46
 
47
47
  ## Behavior and migration notes
@@ -59,12 +59,12 @@ This rule has no options.
59
59
 
60
60
  ```ts
61
61
  function load(id?: string | number | undefined) {
62
- return id;
62
+ return id;
63
63
  }
64
64
  // ❌ reported
65
65
 
66
66
  function load(id?: string | number) {
67
- return id;
67
+ return id;
68
68
  }
69
69
  // ✅ valid
70
70
  ```
@@ -75,12 +75,12 @@ function load(id?: string | number) {
75
75
  import etcMisc from "eslint-plugin-etc-misc";
76
76
 
77
77
  export default [
78
- {
79
- plugins: { "etc-misc": etcMisc },
80
- rules: {
81
- "etc-misc/typescript/no-redundant-undefined-optional": "warn",
82
- },
83
- },
78
+ {
79
+ plugins: { "etc-misc": etcMisc },
80
+ rules: {
81
+ "etc-misc/typescript/no-redundant-undefined-optional": "warn",
82
+ },
83
+ },
84
84
  ];
85
85
  ```
86
86