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
@@ -21,7 +21,7 @@ Uninitialized properties without annotations leave property type intent unclear.
21
21
 
22
22
  ```ts
23
23
  class C {
24
- value;
24
+ value;
25
25
  }
26
26
  ```
27
27
 
@@ -29,7 +29,7 @@ class C {
29
29
 
30
30
  ```ts
31
31
  class C {
32
- value: string;
32
+ value: string;
33
33
  }
34
34
  ```
35
35
 
@@ -48,11 +48,11 @@ This rule has no options.
48
48
 
49
49
  ```ts
50
50
  class User {
51
- name = "anonymous";
52
- // ✅ valid: initializer provides type
51
+ name = "anonymous";
52
+ // ✅ valid: initializer provides type
53
53
 
54
- role;
55
- // ❌ reported: no initializer and no annotation
54
+ role;
55
+ // ❌ reported: no initializer and no annotation
56
56
  }
57
57
  ```
58
58
 
@@ -62,12 +62,12 @@ class User {
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/require-prop-type-annotation": "error",
69
- },
70
- },
65
+ {
66
+ plugins: { "etc-misc": etcMisc },
67
+ rules: {
68
+ "etc-misc/typescript/require-prop-type-annotation": "error",
69
+ },
70
+ },
71
71
  ];
72
72
  ```
73
73
 
@@ -28,11 +28,11 @@ mutation through references that are passed around the codebase.
28
28
 
29
29
  ```ts
30
30
  interface Config {
31
- values: string[];
31
+ values: string[];
32
32
  }
33
33
 
34
34
  type ApiConfig = {
35
- values: Array<string> | null;
35
+ values: Array<string> | null;
36
36
  };
37
37
  ```
38
38
 
@@ -40,11 +40,11 @@ type ApiConfig = {
40
40
 
41
41
  ```ts
42
42
  interface Config {
43
- values: readonly string[];
43
+ values: readonly string[];
44
44
  }
45
45
 
46
46
  type ApiConfig = {
47
- values: ReadonlyArray<string> | null;
47
+ values: ReadonlyArray<string> | null;
48
48
  };
49
49
  ```
50
50
 
@@ -64,12 +64,12 @@ This rule has no options.
64
64
 
65
65
  ```ts
66
66
  interface Config {
67
- values: Promise<string[]>;
67
+ values: Promise<string[]>;
68
68
  }
69
69
  // ✅ valid (nested generic type is out of scope)
70
70
 
71
71
  type Settings = {
72
- values: { nested: string[] };
72
+ values: { nested: string[] };
73
73
  };
74
74
  // ✅ valid (nested property type is out of scope)
75
75
  ```
@@ -80,12 +80,12 @@ type Settings = {
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/require-readonly-array-property-type": "error",
87
- },
88
- },
83
+ {
84
+ plugins: { "etc-misc": etcMisc },
85
+ rules: {
86
+ "etc-misc/typescript/require-readonly-array-property-type": "error",
87
+ },
88
+ },
89
89
  ];
90
90
  ```
91
91
 
@@ -27,13 +27,13 @@ immutability to consumers and prevents accidental mutation at call sites.
27
27
 
28
28
  ```ts
29
29
  function getNames(): string[] {
30
- return [];
30
+ return [];
31
31
  }
32
32
 
33
33
  type PairFactory = () => [string, number];
34
34
 
35
35
  interface Api {
36
- run(): Array<string>;
36
+ run(): Array<string>;
37
37
  }
38
38
  ```
39
39
 
@@ -41,13 +41,13 @@ interface Api {
41
41
 
42
42
  ```ts
43
43
  function getNames(): readonly string[] {
44
- return [];
44
+ return [];
45
45
  }
46
46
 
47
47
  type PairFactory = () => readonly [string, number];
48
48
 
49
49
  interface Api {
50
- run(): ReadonlyArray<string>;
50
+ run(): ReadonlyArray<string>;
51
51
  }
52
52
  ```
53
53
 
@@ -71,7 +71,7 @@ type Resolver = () => readonly string[] | null;
71
71
  // ✅ valid
72
72
 
73
73
  function getConfig(): { values: string[] } {
74
- return { values: [] };
74
+ return { values: [] };
75
75
  }
76
76
  // ✅ valid (nested property type is out of scope)
77
77
  ```
@@ -82,12 +82,12 @@ function getConfig(): { values: string[] } {
82
82
  import etcMisc from "eslint-plugin-etc-misc";
83
83
 
84
84
  export default [
85
- {
86
- plugins: { "etc-misc": etcMisc },
87
- rules: {
88
- "etc-misc/typescript/require-readonly-array-return-type": "error",
89
- },
90
- },
85
+ {
86
+ plugins: { "etc-misc": etcMisc },
87
+ rules: {
88
+ "etc-misc/typescript/require-readonly-array-return-type": "error",
89
+ },
90
+ },
91
91
  ];
92
92
  ```
93
93
 
@@ -71,12 +71,12 @@ type Config = { values: string[] };
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/require-readonly-array-type-alias": "error",
78
- },
79
- },
74
+ {
75
+ plugins: { "etc-misc": etcMisc },
76
+ rules: {
77
+ "etc-misc/typescript/require-readonly-array-type-alias": "error",
78
+ },
79
+ },
80
80
  ];
81
81
  ```
82
82
 
@@ -29,7 +29,7 @@ function loadIndex(index: Map<string, number>): void {}
29
29
  const resolver = (index: Map<string, number> | null) => index;
30
30
 
31
31
  class Registry {
32
- constructor(private readonly table: Map<string, string>) {}
32
+ constructor(private readonly table: Map<string, string>) {}
33
33
  }
34
34
  ```
35
35
 
@@ -41,7 +41,7 @@ function loadIndex(index: ReadonlyMap<string, number>): void {}
41
41
  const resolver = (index: ReadonlyMap<string, number> | null) => index;
42
42
 
43
43
  class Registry {
44
- constructor(private readonly table: ReadonlyMap<string, string>) {}
44
+ constructor(private readonly table: ReadonlyMap<string, string>) {}
45
45
  }
46
46
  ```
47
47
 
@@ -69,12 +69,12 @@ function configure(index?: ReadonlyMap<string, number>): void {}
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/require-readonly-map-parameter-type": "error",
76
- },
77
- },
72
+ {
73
+ plugins: { "etc-misc": etcMisc },
74
+ rules: {
75
+ "etc-misc/typescript/require-readonly-map-parameter-type": "error",
76
+ },
77
+ },
78
78
  ];
79
79
  ```
80
80
 
@@ -91,7 +91,7 @@ already enforce a broader readonly parameter policy via type-aware linting.
91
91
 
92
92
  ## Further reading
93
93
 
94
- - [TypeScript: ReadonlyMap<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
94
+ - [TypeScript: ReadonlyMap\<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
95
95
 
96
96
  ## Adoption resources
97
97
 
@@ -24,11 +24,11 @@ and helps avoid accidental mutation through shared map-like data.
24
24
 
25
25
  ```ts
26
26
  interface Config {
27
- lookup: Map<string, number>;
27
+ lookup: Map<string, number>;
28
28
  }
29
29
 
30
30
  type ApiConfig = {
31
- lookup: Map<string, number> | null;
31
+ lookup: Map<string, number> | null;
32
32
  };
33
33
  ```
34
34
 
@@ -36,11 +36,11 @@ type ApiConfig = {
36
36
 
37
37
  ```ts
38
38
  interface Config {
39
- lookup: ReadonlyMap<string, number>;
39
+ lookup: ReadonlyMap<string, number>;
40
40
  }
41
41
 
42
42
  type ApiConfig = {
43
- lookup: ReadonlyMap<string, number> | null;
43
+ lookup: ReadonlyMap<string, number> | null;
44
44
  };
45
45
  ```
46
46
 
@@ -56,12 +56,12 @@ This rule is autofixable and also provides suggestions.
56
56
 
57
57
  ```ts
58
58
  interface Config {
59
- lookup: Promise<Map<string, number>>;
59
+ lookup: Promise<Map<string, number>>;
60
60
  }
61
61
  // ✅ valid (nested generic type is out of scope)
62
62
 
63
63
  type Settings = {
64
- lookup: { nested: Map<string, number> };
64
+ lookup: { nested: Map<string, number> };
65
65
  };
66
66
  // ✅ valid (nested property type is out of scope)
67
67
  ```
@@ -72,12 +72,12 @@ type Settings = {
72
72
  import etcMisc from "eslint-plugin-etc-misc";
73
73
 
74
74
  export default [
75
- {
76
- plugins: { "etc-misc": etcMisc },
77
- rules: {
78
- "etc-misc/typescript/require-readonly-map-property-type": "error",
79
- },
80
- },
75
+ {
76
+ plugins: { "etc-misc": etcMisc },
77
+ rules: {
78
+ "etc-misc/typescript/require-readonly-map-property-type": "error",
79
+ },
80
+ },
81
81
  ];
82
82
  ```
83
83
 
@@ -95,7 +95,7 @@ constraints.
95
95
 
96
96
  ## Further reading
97
97
 
98
- - [TypeScript: ReadonlyMap<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
98
+ - [TypeScript: ReadonlyMap\<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
99
99
 
100
100
  ## Adoption resources
101
101
 
@@ -23,13 +23,13 @@ non-mutating intent to callers and reduces accidental mutation of shared maps.
23
23
 
24
24
  ```ts
25
25
  function buildLookup(): Map<string, number> {
26
- return new Map();
26
+ return new Map();
27
27
  }
28
28
 
29
29
  type Resolver = () => Map<string, string> | null;
30
30
 
31
31
  interface API {
32
- run(): Map<string, string>;
32
+ run(): Map<string, string>;
33
33
  }
34
34
  ```
35
35
 
@@ -37,13 +37,13 @@ interface API {
37
37
 
38
38
  ```ts
39
39
  function buildLookup(): ReadonlyMap<string, number> {
40
- return new Map();
40
+ return new Map();
41
41
  }
42
42
 
43
43
  type Resolver = () => ReadonlyMap<string, string> | null;
44
44
 
45
45
  interface API {
46
- run(): ReadonlyMap<string, string>;
46
+ run(): ReadonlyMap<string, string>;
47
47
  }
48
48
  ```
49
49
 
@@ -59,12 +59,12 @@ This rule is autofixable and also provides suggestions.
59
59
 
60
60
  ```ts
61
61
  function buildConfig(): Promise<Map<string, string>> {
62
- return Promise.resolve(new Map());
62
+ return Promise.resolve(new Map());
63
63
  }
64
64
  // ✅ valid (nested generic type is out of scope)
65
65
 
66
66
  function buildState(): { values: Map<string, string> } {
67
- return { values: new Map() };
67
+ return { values: new Map() };
68
68
  }
69
69
  // ✅ valid (nested object-property type is out of scope)
70
70
  ```
@@ -75,12 +75,12 @@ function buildState(): { values: Map<string, string> } {
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/require-readonly-map-return-type": "error",
82
- },
83
- },
78
+ {
79
+ plugins: { "etc-misc": etcMisc },
80
+ rules: {
81
+ "etc-misc/typescript/require-readonly-map-return-type": "error",
82
+ },
83
+ },
84
84
  ];
85
85
  ```
86
86
 
@@ -97,7 +97,7 @@ types or if you already enforce broader readonly type policy at the same scope.
97
97
 
98
98
  ## Further reading
99
99
 
100
- - [TypeScript: ReadonlyMap<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
100
+ - [TypeScript: ReadonlyMap\<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
101
101
 
102
102
  ## Adoption resources
103
103
 
@@ -62,12 +62,12 @@ type Config = { lookup: Map<string, number> };
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/require-readonly-map-type-alias": "error",
69
- },
70
- },
65
+ {
66
+ plugins: { "etc-misc": etcMisc },
67
+ rules: {
68
+ "etc-misc/typescript/require-readonly-map-type-alias": "error",
69
+ },
70
+ },
71
71
  ];
72
72
  ```
73
73
 
@@ -84,7 +84,7 @@ you already enforce immutability through a broader rule strategy.
84
84
 
85
85
  ## Further reading
86
86
 
87
- - [TypeScript: ReadonlyMap<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
87
+ - [TypeScript: ReadonlyMap\<K, V>](https://www.typescriptlang.org/docs/handbook/utility-types.html)
88
88
 
89
89
  ## Adoption resources
90
90
 
@@ -30,7 +30,7 @@ function loadLookup(lookup: Record<string, string>): void {}
30
30
  const resolver = (lookup: Record<string, string> | null) => lookup;
31
31
 
32
32
  class Registry {
33
- constructor(private readonly lookup: Record<string, string>) {}
33
+ constructor(private readonly lookup: Record<string, string>) {}
34
34
  }
35
35
  ```
36
36
 
@@ -42,7 +42,7 @@ function loadLookup(lookup: Readonly<Record<string, string>>): void {}
42
42
  const resolver = (lookup: Readonly<Record<string, string>> | null) => lookup;
43
43
 
44
44
  class Registry {
45
- constructor(private readonly lookup: Readonly<Record<string, string>>) {}
45
+ constructor(private readonly lookup: Readonly<Record<string, string>>) {}
46
46
  }
47
47
  ```
48
48
 
@@ -70,12 +70,12 @@ function configure(lookup?: Readonly<Record<string, string>>): void {}
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/require-readonly-record-parameter-type": "error",
77
- },
78
- },
73
+ {
74
+ plugins: { "etc-misc": etcMisc },
75
+ rules: {
76
+ "etc-misc/typescript/require-readonly-record-parameter-type": "error",
77
+ },
78
+ },
79
79
  ];
80
80
  ```
81
81
 
@@ -24,11 +24,11 @@ intent and helps avoid accidental mutation through shared dictionary-like data.
24
24
 
25
25
  ```ts
26
26
  interface Config {
27
- lookup: Record<string, number>;
27
+ lookup: Record<string, number>;
28
28
  }
29
29
 
30
30
  type ApiConfig = {
31
- lookup: Record<string, number> | null;
31
+ lookup: Record<string, number> | null;
32
32
  };
33
33
  ```
34
34
 
@@ -36,11 +36,11 @@ type ApiConfig = {
36
36
 
37
37
  ```ts
38
38
  interface Config {
39
- lookup: Readonly<Record<string, number>>;
39
+ lookup: Readonly<Record<string, number>>;
40
40
  }
41
41
 
42
42
  type ApiConfig = {
43
- lookup: Readonly<Record<string, number>> | null;
43
+ lookup: Readonly<Record<string, number>> | null;
44
44
  };
45
45
  ```
46
46
 
@@ -56,12 +56,12 @@ This rule is autofixable and also provides suggestions.
56
56
 
57
57
  ```ts
58
58
  interface Config {
59
- lookup: Promise<Record<string, number>>;
59
+ lookup: Promise<Record<string, number>>;
60
60
  }
61
61
  // ✅ valid (nested generic type is out of scope)
62
62
 
63
63
  type Settings = {
64
- lookup: { nested: Record<string, number> };
64
+ lookup: { nested: Record<string, number> };
65
65
  };
66
66
  // ✅ valid (nested property type is out of scope)
67
67
  ```
@@ -72,12 +72,12 @@ type Settings = {
72
72
  import etcMisc from "eslint-plugin-etc-misc";
73
73
 
74
74
  export default [
75
- {
76
- plugins: { "etc-misc": etcMisc },
77
- rules: {
78
- "etc-misc/typescript/require-readonly-record-property-type": "error",
79
- },
80
- },
75
+ {
76
+ plugins: { "etc-misc": etcMisc },
77
+ rules: {
78
+ "etc-misc/typescript/require-readonly-record-property-type": "error",
79
+ },
80
+ },
81
81
  ];
82
82
  ```
83
83
 
@@ -25,13 +25,13 @@ shared dictionary-like objects.
25
25
 
26
26
  ```ts
27
27
  function buildLookup(): Record<string, number> {
28
- return {};
28
+ return {};
29
29
  }
30
30
 
31
31
  type Resolver = () => Record<string, string> | null;
32
32
 
33
33
  interface API {
34
- run(): Record<string, string>;
34
+ run(): Record<string, string>;
35
35
  }
36
36
  ```
37
37
 
@@ -39,13 +39,13 @@ interface API {
39
39
 
40
40
  ```ts
41
41
  function buildLookup(): Readonly<Record<string, number>> {
42
- return {};
42
+ return {};
43
43
  }
44
44
 
45
45
  type Resolver = () => Readonly<Record<string, string>> | null;
46
46
 
47
47
  interface API {
48
- run(): Readonly<Record<string, string>>;
48
+ run(): Readonly<Record<string, string>>;
49
49
  }
50
50
  ```
51
51
 
@@ -61,12 +61,12 @@ This rule is autofixable and also provides suggestions.
61
61
 
62
62
  ```ts
63
63
  function buildConfig(): Promise<Record<string, string>> {
64
- return Promise.resolve({});
64
+ return Promise.resolve({});
65
65
  }
66
66
  // ✅ valid (nested generic type is out of scope)
67
67
 
68
68
  function buildState(): { values: Record<string, string> } {
69
- return { values: {} };
69
+ return { values: {} };
70
70
  }
71
71
  // ✅ valid (nested object-property type is out of scope)
72
72
  ```
@@ -77,12 +77,12 @@ function buildState(): { values: Record<string, string> } {
77
77
  import etcMisc from "eslint-plugin-etc-misc";
78
78
 
79
79
  export default [
80
- {
81
- plugins: { "etc-misc": etcMisc },
82
- rules: {
83
- "etc-misc/typescript/require-readonly-record-return-type": "error",
84
- },
85
- },
80
+ {
81
+ plugins: { "etc-misc": etcMisc },
82
+ rules: {
83
+ "etc-misc/typescript/require-readonly-record-return-type": "error",
84
+ },
85
+ },
86
86
  ];
87
87
  ```
88
88
 
@@ -63,12 +63,12 @@ type Config = { lookup: Record<string, number> };
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/require-readonly-record-type-alias": "error",
70
- },
71
- },
66
+ {
67
+ plugins: { "etc-misc": etcMisc },
68
+ rules: {
69
+ "etc-misc/typescript/require-readonly-record-type-alias": "error",
70
+ },
71
+ },
72
72
  ];
73
73
  ```
74
74
 
@@ -29,7 +29,7 @@ function loadTags(tags: Set<string>): void {}
29
29
  const resolver = (tags: Set<string> | null) => tags;
30
30
 
31
31
  class Registry {
32
- constructor(private readonly tags: Set<string>) {}
32
+ constructor(private readonly tags: Set<string>) {}
33
33
  }
34
34
  ```
35
35
 
@@ -41,7 +41,7 @@ function loadTags(tags: ReadonlySet<string>): void {}
41
41
  const resolver = (tags: ReadonlySet<string> | null) => tags;
42
42
 
43
43
  class Registry {
44
- constructor(private readonly tags: ReadonlySet<string>) {}
44
+ constructor(private readonly tags: ReadonlySet<string>) {}
45
45
  }
46
46
  ```
47
47
 
@@ -69,12 +69,12 @@ function configure(tags?: ReadonlySet<string>): void {}
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/require-readonly-set-parameter-type": "error",
76
- },
77
- },
72
+ {
73
+ plugins: { "etc-misc": etcMisc },
74
+ rules: {
75
+ "etc-misc/typescript/require-readonly-set-parameter-type": "error",
76
+ },
77
+ },
78
78
  ];
79
79
  ```
80
80