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
@@ -40,13 +40,13 @@ keeping `| undefined` adds type noise and weakens API clarity.
40
40
  const read = async (): Promise<string | undefined> => "x";
41
41
 
42
42
  async function count(): Promise<number | undefined> {
43
- return 1;
43
+ return 1;
44
44
  }
45
45
 
46
46
  class Box {
47
- async label(): Promise<string | undefined> {
48
- return "box";
49
- }
47
+ async label(): Promise<string | undefined> {
48
+ return "box";
49
+ }
50
50
  }
51
51
  ```
52
52
 
@@ -56,13 +56,13 @@ class Box {
56
56
  const read = async (): Promise<string> => "x";
57
57
 
58
58
  async function count(): Promise<number> {
59
- return 1;
59
+ return 1;
60
60
  }
61
61
 
62
62
  class Box {
63
- async label(): Promise<string> {
64
- return "box";
65
- }
63
+ async label(): Promise<string> {
64
+ return "box";
65
+ }
66
66
  }
67
67
  ```
68
68
 
@@ -85,13 +85,13 @@ This rule has no options.
85
85
 
86
86
  ```ts
87
87
  async function read(): Promise<string | undefined> {
88
- return maybe();
88
+ return maybe();
89
89
  }
90
90
  // ✅ valid (returned call may resolve to undefined)
91
91
 
92
92
  async function read(): Promise<string | undefined> {
93
- const value = "x";
94
- return value;
93
+ const value = "x";
94
+ return value;
95
95
  }
96
96
  // ✅ valid (multiple statements in block body are out of conservative scope)
97
97
  ```
@@ -102,12 +102,12 @@ async function read(): Promise<string | undefined> {
102
102
  import etcMisc from "eslint-plugin-etc-misc";
103
103
 
104
104
  export default [
105
- {
106
- plugins: { "etc-misc": etcMisc },
107
- rules: {
108
- "etc-misc/typescript/no-redundant-undefined-promise-return-type": "warn",
109
- },
110
- },
105
+ {
106
+ plugins: { "etc-misc": etcMisc },
107
+ rules: {
108
+ "etc-misc/typescript/no-redundant-undefined-promise-return-type": "warn",
109
+ },
110
+ },
111
111
  ];
112
112
  ```
113
113
 
@@ -33,8 +33,8 @@ noise and weakens type precision.
33
33
 
34
34
  ```ts
35
35
  class Box {
36
- readonly value: string | undefined = "x";
37
- static readonly count: number | undefined = 0;
36
+ readonly value: string | undefined = "x";
37
+ static readonly count: number | undefined = 0;
38
38
  }
39
39
  ```
40
40
 
@@ -42,8 +42,8 @@ class Box {
42
42
 
43
43
  ```ts
44
44
  class Box {
45
- readonly value: string = "x";
46
- static readonly count: number = 0;
45
+ readonly value: string = "x";
46
+ static readonly count: number = 0;
47
47
  }
48
48
  ```
49
49
 
@@ -66,11 +66,11 @@ This rule has no options.
66
66
  const maybe = undefined as string | undefined;
67
67
 
68
68
  class Box {
69
- readonly value: string | undefined = maybe;
70
- // ✅ valid (initializer may be undefined)
69
+ readonly value: string | undefined = maybe;
70
+ // ✅ valid (initializer may be undefined)
71
71
 
72
- value2: string | undefined = "x";
73
- // ✅ valid (not readonly)
72
+ value2: string | undefined = "x";
73
+ // ✅ valid (not readonly)
74
74
  }
75
75
  ```
76
76
 
@@ -80,12 +80,12 @@ class Box {
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/typescript/no-redundant-undefined-readonly-property": "warn",
87
- },
88
- },
83
+ {
84
+ plugins: { "etc-misc": etcMisc },
85
+ rules: {
86
+ "etc-misc/typescript/no-redundant-undefined-readonly-property": "warn",
87
+ },
88
+ },
89
89
  ];
90
90
  ```
91
91
 
@@ -39,13 +39,13 @@ clarity.
39
39
  const read = (): string | undefined => "x";
40
40
 
41
41
  function count(): number | undefined {
42
- return 1;
42
+ return 1;
43
43
  }
44
44
 
45
45
  class Box {
46
- get label(): string | undefined {
47
- return "box";
48
- }
46
+ get label(): string | undefined {
47
+ return "box";
48
+ }
49
49
  }
50
50
  ```
51
51
 
@@ -55,13 +55,13 @@ class Box {
55
55
  const read = (): string => "x";
56
56
 
57
57
  function count(): number {
58
- return 1;
58
+ return 1;
59
59
  }
60
60
 
61
61
  class Box {
62
- get label(): string {
63
- return "box";
64
- }
62
+ get label(): string {
63
+ return "box";
64
+ }
65
65
  }
66
66
  ```
67
67
 
@@ -88,8 +88,8 @@ const read = (): string | undefined => value;
88
88
  // ✅ valid (returned identifier may be undefined)
89
89
 
90
90
  function read(): string | undefined {
91
- const value = "x";
92
- return value;
91
+ const value = "x";
92
+ return value;
93
93
  }
94
94
  // ✅ valid (multiple statements in block body are out of conservative scope)
95
95
  ```
@@ -100,12 +100,12 @@ function read(): string | undefined {
100
100
  import etcMisc from "eslint-plugin-etc-misc";
101
101
 
102
102
  export default [
103
- {
104
- plugins: { "etc-misc": etcMisc },
105
- rules: {
106
- "etc-misc/typescript/no-redundant-undefined-return-type": "warn",
107
- },
108
- },
103
+ {
104
+ plugins: { "etc-misc": etcMisc },
105
+ rules: {
106
+ "etc-misc/typescript/no-redundant-undefined-return-type": "warn",
107
+ },
108
+ },
109
109
  ];
110
110
  ```
111
111
 
@@ -76,12 +76,12 @@ var 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-var": "warn",
83
- },
84
- },
79
+ {
80
+ plugins: { "etc-misc": etcMisc },
81
+ rules: {
82
+ "etc-misc/typescript/no-redundant-undefined-var": "warn",
83
+ },
84
+ },
85
85
  ];
86
86
  ```
87
87
 
@@ -26,7 +26,7 @@ custom rules.
26
26
  ```ts
27
27
  // config: { selectors: ["WithStatement"] }
28
28
  with (obj) {
29
- doWork();
29
+ doWork();
30
30
  }
31
31
  ```
32
32
 
@@ -55,9 +55,9 @@ It reports only and does not provide an autofix.
55
55
 
56
56
  ```ts
57
57
  type Options = [
58
- {
59
- selectors?: Array<string | { message?: string; selector: string }>;
60
- },
58
+ {
59
+ selectors?: Array<string | { message?: string; selector: string }>;
60
+ },
61
61
  ];
62
62
  ```
63
63
 
@@ -90,12 +90,12 @@ eval("2 + 2");
90
90
  import etcMisc from "eslint-plugin-etc-misc";
91
91
 
92
92
  export default [
93
- {
94
- plugins: { "etc-misc": etcMisc },
95
- rules: {
96
- "etc-misc/typescript/no-restricted-syntax": "error",
97
- },
98
- },
93
+ {
94
+ plugins: { "etc-misc": etcMisc },
95
+ rules: {
96
+ "etc-misc/typescript/no-restricted-syntax": "error",
97
+ },
98
+ },
99
99
  ];
100
100
  ```
101
101
 
@@ -62,12 +62,12 @@ Object.assign(readonlyTarget, { count: 1 });
62
62
  import etcMisc from "eslint-plugin-etc-misc";
63
63
 
64
64
  export default [
65
- {
66
- plugins: { "etc-misc": etcMisc },
67
- rules: {
68
- "etc-misc/typescript/no-unsafe-object-assign": "error",
69
- },
70
- },
65
+ {
66
+ plugins: { "etc-misc": etcMisc },
67
+ rules: {
68
+ "etc-misc/typescript/no-unsafe-object-assign": "error",
69
+ },
70
+ },
71
71
  ];
72
72
  ```
73
73
 
@@ -63,12 +63,12 @@ Object.assign(readonlyTarget, { value: 2 });
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/typescript/no-unsafe-object-assignment": "error",
70
- },
71
- },
66
+ {
67
+ plugins: { "etc-misc": etcMisc },
68
+ rules: {
69
+ "etc-misc/typescript/no-unsafe-object-assignment": "error",
70
+ },
71
+ },
72
72
  ];
73
73
  ```
74
74
 
@@ -58,12 +58,12 @@ type Pairs = [string, string];
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/prefer-array-type-alias": "error",
65
- },
66
- },
61
+ {
62
+ plugins: { "etc-misc": etcMisc },
63
+ rules: {
64
+ "etc-misc/typescript/prefer-array-type-alias": "error",
65
+ },
66
+ },
67
67
  ];
68
68
  ```
69
69
 
@@ -20,7 +20,7 @@ function property declarations.
20
20
 
21
21
  ```ts
22
22
  class C {
23
- value = () => {};
23
+ value = () => {};
24
24
  }
25
25
  ```
26
26
 
@@ -28,7 +28,7 @@ class C {
28
28
 
29
29
  ```ts
30
30
  class C {
31
- value(): void {}
31
+ value(): void {}
32
32
  }
33
33
  ```
34
34
 
@@ -47,7 +47,7 @@ This rule has no options.
47
47
 
48
48
  ```ts
49
49
  class C {
50
- handler: () => void = () => {};
50
+ handler: () => void = () => {};
51
51
  }
52
52
  // ✅ valid (explicit property type annotation)
53
53
  ```
@@ -58,12 +58,12 @@ class C {
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/prefer-class-method": "error",
65
- },
66
- },
61
+ {
62
+ plugins: { "etc-misc": etcMisc },
63
+ rules: {
64
+ "etc-misc/typescript/prefer-class-method": "error",
65
+ },
66
+ },
67
67
  ];
68
68
  ```
69
69
 
@@ -33,8 +33,8 @@ type Status = "open" | "closed";
33
33
 
34
34
  ```ts
35
35
  enum Status {
36
- Open = "open",
37
- Closed = "closed",
36
+ Open = "open",
37
+ Closed = "closed",
38
38
  }
39
39
  ```
40
40
 
@@ -53,12 +53,12 @@ This rule has no options.
53
53
 
54
54
  ```ts
55
55
  enum Status {
56
- Open = "open",
57
- Closed = "closed",
56
+ Open = "open",
57
+ Closed = "closed",
58
58
  }
59
59
 
60
60
  const getStatus = (): Status => {
61
- return "open";
61
+ return "open";
62
62
  };
63
63
  // ❌ reported (string literal return in enum-like return context)
64
64
  ```
@@ -69,12 +69,12 @@ const getStatus = (): Status => {
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/typescript/prefer-enum": "error",
76
- },
77
- },
72
+ {
73
+ plugins: { "etc-misc": etcMisc },
74
+ rules: {
75
+ "etc-misc/typescript/prefer-enum": "error",
76
+ },
77
+ },
78
78
  ];
79
79
  ```
80
80
 
@@ -73,12 +73,12 @@ type Point = [x: number, y: number];
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/prefer-named-tuple-members": "warn",
80
- },
81
- },
76
+ {
77
+ plugins: { "etc-misc": etcMisc },
78
+ rules: {
79
+ "etc-misc/typescript/prefer-named-tuple-members": "warn",
80
+ },
81
+ },
82
82
  ];
83
83
  ```
84
84
 
@@ -30,7 +30,7 @@ function parse(values: string[]) {}
30
30
  const fn = (pair: [string, number]) => pair[0];
31
31
 
32
32
  class Store {
33
- constructor(private keys: Array<string>) {}
33
+ constructor(private keys: Array<string>) {}
34
34
  }
35
35
  ```
36
36
 
@@ -42,7 +42,7 @@ function parse(values: readonly string[]) {}
42
42
  const fn = (pair: readonly [string, number]) => pair[0];
43
43
 
44
44
  class Store {
45
- constructor(private keys: ReadonlyArray<string>) {}
45
+ constructor(private keys: ReadonlyArray<string>) {}
46
46
  }
47
47
  ```
48
48
 
@@ -75,12 +75,12 @@ function f(config: { values: string[] }): void {}
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/prefer-readonly-array-parameter": "error",
82
- },
83
- },
78
+ {
79
+ plugins: { "etc-misc": etcMisc },
80
+ rules: {
81
+ "etc-misc/typescript/prefer-readonly-array-parameter": "error",
82
+ },
83
+ },
84
84
  ];
85
85
  ```
86
86
 
@@ -57,12 +57,12 @@ function parseSafe(pair: readonly [string, number]): void {}
57
57
  import etcMisc from "eslint-plugin-etc-misc";
58
58
 
59
59
  export default [
60
- {
61
- plugins: { "etc-misc": etcMisc },
62
- rules: {
63
- "etc-misc/typescript/prefer-readonly-array": "error",
64
- },
65
- },
60
+ {
61
+ plugins: { "etc-misc": etcMisc },
62
+ rules: {
63
+ "etc-misc/typescript/prefer-readonly-array": "error",
64
+ },
65
+ },
66
66
  ];
67
67
  ```
68
68
 
@@ -19,11 +19,11 @@ mutation of dictionary-like objects.
19
19
 
20
20
  ```ts
21
21
  interface UserLookup {
22
- [id: string]: User;
22
+ [id: string]: User;
23
23
  }
24
24
 
25
25
  type CountByKey = {
26
- [key: string]: number;
26
+ [key: string]: number;
27
27
  };
28
28
  ```
29
29
 
@@ -31,11 +31,11 @@ type CountByKey = {
31
31
 
32
32
  ```ts
33
33
  interface UserLookup {
34
- readonly [id: string]: User;
34
+ readonly [id: string]: User;
35
35
  }
36
36
 
37
37
  type CountByKey = {
38
- readonly [key: string]: number;
38
+ readonly [key: string]: number;
39
39
  };
40
40
  ```
41
41
 
@@ -48,12 +48,12 @@ index signature.
48
48
 
49
49
  ```ts
50
50
  type Cache = {
51
- [name: string]: string;
51
+ [name: string]: string;
52
52
  };
53
53
  // ❌ reported
54
54
 
55
55
  type CacheView = {
56
- readonly [name: string]: string;
56
+ readonly [name: string]: string;
57
57
  };
58
58
  // ✅ valid
59
59
  ```
@@ -64,12 +64,12 @@ type CacheView = {
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/prefer-readonly-index-signature": "error",
71
- },
72
- },
67
+ {
68
+ plugins: { "etc-misc": etcMisc },
69
+ rules: {
70
+ "etc-misc/typescript/prefer-readonly-index-signature": "error",
71
+ },
72
+ },
73
73
  ];
74
74
  ```
75
75
 
@@ -54,12 +54,12 @@ type CacheView = ReadonlyMap<string, number>;
54
54
  import etcMisc from "eslint-plugin-etc-misc";
55
55
 
56
56
  export default [
57
- {
58
- plugins: { "etc-misc": etcMisc },
59
- rules: {
60
- "etc-misc/typescript/prefer-readonly-map": "error",
61
- },
62
- },
57
+ {
58
+ plugins: { "etc-misc": etcMisc },
59
+ rules: {
60
+ "etc-misc/typescript/prefer-readonly-map": "error",
61
+ },
62
+ },
63
63
  ];
64
64
  ```
65
65
 
@@ -20,7 +20,7 @@ accidental state changes.
20
20
 
21
21
  ```ts
22
22
  class C {
23
- value: string;
23
+ value: string;
24
24
  }
25
25
  ```
26
26
 
@@ -28,7 +28,7 @@ class C {
28
28
 
29
29
  ```ts
30
30
  class C {
31
- readonly value: string;
31
+ readonly value: string;
32
32
  }
33
33
  ```
34
34
 
@@ -46,12 +46,12 @@ This rule has no options.
46
46
 
47
47
  ```ts
48
48
  interface Settings {
49
- mode: "dark" | "light";
49
+ mode: "dark" | "light";
50
50
  }
51
51
  // ❌ reported
52
52
 
53
53
  interface ReadonlySettings {
54
- readonly mode: "dark" | "light";
54
+ readonly mode: "dark" | "light";
55
55
  }
56
56
  // ✅ valid
57
57
  ```
@@ -62,12 +62,12 @@ interface ReadonlySettings {
62
62
  import etcMisc from "eslint-plugin-etc-misc";
63
63
 
64
64
  export default [
65
- {
66
- plugins: { "etc-misc": etcMisc },
67
- rules: {
68
- "etc-misc/typescript/prefer-readonly-property": "error",
69
- },
70
- },
65
+ {
66
+ plugins: { "etc-misc": etcMisc },
67
+ rules: {
68
+ "etc-misc/typescript/prefer-readonly-property": "error",
69
+ },
70
+ },
71
71
  ];
72
72
  ```
73
73
 
@@ -29,7 +29,9 @@ type Nested = Promise<Record<string, Record<string, number>>>;
29
29
  ```ts
30
30
  type Store = Readonly<Record<string, number>>;
31
31
 
32
- type Nested = Promise<Readonly<Record<string, Readonly<Record<string, number>>>>>;
32
+ type Nested = Promise<
33
+ Readonly<Record<string, Readonly<Record<string, number>>>>
34
+ >;
33
35
  ```
34
36
 
35
37
  ## Behavior and migration notes
@@ -53,12 +55,12 @@ type FlagsView = Readonly<Record<string, boolean>>;
53
55
  import etcMisc from "eslint-plugin-etc-misc";
54
56
 
55
57
  export default [
56
- {
57
- plugins: { "etc-misc": etcMisc },
58
- rules: {
59
- "etc-misc/typescript/prefer-readonly-record": "error",
60
- },
61
- },
58
+ {
59
+ plugins: { "etc-misc": etcMisc },
60
+ rules: {
61
+ "etc-misc/typescript/prefer-readonly-record": "error",
62
+ },
63
+ },
62
64
  ];
63
65
  ```
64
66
 
@@ -53,12 +53,12 @@ type AllowedRolesView = ReadonlySet<string>;
53
53
  import etcMisc from "eslint-plugin-etc-misc";
54
54
 
55
55
  export default [
56
- {
57
- plugins: { "etc-misc": etcMisc },
58
- rules: {
59
- "etc-misc/typescript/prefer-readonly-set": "error",
60
- },
61
- },
56
+ {
57
+ plugins: { "etc-misc": etcMisc },
58
+ rules: {
59
+ "etc-misc/typescript/prefer-readonly-set": "error",
60
+ },
61
+ },
62
62
  ];
63
63
  ```
64
64