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
@@ -23,28 +23,32 @@ It provides a general escape hatch for enforcing project-specific syntax bans.
23
23
 
24
24
  ```ts
25
25
  if (x) {
26
- y();
26
+ y();
27
27
  }
28
28
  ```
29
29
 
30
30
  with options:
31
31
 
32
32
  ```ts
33
- { selectors: ["IfStatement"] }
33
+ {
34
+ selectors: ["IfStatement"];
35
+ }
34
36
  ```
35
37
 
36
38
  ## ✅ Correct
37
39
 
38
40
  ```ts
39
41
  for (;;) {
40
- break;
42
+ break;
41
43
  }
42
44
  ```
43
45
 
44
46
  with options:
45
47
 
46
48
  ```ts
47
- { selectors: ["IfStatement"] }
49
+ {
50
+ selectors: ["IfStatement"];
51
+ }
48
52
  ```
49
53
 
50
54
  ## Deprecated
@@ -64,22 +68,22 @@ It reports only and does not provide an autofix.
64
68
 
65
69
  ```ts
66
70
  type Options = [
67
- {
68
- selectors?: Array<
69
- | string
70
- | {
71
- message?: string;
72
- selector: string;
73
- }
74
- >;
75
- },
71
+ {
72
+ selectors?: Array<
73
+ | string
74
+ | {
75
+ message?: string;
76
+ selector: string;
77
+ }
78
+ >;
79
+ },
76
80
  ];
77
81
  ```
78
82
 
79
83
  ### Default configuration
80
84
 
81
85
  ```ts
82
- [{ selectors: [] }]
86
+ [{ selectors: [] }];
83
87
  ```
84
88
 
85
89
  With the default empty selector list, this rule does not report anything until
@@ -108,15 +112,12 @@ setTimeout(() => {}, 1000);
108
112
  import etcMisc from "eslint-plugin-etc-misc";
109
113
 
110
114
  export default [
111
- {
112
- plugins: { "etc-misc": etcMisc },
113
- rules: {
114
- "etc-misc/no-restricted-syntax": [
115
- "error",
116
- { selectors: ["IfStatement"] },
117
- ],
118
- },
119
- },
115
+ {
116
+ plugins: { "etc-misc": etcMisc },
117
+ rules: {
118
+ "etc-misc/no-restricted-syntax": ["error", { selectors: ["IfStatement"] }],
119
+ },
120
+ },
120
121
  ];
121
122
  ```
122
123
 
@@ -56,12 +56,12 @@ const password = process.env.APP_PASSWORD;
56
56
  import etcMisc from "eslint-plugin-etc-misc";
57
57
 
58
58
  export default [
59
- {
60
- plugins: { "etc-misc": etcMisc },
61
- rules: {
62
- "etc-misc/no-secret": "error",
63
- },
64
- },
59
+ {
60
+ plugins: { "etc-misc": etcMisc },
61
+ rules: {
62
+ "etc-misc/no-secret": "error",
63
+ },
64
+ },
65
65
  ];
66
66
  ```
67
67
 
@@ -78,12 +78,12 @@ export * from "./format";
78
78
  import etcMisc from "eslint-plugin-etc-misc";
79
79
 
80
80
  export default [
81
- {
82
- plugins: { "etc-misc": etcMisc },
83
- rules: {
84
- "etc-misc/no-self-import": "error",
85
- },
86
- },
81
+ {
82
+ plugins: { "etc-misc": etcMisc },
83
+ rules: {
84
+ "etc-misc/no-self-import": "error",
85
+ },
86
+ },
87
87
  ];
88
88
  ```
89
89
 
@@ -25,8 +25,8 @@ Shadowing can hide outer bindings and make data flow harder to reason about.
25
25
  ```ts
26
26
  const x = 1;
27
27
  function f() {
28
- const x = 2;
29
- return x;
28
+ const x = 2;
29
+ return x;
30
30
  }
31
31
  ```
32
32
 
@@ -35,8 +35,8 @@ function f() {
35
35
  ```ts
36
36
  const x = 1;
37
37
  function f() {
38
- const y = x + 1;
39
- return y;
38
+ const y = x + 1;
39
+ return y;
40
40
  }
41
41
  ```
42
42
 
@@ -65,11 +65,11 @@ Use the **Deprecated** section above for lifecycle details.
65
65
 
66
66
  ```ts
67
67
  enum Status {
68
- Ready,
68
+ Ready,
69
69
  }
70
70
 
71
71
  function run(Status: number): number {
72
- return Status;
72
+ return Status;
73
73
  }
74
74
  // enum-related declarations are intentionally ignored by this rule.
75
75
  ```
@@ -80,12 +80,12 @@ function run(Status: number): number {
80
80
  import etcMisc from "eslint-plugin-etc-misc";
81
81
 
82
82
  export default [
83
- {
84
- plugins: { "etc-misc": etcMisc },
85
- rules: {
86
- "etc-misc/no-shadow": "error",
87
- },
88
- },
83
+ {
84
+ plugins: { "etc-misc": etcMisc },
85
+ rules: {
86
+ "etc-misc/no-shadow": "error",
87
+ },
88
+ },
89
89
  ];
90
90
  ```
91
91
 
@@ -49,8 +49,8 @@ Default `disallow` is `./*`, but you can override with custom `allow` and
49
49
 
50
50
  ```ts
51
51
  type Options = {
52
- allow?: string[];
53
- disallow?: string[];
52
+ allow?: string[];
53
+ disallow?: string[];
54
54
  };
55
55
  ```
56
56
 
@@ -80,12 +80,12 @@ await import("./runtime");
80
80
  import etcMisc from "eslint-plugin-etc-misc";
81
81
 
82
82
  export default [
83
- {
84
- plugins: { "etc-misc": etcMisc },
85
- rules: {
86
- "etc-misc/no-sibling-import": "error",
87
- },
88
- },
83
+ {
84
+ plugins: { "etc-misc": etcMisc },
85
+ rules: {
86
+ "etc-misc/no-sibling-import": "error",
87
+ },
88
+ },
89
89
  ];
90
90
  ```
91
91
 
@@ -39,9 +39,9 @@ This rule reports only and does not provide an autofix.
39
39
 
40
40
  ```ts
41
41
  type Options = [
42
- {
43
- allowDirectiveComments?: boolean;
44
- }?,
42
+ {
43
+ allowDirectiveComments?: boolean;
44
+ }?,
45
45
  ];
46
46
  ```
47
47
 
@@ -50,7 +50,7 @@ type Options = [
50
50
  Default:
51
51
 
52
52
  ```ts
53
- [{ allowDirectiveComments: true }]
53
+ [{ allowDirectiveComments: true }];
54
54
  ```
55
55
 
56
56
  When `allowDirectiveComments` is `true`, comments such as
@@ -78,12 +78,12 @@ const nextValue = 2;
78
78
  import etcMisc from "eslint-plugin-etc-misc";
79
79
 
80
80
  export default [
81
- {
82
- plugins: { "etc-misc": etcMisc },
83
- rules: {
84
- "etc-misc/no-single-line-comment": "error",
85
- },
86
- },
81
+ {
82
+ plugins: { "etc-misc": etcMisc },
83
+ rules: {
84
+ "etc-misc/no-single-line-comment": "error",
85
+ },
86
+ },
87
87
  ];
88
88
  ```
89
89
 
@@ -12,7 +12,7 @@ It reports:
12
12
 
13
13
  - single-character names (for example `T`, `K`, `U`), and
14
14
  - names with two or more characters that do not start with configured `prefix`
15
- (when `prefix` is set).
15
+ (when `prefix` is set).
16
16
 
17
17
  ## What this rule reports
18
18
 
@@ -29,7 +29,7 @@ maintenance.
29
29
 
30
30
  ```ts
31
31
  function identity<T>(value: T): T {
32
- return value;
32
+ return value;
33
33
  }
34
34
  ```
35
35
 
@@ -37,7 +37,7 @@ function identity<T>(value: T): T {
37
37
 
38
38
  ```ts
39
39
  function identity<ValueType>(value: ValueType): ValueType {
40
- return value;
40
+ return value;
41
41
  }
42
42
  ```
43
43
 
@@ -52,16 +52,16 @@ in touched code paths.
52
52
 
53
53
  ```ts
54
54
  type Options = [
55
- {
56
- prefix?: string;
57
- }?,
55
+ {
56
+ prefix?: string;
57
+ }?,
58
58
  ];
59
59
  ```
60
60
 
61
61
  ### Default configuration
62
62
 
63
63
  ```ts
64
- [{}]
64
+ [{}];
65
65
  ```
66
66
 
67
67
  ### `prefix`
@@ -81,12 +81,12 @@ Example configuration:
81
81
  ```ts
82
82
  // config: { prefix: "Type" }
83
83
  function map<TypeInput, TypeOutput>(value: TypeInput): TypeOutput {
84
- return value as unknown as TypeOutput;
84
+ return value as unknown as TypeOutput;
85
85
  }
86
86
  // ✅ valid
87
87
 
88
88
  function map<Input, Output>(value: Input): Output {
89
- return value as unknown as Output;
89
+ return value as unknown as Output;
90
90
  }
91
91
  // ❌ reported because names do not start with "Type"
92
92
  ```
@@ -97,12 +97,12 @@ function map<Input, Output>(value: Input): Output {
97
97
  import etcMisc from "eslint-plugin-etc-misc";
98
98
 
99
99
  export default [
100
- {
101
- plugins: { "etc-misc": etcMisc },
102
- rules: {
103
- "etc-misc/no-t": "error",
104
- },
105
- },
100
+ {
101
+ plugins: { "etc-misc": etcMisc },
102
+ rules: {
103
+ "etc-misc/no-t": "error",
104
+ },
105
+ },
106
106
  ];
107
107
  ```
108
108
 
@@ -64,12 +64,12 @@ export const _apiToken = "x";
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/no-underscore-export": "error",
71
- },
72
- },
67
+ {
68
+ plugins: { "etc-misc": etcMisc },
69
+ rules: {
70
+ "etc-misc/no-underscore-export": "error",
71
+ },
72
+ },
73
73
  ];
74
74
  ```
75
75
 
@@ -9,7 +9,7 @@ are likely redundant:
9
9
 
10
10
  - `{} as const` in variable initializers, and
11
11
  - any `as const` initializer when the variable already has an explicit type
12
- annotation.
12
+ annotation.
13
13
 
14
14
  This is intentionally narrow and does not report every possible redundant
15
15
  `as const` usage.
@@ -52,7 +52,7 @@ This rule has no options.
52
52
 
53
53
  ```ts
54
54
  const options: Readonly<Record<string, string>> = {
55
- mode: "strict",
55
+ mode: "strict",
56
56
  } as const;
57
57
  // ❌ reported because variable already has explicit type annotation
58
58
 
@@ -66,12 +66,12 @@ const tuple = ["a", "b"] as const;
66
66
  import etcMisc from "eslint-plugin-etc-misc";
67
67
 
68
68
  export default [
69
- {
70
- plugins: { "etc-misc": etcMisc },
71
- rules: {
72
- "etc-misc/no-unnecessary-as-const": "error",
73
- },
74
- },
69
+ {
70
+ plugins: { "etc-misc": etcMisc },
71
+ rules: {
72
+ "etc-misc/no-unnecessary-as-const": "error",
73
+ },
74
+ },
75
75
  ];
76
76
  ```
77
77
 
@@ -23,10 +23,10 @@ keeps `switch` blocks smaller and easier to scan.
23
23
 
24
24
  ```ts
25
25
  switch (x) {
26
- case 1:
27
- break;
28
- case 2:
29
- break;
26
+ case 1:
27
+ break;
28
+ case 2:
29
+ break;
30
30
  }
31
31
  ```
32
32
 
@@ -34,9 +34,9 @@ switch (x) {
34
34
 
35
35
  ```ts
36
36
  switch (x) {
37
- case 1:
38
- break;
39
- case 2:
37
+ case 1:
38
+ break;
39
+ case 2:
40
40
  }
41
41
  ```
42
42
 
@@ -55,12 +55,12 @@ This rule has no options.
55
55
 
56
56
  ```ts
57
57
  switch (status) {
58
- case "ok":
59
- handleOk();
60
- break;
61
- default:
62
- handleDefault();
63
- break; // ❌ unnecessary (last case)
58
+ case "ok":
59
+ handleOk();
60
+ break;
61
+ default:
62
+ handleDefault();
63
+ break; // ❌ unnecessary (last case)
64
64
  }
65
65
  ```
66
66
 
@@ -70,12 +70,12 @@ switch (status) {
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/no-unnecessary-break": "error",
77
- },
78
- },
73
+ {
74
+ plugins: { "etc-misc": etcMisc },
75
+ rules: {
76
+ "etc-misc/no-unnecessary-break": "error",
77
+ },
78
+ },
79
79
  ];
80
80
  ```
81
81
 
@@ -25,7 +25,7 @@ Removing these initializers makes intent clearer and avoids unnecessary syntax.
25
25
  ```ts
26
26
  const value = undefined;
27
27
  class C {
28
- field = undefined;
28
+ field = undefined;
29
29
  }
30
30
  ```
31
31
 
@@ -34,7 +34,7 @@ class C {
34
34
  ```ts
35
35
  let value: number | undefined;
36
36
  class C {
37
- field?: number;
37
+ field?: number;
38
38
  }
39
39
  ```
40
40
 
@@ -64,12 +64,12 @@ let cache: string | undefined;
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/no-unnecessary-initialization": "error",
71
- },
72
- },
67
+ {
68
+ plugins: { "etc-misc": etcMisc },
69
+ rules: {
70
+ "etc-misc/no-unnecessary-initialization": "error",
71
+ },
72
+ },
73
73
  ];
74
74
  ```
75
75
 
@@ -7,7 +7,7 @@ Disallow template literals that contain no expressions.
7
7
  This rule matches template literals with zero interpolations:
8
8
 
9
9
  - `` `plain text` ``
10
- - `` `` `` (empty template)
10
+ - ` ` \`\` (empty template)
11
11
 
12
12
  It reports only when `expressions.length === 0`.
13
13
 
@@ -63,12 +63,12 @@ const title = "Dashboard";
63
63
  import etcMisc from "eslint-plugin-etc-misc";
64
64
 
65
65
  export default [
66
- {
67
- plugins: { "etc-misc": etcMisc },
68
- rules: {
69
- "etc-misc/no-unnecessary-template-literal": "error",
70
- },
71
- },
66
+ {
67
+ plugins: { "etc-misc": etcMisc },
68
+ rules: {
69
+ "etc-misc/no-unnecessary-template-literal": "error",
70
+ },
71
+ },
72
72
  ];
73
73
  ```
74
74
 
@@ -58,12 +58,12 @@ const value = 1;
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/no-unused-disable": "error",
65
- },
66
- },
61
+ {
62
+ plugins: { "etc-misc": etcMisc },
63
+ rules: {
64
+ "etc-misc/no-unused-disable": "error",
65
+ },
66
+ },
67
67
  ];
68
68
  ```
69
69
 
@@ -23,7 +23,7 @@ generic type parameters.
23
23
 
24
24
  ```ts
25
25
  function toUpper<T>(value: string): string {
26
- return value.toUpperCase();
26
+ return value.toUpperCase();
27
27
  }
28
28
  ```
29
29
 
@@ -31,7 +31,7 @@ function toUpper<T>(value: string): string {
31
31
 
32
32
  ```ts
33
33
  function identity<T>(value: T): T {
34
- return value;
34
+ return value;
35
35
  }
36
36
  ```
37
37
 
@@ -49,12 +49,12 @@ This rule forwards options to
49
49
 
50
50
  ```ts
51
51
  function parse<T extends string>(input: string): string {
52
- return input.trim();
52
+ return input.trim();
53
53
  }
54
54
  // ❌ reported: generic does not add a relation
55
55
 
56
56
  function first<T>(items: readonly T[]): T | undefined {
57
- return items[0];
57
+ return items[0];
58
58
  }
59
59
  // ✅ valid: generic ties parameter and return type
60
60
  ```
@@ -65,12 +65,12 @@ function first<T>(items: readonly T[]): T | undefined {
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/no-useless-generics": "error",
72
- },
73
- },
68
+ {
69
+ plugins: { "etc-misc": etcMisc },
70
+ rules: {
71
+ "etc-misc/no-useless-generics": "error",
72
+ },
73
+ },
74
74
  ];
75
75
  ```
76
76
 
@@ -60,12 +60,12 @@ value.toString();
60
60
  import etcMisc from "eslint-plugin-etc-misc";
61
61
 
62
62
  export default [
63
- {
64
- plugins: { "etc-misc": etcMisc },
65
- rules: {
66
- "etc-misc/no-value-tostring": "error",
67
- },
68
- },
63
+ {
64
+ plugins: { "etc-misc": etcMisc },
65
+ rules: {
66
+ "etc-misc/no-value-tostring": "error",
67
+ },
68
+ },
69
69
  ];
70
70
  ```
71
71