eslint-plugin-etc-misc 1.0.1

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 (803) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +259 -0
  4. package/dist/_internal/casing.d.ts +13 -0
  5. package/dist/_internal/casing.d.ts.map +1 -0
  6. package/dist/_internal/casing.js +34 -0
  7. package/dist/_internal/casing.js.map +1 -0
  8. package/dist/_internal/create-external-rule.d.ts +12 -0
  9. package/dist/_internal/create-external-rule.d.ts.map +1 -0
  10. package/dist/_internal/create-external-rule.js +66 -0
  11. package/dist/_internal/create-external-rule.js.map +1 -0
  12. package/dist/_internal/create-import-pattern-rule.d.ts +39 -0
  13. package/dist/_internal/create-import-pattern-rule.d.ts.map +1 -0
  14. package/dist/_internal/create-import-pattern-rule.js +67 -0
  15. package/dist/_internal/create-import-pattern-rule.js.map +1 -0
  16. package/dist/_internal/create-selector-rule.d.ts +18 -0
  17. package/dist/_internal/create-selector-rule.d.ts.map +1 -0
  18. package/dist/_internal/create-selector-rule.js +31 -0
  19. package/dist/_internal/create-selector-rule.js.map +1 -0
  20. package/dist/_internal/get-core-rule.d.ts +8 -0
  21. package/dist/_internal/get-core-rule.d.ts.map +1 -0
  22. package/dist/_internal/get-core-rule.js +14 -0
  23. package/dist/_internal/get-core-rule.js.map +1 -0
  24. package/dist/_internal/identifier-blocks.d.ts +10 -0
  25. package/dist/_internal/identifier-blocks.d.ts.map +1 -0
  26. package/dist/_internal/identifier-blocks.js +24 -0
  27. package/dist/_internal/identifier-blocks.js.map +1 -0
  28. package/dist/_internal/ignore-patterns.d.ts +26 -0
  29. package/dist/_internal/ignore-patterns.d.ts.map +1 -0
  30. package/dist/_internal/ignore-patterns.js +35 -0
  31. package/dist/_internal/ignore-patterns.js.map +1 -0
  32. package/dist/_internal/import-patterns.d.ts +30 -0
  33. package/dist/_internal/import-patterns.d.ts.map +1 -0
  34. package/dist/_internal/import-patterns.js +52 -0
  35. package/dist/_internal/import-patterns.js.map +1 -0
  36. package/dist/_internal/plugin-meta.d.ts +13 -0
  37. package/dist/_internal/plugin-meta.d.ts.map +1 -0
  38. package/dist/_internal/plugin-meta.js +9 -0
  39. package/dist/_internal/plugin-meta.js.map +1 -0
  40. package/dist/_internal/rule-catalog.d.ts +36 -0
  41. package/dist/_internal/rule-catalog.d.ts.map +1 -0
  42. package/dist/_internal/rule-catalog.js +49 -0
  43. package/dist/_internal/rule-catalog.js.map +1 -0
  44. package/dist/_internal/rule-creator.d.ts +26 -0
  45. package/dist/_internal/rule-creator.d.ts.map +1 -0
  46. package/dist/_internal/rule-creator.js +14 -0
  47. package/dist/_internal/rule-creator.js.map +1 -0
  48. package/dist/_internal/rule-deprecation.d.ts +32 -0
  49. package/dist/_internal/rule-deprecation.d.ts.map +1 -0
  50. package/dist/_internal/rule-deprecation.js +38 -0
  51. package/dist/_internal/rule-deprecation.js.map +1 -0
  52. package/dist/_internal/symbol-usage.d.ts +25 -0
  53. package/dist/_internal/symbol-usage.d.ts.map +1 -0
  54. package/dist/_internal/symbol-usage.js +82 -0
  55. package/dist/_internal/symbol-usage.js.map +1 -0
  56. package/dist/_internal/syntax-selectors.d.ts +24 -0
  57. package/dist/_internal/syntax-selectors.d.ts.map +1 -0
  58. package/dist/_internal/syntax-selectors.js +30 -0
  59. package/dist/_internal/syntax-selectors.js.map +1 -0
  60. package/dist/configs/all-strict.d.ts +11 -0
  61. package/dist/configs/all-strict.d.ts.map +1 -0
  62. package/dist/configs/all-strict.js +16 -0
  63. package/dist/configs/all-strict.js.map +1 -0
  64. package/dist/configs/all.d.ts +10 -0
  65. package/dist/configs/all.d.ts.map +1 -0
  66. package/dist/configs/all.js +18 -0
  67. package/dist/configs/all.js.map +1 -0
  68. package/dist/configs/recommended.d.ts +29 -0
  69. package/dist/configs/recommended.d.ts.map +1 -0
  70. package/dist/configs/recommended.js +29 -0
  71. package/dist/configs/recommended.js.map +1 -0
  72. package/dist/configs/strict-type-checked.d.ts +15 -0
  73. package/dist/configs/strict-type-checked.d.ts.map +1 -0
  74. package/dist/configs/strict-type-checked.js +38 -0
  75. package/dist/configs/strict-type-checked.js.map +1 -0
  76. package/dist/configs/strict.d.ts +13 -0
  77. package/dist/configs/strict.d.ts.map +1 -0
  78. package/dist/configs/strict.js +10 -0
  79. package/dist/configs/strict.js.map +1 -0
  80. package/dist/configs.d.ts +34 -0
  81. package/dist/configs.d.ts.map +1 -0
  82. package/dist/configs.js +33 -0
  83. package/dist/configs.js.map +1 -0
  84. package/dist/plugin.cjs +4 -0
  85. package/dist/plugin.d.cts +2 -0
  86. package/dist/plugin.d.ts +15 -0
  87. package/dist/plugin.d.ts.map +1 -0
  88. package/dist/plugin.js +14 -0
  89. package/dist/plugin.js.map +1 -0
  90. package/dist/rules/array-type.d.ts +8 -0
  91. package/dist/rules/array-type.d.ts.map +1 -0
  92. package/dist/rules/array-type.js +25 -0
  93. package/dist/rules/array-type.js.map +1 -0
  94. package/dist/rules/class-match-filename.d.ts +9 -0
  95. package/dist/rules/class-match-filename.d.ts.map +1 -0
  96. package/dist/rules/class-match-filename.js +51 -0
  97. package/dist/rules/class-match-filename.js.map +1 -0
  98. package/dist/rules/comment-spacing.d.ts +9 -0
  99. package/dist/rules/comment-spacing.d.ts.map +1 -0
  100. package/dist/rules/comment-spacing.js +63 -0
  101. package/dist/rules/comment-spacing.js.map +1 -0
  102. package/dist/rules/consistent-empty-lines.d.ts +9 -0
  103. package/dist/rules/consistent-empty-lines.d.ts.map +1 -0
  104. package/dist/rules/consistent-empty-lines.js +74 -0
  105. package/dist/rules/consistent-empty-lines.js.map +1 -0
  106. package/dist/rules/consistent-enum-members.d.ts +9 -0
  107. package/dist/rules/consistent-enum-members.d.ts.map +1 -0
  108. package/dist/rules/consistent-enum-members.js +36 -0
  109. package/dist/rules/consistent-enum-members.js.map +1 -0
  110. package/dist/rules/consistent-filename.d.ts +18 -0
  111. package/dist/rules/consistent-filename.d.ts.map +1 -0
  112. package/dist/rules/consistent-filename.js +87 -0
  113. package/dist/rules/consistent-filename.js.map +1 -0
  114. package/dist/rules/consistent-import.d.ts +14 -0
  115. package/dist/rules/consistent-import.d.ts.map +1 -0
  116. package/dist/rules/consistent-import.js +91 -0
  117. package/dist/rules/consistent-import.js.map +1 -0
  118. package/dist/rules/consistent-optional-props.d.ts +9 -0
  119. package/dist/rules/consistent-optional-props.d.ts.map +1 -0
  120. package/dist/rules/consistent-optional-props.js +68 -0
  121. package/dist/rules/consistent-optional-props.js.map +1 -0
  122. package/dist/rules/consistent-source-extension.d.ts +14 -0
  123. package/dist/rules/consistent-source-extension.d.ts.map +1 -0
  124. package/dist/rules/consistent-source-extension.js +56 -0
  125. package/dist/rules/consistent-source-extension.js.map +1 -0
  126. package/dist/rules/consistent-symbol-description.d.ts +9 -0
  127. package/dist/rules/consistent-symbol-description.d.ts.map +1 -0
  128. package/dist/rules/consistent-symbol-description.js +36 -0
  129. package/dist/rules/consistent-symbol-description.js.map +1 -0
  130. package/dist/rules/default-case.d.ts +7 -0
  131. package/dist/rules/default-case.d.ts.map +1 -0
  132. package/dist/rules/default-case.js +9 -0
  133. package/dist/rules/default-case.js.map +1 -0
  134. package/dist/rules/disallow-import.d.ts +7 -0
  135. package/dist/rules/disallow-import.d.ts.map +1 -0
  136. package/dist/rules/disallow-import.js +11 -0
  137. package/dist/rules/disallow-import.js.map +1 -0
  138. package/dist/rules/export-matching-filename-only.d.ts +14 -0
  139. package/dist/rules/export-matching-filename-only.d.ts.map +1 -0
  140. package/dist/rules/export-matching-filename-only.js +102 -0
  141. package/dist/rules/export-matching-filename-only.js.map +1 -0
  142. package/dist/rules/match-filename.d.ts +18 -0
  143. package/dist/rules/match-filename.d.ts.map +1 -0
  144. package/dist/rules/match-filename.js +119 -0
  145. package/dist/rules/match-filename.js.map +1 -0
  146. package/dist/rules/max-identifier-blocks.d.ts +9 -0
  147. package/dist/rules/max-identifier-blocks.d.ts.map +1 -0
  148. package/dist/rules/max-identifier-blocks.js +46 -0
  149. package/dist/rules/max-identifier-blocks.js.map +1 -0
  150. package/dist/rules/no-assign-mutated-array.d.ts +9 -0
  151. package/dist/rules/no-assign-mutated-array.d.ts.map +1 -0
  152. package/dist/rules/no-assign-mutated-array.js +117 -0
  153. package/dist/rules/no-assign-mutated-array.js.map +1 -0
  154. package/dist/rules/no-at-sign-import.d.ts +7 -0
  155. package/dist/rules/no-at-sign-import.d.ts.map +1 -0
  156. package/dist/rules/no-at-sign-import.js +11 -0
  157. package/dist/rules/no-at-sign-import.js.map +1 -0
  158. package/dist/rules/no-at-sign-internal-import.d.ts +7 -0
  159. package/dist/rules/no-at-sign-internal-import.d.ts.map +1 -0
  160. package/dist/rules/no-at-sign-internal-import.js +11 -0
  161. package/dist/rules/no-at-sign-internal-import.js.map +1 -0
  162. package/dist/rules/no-chain-coalescence-mixture.d.ts +10 -0
  163. package/dist/rules/no-chain-coalescence-mixture.d.ts.map +1 -0
  164. package/dist/rules/no-chain-coalescence-mixture.js +36 -0
  165. package/dist/rules/no-chain-coalescence-mixture.js.map +1 -0
  166. package/dist/rules/no-commented-out-code.d.ts +13 -0
  167. package/dist/rules/no-commented-out-code.d.ts.map +1 -0
  168. package/dist/rules/no-commented-out-code.js +220 -0
  169. package/dist/rules/no-commented-out-code.js.map +1 -0
  170. package/dist/rules/no-const-enum.d.ts +13 -0
  171. package/dist/rules/no-const-enum.d.ts.map +1 -0
  172. package/dist/rules/no-const-enum.js +90 -0
  173. package/dist/rules/no-const-enum.js.map +1 -0
  174. package/dist/rules/no-deprecated.d.ts +18 -0
  175. package/dist/rules/no-deprecated.d.ts.map +1 -0
  176. package/dist/rules/no-deprecated.js +133 -0
  177. package/dist/rules/no-deprecated.js.map +1 -0
  178. package/dist/rules/no-enum.d.ts +8 -0
  179. package/dist/rules/no-enum.d.ts.map +1 -0
  180. package/dist/rules/no-enum.js +34 -0
  181. package/dist/rules/no-enum.js.map +1 -0
  182. package/dist/rules/no-expression-empty-lines.d.ts +9 -0
  183. package/dist/rules/no-expression-empty-lines.d.ts.map +1 -0
  184. package/dist/rules/no-expression-empty-lines.js +51 -0
  185. package/dist/rules/no-expression-empty-lines.js.map +1 -0
  186. package/dist/rules/no-foreach.d.ts +13 -0
  187. package/dist/rules/no-foreach.d.ts.map +1 -0
  188. package/dist/rules/no-foreach.js +95 -0
  189. package/dist/rules/no-foreach.js.map +1 -0
  190. package/dist/rules/no-implicit-any-catch.d.ts +13 -0
  191. package/dist/rules/no-implicit-any-catch.d.ts.map +1 -0
  192. package/dist/rules/no-implicit-any-catch.js +156 -0
  193. package/dist/rules/no-implicit-any-catch.js.map +1 -0
  194. package/dist/rules/no-index-import.d.ts +7 -0
  195. package/dist/rules/no-index-import.d.ts.map +1 -0
  196. package/dist/rules/no-index-import.js +11 -0
  197. package/dist/rules/no-index-import.js.map +1 -0
  198. package/dist/rules/no-internal-modules.d.ts +7 -0
  199. package/dist/rules/no-internal-modules.d.ts.map +1 -0
  200. package/dist/rules/no-internal-modules.js +15 -0
  201. package/dist/rules/no-internal-modules.js.map +1 -0
  202. package/dist/rules/no-internal.d.ts +14 -0
  203. package/dist/rules/no-internal.d.ts.map +1 -0
  204. package/dist/rules/no-internal.js +113 -0
  205. package/dist/rules/no-internal.js.map +1 -0
  206. package/dist/rules/no-language-mixing.d.ts +9 -0
  207. package/dist/rules/no-language-mixing.d.ts.map +1 -0
  208. package/dist/rules/no-language-mixing.js +40 -0
  209. package/dist/rules/no-language-mixing.js.map +1 -0
  210. package/dist/rules/no-misused-generics.d.ts +10 -0
  211. package/dist/rules/no-misused-generics.d.ts.map +1 -0
  212. package/dist/rules/no-misused-generics.js +159 -0
  213. package/dist/rules/no-misused-generics.js.map +1 -0
  214. package/dist/rules/no-mixed-enums.d.ts +8 -0
  215. package/dist/rules/no-mixed-enums.d.ts.map +1 -0
  216. package/dist/rules/no-mixed-enums.js +25 -0
  217. package/dist/rules/no-mixed-enums.js.map +1 -0
  218. package/dist/rules/no-negated-conditions.d.ts +9 -0
  219. package/dist/rules/no-negated-conditions.d.ts.map +1 -0
  220. package/dist/rules/no-negated-conditions.js +42 -0
  221. package/dist/rules/no-negated-conditions.js.map +1 -0
  222. package/dist/rules/no-nodejs-modules.d.ts +7 -0
  223. package/dist/rules/no-nodejs-modules.d.ts.map +1 -0
  224. package/dist/rules/no-nodejs-modules.js +11 -0
  225. package/dist/rules/no-nodejs-modules.js.map +1 -0
  226. package/dist/rules/no-param-reassign.d.ts +10 -0
  227. package/dist/rules/no-param-reassign.d.ts.map +1 -0
  228. package/dist/rules/no-param-reassign.js +102 -0
  229. package/dist/rules/no-param-reassign.js.map +1 -0
  230. package/dist/rules/no-relative-parent-import.d.ts +11 -0
  231. package/dist/rules/no-relative-parent-import.d.ts.map +1 -0
  232. package/dist/rules/no-relative-parent-import.js +42 -0
  233. package/dist/rules/no-relative-parent-import.js.map +1 -0
  234. package/dist/rules/no-restricted-syntax.d.ts +18 -0
  235. package/dist/rules/no-restricted-syntax.d.ts.map +1 -0
  236. package/dist/rules/no-restricted-syntax.js +100 -0
  237. package/dist/rules/no-restricted-syntax.js.map +1 -0
  238. package/dist/rules/no-secret.d.ts +8 -0
  239. package/dist/rules/no-secret.d.ts.map +1 -0
  240. package/dist/rules/no-secret.js +37 -0
  241. package/dist/rules/no-secret.js.map +1 -0
  242. package/dist/rules/no-self-import.d.ts +13 -0
  243. package/dist/rules/no-self-import.d.ts.map +1 -0
  244. package/dist/rules/no-self-import.js +86 -0
  245. package/dist/rules/no-self-import.js.map +1 -0
  246. package/dist/rules/no-shadow.d.ts +14 -0
  247. package/dist/rules/no-shadow.d.ts.map +1 -0
  248. package/dist/rules/no-shadow.js +92 -0
  249. package/dist/rules/no-shadow.js.map +1 -0
  250. package/dist/rules/no-sibling-import.d.ts +7 -0
  251. package/dist/rules/no-sibling-import.d.ts.map +1 -0
  252. package/dist/rules/no-sibling-import.js +11 -0
  253. package/dist/rules/no-sibling-import.js.map +1 -0
  254. package/dist/rules/no-single-line-comment.d.ts +13 -0
  255. package/dist/rules/no-single-line-comment.d.ts.map +1 -0
  256. package/dist/rules/no-single-line-comment.js +88 -0
  257. package/dist/rules/no-single-line-comment.js.map +1 -0
  258. package/dist/rules/no-t.d.ts +16 -0
  259. package/dist/rules/no-t.d.ts.map +1 -0
  260. package/dist/rules/no-t.js +67 -0
  261. package/dist/rules/no-t.js.map +1 -0
  262. package/dist/rules/no-underscore-export.d.ts +9 -0
  263. package/dist/rules/no-underscore-export.d.ts.map +1 -0
  264. package/dist/rules/no-underscore-export.js +39 -0
  265. package/dist/rules/no-underscore-export.js.map +1 -0
  266. package/dist/rules/no-unnecessary-as-const.d.ts +9 -0
  267. package/dist/rules/no-unnecessary-as-const.d.ts.map +1 -0
  268. package/dist/rules/no-unnecessary-as-const.js +53 -0
  269. package/dist/rules/no-unnecessary-as-const.js.map +1 -0
  270. package/dist/rules/no-unnecessary-break.d.ts +9 -0
  271. package/dist/rules/no-unnecessary-break.d.ts.map +1 -0
  272. package/dist/rules/no-unnecessary-break.js +66 -0
  273. package/dist/rules/no-unnecessary-break.js.map +1 -0
  274. package/dist/rules/no-unnecessary-initialization.d.ts +9 -0
  275. package/dist/rules/no-unnecessary-initialization.d.ts.map +1 -0
  276. package/dist/rules/no-unnecessary-initialization.js +63 -0
  277. package/dist/rules/no-unnecessary-initialization.js.map +1 -0
  278. package/dist/rules/no-unnecessary-template-literal.d.ts +9 -0
  279. package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -0
  280. package/dist/rules/no-unnecessary-template-literal.js +47 -0
  281. package/dist/rules/no-unnecessary-template-literal.js.map +1 -0
  282. package/dist/rules/no-unused-disable.d.ts +11 -0
  283. package/dist/rules/no-unused-disable.d.ts.map +1 -0
  284. package/dist/rules/no-unused-disable.js +28 -0
  285. package/dist/rules/no-unused-disable.js.map +1 -0
  286. package/dist/rules/no-useless-generics.d.ts +8 -0
  287. package/dist/rules/no-useless-generics.d.ts.map +1 -0
  288. package/dist/rules/no-useless-generics.js +25 -0
  289. package/dist/rules/no-useless-generics.js.map +1 -0
  290. package/dist/rules/no-value-tostring.d.ts +8 -0
  291. package/dist/rules/no-value-tostring.d.ts.map +1 -0
  292. package/dist/rules/no-value-tostring.js +25 -0
  293. package/dist/rules/no-value-tostring.js.map +1 -0
  294. package/dist/rules/no-writeonly.d.ts +7 -0
  295. package/dist/rules/no-writeonly.d.ts.map +1 -0
  296. package/dist/rules/no-writeonly.js +9 -0
  297. package/dist/rules/no-writeonly.js.map +1 -0
  298. package/dist/rules/object-format.d.ts +13 -0
  299. package/dist/rules/object-format.d.ts.map +1 -0
  300. package/dist/rules/object-format.js +61 -0
  301. package/dist/rules/object-format.js.map +1 -0
  302. package/dist/rules/only-export-name.d.ts +13 -0
  303. package/dist/rules/only-export-name.d.ts.map +1 -0
  304. package/dist/rules/only-export-name.js +104 -0
  305. package/dist/rules/only-export-name.js.map +1 -0
  306. package/dist/rules/prefer-arrow-function-property.d.ts +9 -0
  307. package/dist/rules/prefer-arrow-function-property.d.ts.map +1 -0
  308. package/dist/rules/prefer-arrow-function-property.js +35 -0
  309. package/dist/rules/prefer-arrow-function-property.js.map +1 -0
  310. package/dist/rules/prefer-const-require.d.ts +9 -0
  311. package/dist/rules/prefer-const-require.d.ts.map +1 -0
  312. package/dist/rules/prefer-const-require.js +35 -0
  313. package/dist/rules/prefer-const-require.js.map +1 -0
  314. package/dist/rules/prefer-includes.d.ts +8 -0
  315. package/dist/rules/prefer-includes.d.ts.map +1 -0
  316. package/dist/rules/prefer-includes.js +25 -0
  317. package/dist/rules/prefer-includes.js.map +1 -0
  318. package/dist/rules/prefer-interface.d.ts +17 -0
  319. package/dist/rules/prefer-interface.d.ts.map +1 -0
  320. package/dist/rules/prefer-interface.js +190 -0
  321. package/dist/rules/prefer-interface.js.map +1 -0
  322. package/dist/rules/prefer-less-than.d.ts +8 -0
  323. package/dist/rules/prefer-less-than.d.ts.map +1 -0
  324. package/dist/rules/prefer-less-than.js +65 -0
  325. package/dist/rules/prefer-less-than.js.map +1 -0
  326. package/dist/rules/prefer-object-has-own.d.ts +8 -0
  327. package/dist/rules/prefer-object-has-own.d.ts.map +1 -0
  328. package/dist/rules/prefer-object-has-own.js +26 -0
  329. package/dist/rules/prefer-object-has-own.js.map +1 -0
  330. package/dist/rules/prefer-only-export.d.ts +9 -0
  331. package/dist/rules/prefer-only-export.d.ts.map +1 -0
  332. package/dist/rules/prefer-only-export.js +35 -0
  333. package/dist/rules/prefer-only-export.js.map +1 -0
  334. package/dist/rules/require-jsdoc.d.ts +18 -0
  335. package/dist/rules/require-jsdoc.d.ts.map +1 -0
  336. package/dist/rules/require-jsdoc.js +129 -0
  337. package/dist/rules/require-jsdoc.js.map +1 -0
  338. package/dist/rules/require-syntax.d.ts +14 -0
  339. package/dist/rules/require-syntax.d.ts.map +1 -0
  340. package/dist/rules/require-syntax.js +106 -0
  341. package/dist/rules/require-syntax.js.map +1 -0
  342. package/dist/rules/restrict-identifier-characters.d.ts +9 -0
  343. package/dist/rules/restrict-identifier-characters.d.ts.map +1 -0
  344. package/dist/rules/restrict-identifier-characters.js +36 -0
  345. package/dist/rules/restrict-identifier-characters.js.map +1 -0
  346. package/dist/rules/sort-array.d.ts +9 -0
  347. package/dist/rules/sort-array.d.ts.map +1 -0
  348. package/dist/rules/sort-array.js +73 -0
  349. package/dist/rules/sort-array.js.map +1 -0
  350. package/dist/rules/sort-call-signature.d.ts +9 -0
  351. package/dist/rules/sort-call-signature.d.ts.map +1 -0
  352. package/dist/rules/sort-call-signature.js +35 -0
  353. package/dist/rules/sort-call-signature.js.map +1 -0
  354. package/dist/rules/sort-class-members.d.ts +13 -0
  355. package/dist/rules/sort-class-members.d.ts.map +1 -0
  356. package/dist/rules/sort-class-members.js +90 -0
  357. package/dist/rules/sort-class-members.js.map +1 -0
  358. package/dist/rules/sort-construct-signature.d.ts +9 -0
  359. package/dist/rules/sort-construct-signature.d.ts.map +1 -0
  360. package/dist/rules/sort-construct-signature.js +35 -0
  361. package/dist/rules/sort-construct-signature.js.map +1 -0
  362. package/dist/rules/sort-export-specifiers.d.ts +9 -0
  363. package/dist/rules/sort-export-specifiers.d.ts.map +1 -0
  364. package/dist/rules/sort-export-specifiers.js +62 -0
  365. package/dist/rules/sort-export-specifiers.js.map +1 -0
  366. package/dist/rules/sort-keys.d.ts +9 -0
  367. package/dist/rules/sort-keys.d.ts.map +1 -0
  368. package/dist/rules/sort-keys.js +84 -0
  369. package/dist/rules/sort-keys.js.map +1 -0
  370. package/dist/rules/sort-top-comments.d.ts +9 -0
  371. package/dist/rules/sort-top-comments.d.ts.map +1 -0
  372. package/dist/rules/sort-top-comments.js +66 -0
  373. package/dist/rules/sort-top-comments.js.map +1 -0
  374. package/dist/rules/switch-case-spacing.d.ts +13 -0
  375. package/dist/rules/switch-case-spacing.d.ts.map +1 -0
  376. package/dist/rules/switch-case-spacing.js +72 -0
  377. package/dist/rules/switch-case-spacing.js.map +1 -0
  378. package/dist/rules/template-literal-format.d.ts +9 -0
  379. package/dist/rules/template-literal-format.d.ts.map +1 -0
  380. package/dist/rules/template-literal-format.js +70 -0
  381. package/dist/rules/template-literal-format.js.map +1 -0
  382. package/dist/rules/throw-error.d.ts +9 -0
  383. package/dist/rules/throw-error.d.ts.map +1 -0
  384. package/dist/rules/throw-error.js +123 -0
  385. package/dist/rules/throw-error.js.map +1 -0
  386. package/dist/rules/throw-new-error.d.ts +8 -0
  387. package/dist/rules/throw-new-error.d.ts.map +1 -0
  388. package/dist/rules/throw-new-error.js +25 -0
  389. package/dist/rules/throw-new-error.js.map +1 -0
  390. package/dist/rules/typescript-array-callback-return-type.d.ts +9 -0
  391. package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -0
  392. package/dist/rules/typescript-array-callback-return-type.js +80 -0
  393. package/dist/rules/typescript-array-callback-return-type.js.map +1 -0
  394. package/dist/rules/typescript-class-methods-use-this.d.ts +13 -0
  395. package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -0
  396. package/dist/rules/typescript-class-methods-use-this.js +99 -0
  397. package/dist/rules/typescript-class-methods-use-this.js.map +1 -0
  398. package/dist/rules/typescript-consistent-array-type-name.d.ts +9 -0
  399. package/dist/rules/typescript-consistent-array-type-name.d.ts.map +1 -0
  400. package/dist/rules/typescript-consistent-array-type-name.js +36 -0
  401. package/dist/rules/typescript-consistent-array-type-name.js.map +1 -0
  402. package/dist/rules/typescript-define-function-in-one-statement.d.ts +9 -0
  403. package/dist/rules/typescript-define-function-in-one-statement.d.ts.map +1 -0
  404. package/dist/rules/typescript-define-function-in-one-statement.js +35 -0
  405. package/dist/rules/typescript-define-function-in-one-statement.js.map +1 -0
  406. package/dist/rules/typescript-exhaustive-switch.d.ts +13 -0
  407. package/dist/rules/typescript-exhaustive-switch.d.ts.map +1 -0
  408. package/dist/rules/typescript-exhaustive-switch.js +55 -0
  409. package/dist/rules/typescript-exhaustive-switch.js.map +1 -0
  410. package/dist/rules/typescript-no-boolean-literal-type.d.ts +9 -0
  411. package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -0
  412. package/dist/rules/typescript-no-boolean-literal-type.js +43 -0
  413. package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -0
  414. package/dist/rules/typescript-no-complex-declarator-type.d.ts +9 -0
  415. package/dist/rules/typescript-no-complex-declarator-type.d.ts.map +1 -0
  416. package/dist/rules/typescript-no-complex-declarator-type.js +35 -0
  417. package/dist/rules/typescript-no-complex-declarator-type.js.map +1 -0
  418. package/dist/rules/typescript-no-complex-return-type.d.ts +9 -0
  419. package/dist/rules/typescript-no-complex-return-type.d.ts.map +1 -0
  420. package/dist/rules/typescript-no-complex-return-type.js +35 -0
  421. package/dist/rules/typescript-no-complex-return-type.js.map +1 -0
  422. package/dist/rules/typescript-no-empty-interfaces.d.ts +10 -0
  423. package/dist/rules/typescript-no-empty-interfaces.d.ts.map +1 -0
  424. package/dist/rules/typescript-no-empty-interfaces.js +55 -0
  425. package/dist/rules/typescript-no-empty-interfaces.js.map +1 -0
  426. package/dist/rules/typescript-no-inferrable-types.d.ts +13 -0
  427. package/dist/rules/typescript-no-inferrable-types.d.ts.map +1 -0
  428. package/dist/rules/typescript-no-inferrable-types.js +58 -0
  429. package/dist/rules/typescript-no-inferrable-types.js.map +1 -0
  430. package/dist/rules/typescript-no-multi-type-tuples.d.ts +9 -0
  431. package/dist/rules/typescript-no-multi-type-tuples.d.ts.map +1 -0
  432. package/dist/rules/typescript-no-multi-type-tuples.js +35 -0
  433. package/dist/rules/typescript-no-multi-type-tuples.js.map +1 -0
  434. package/dist/rules/typescript-no-never.d.ts +9 -0
  435. package/dist/rules/typescript-no-never.d.ts.map +1 -0
  436. package/dist/rules/typescript-no-never.js +50 -0
  437. package/dist/rules/typescript-no-never.js.map +1 -0
  438. package/dist/rules/typescript-no-redundant-undefined-const.d.ts +10 -0
  439. package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -0
  440. package/dist/rules/typescript-no-redundant-undefined-const.js +130 -0
  441. package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -0
  442. package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts +10 -0
  443. package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -0
  444. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +165 -0
  445. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -0
  446. package/dist/rules/typescript-no-redundant-undefined-let.d.ts +10 -0
  447. package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -0
  448. package/dist/rules/typescript-no-redundant-undefined-let.js +134 -0
  449. package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -0
  450. package/dist/rules/typescript-no-redundant-undefined-optional.d.ts +10 -0
  451. package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -0
  452. package/dist/rules/typescript-no-redundant-undefined-optional.js +77 -0
  453. package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -0
  454. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts +10 -0
  455. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -0
  456. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +179 -0
  457. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -0
  458. package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts +10 -0
  459. package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -0
  460. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +125 -0
  461. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -0
  462. package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts +10 -0
  463. package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -0
  464. package/dist/rules/typescript-no-redundant-undefined-return-type.js +154 -0
  465. package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -0
  466. package/dist/rules/typescript-no-redundant-undefined-var.d.ts +10 -0
  467. package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -0
  468. package/dist/rules/typescript-no-redundant-undefined-var.js +134 -0
  469. package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -0
  470. package/dist/rules/typescript-no-restricted-syntax.d.ts +11 -0
  471. package/dist/rules/typescript-no-restricted-syntax.d.ts.map +1 -0
  472. package/dist/rules/typescript-no-restricted-syntax.js +40 -0
  473. package/dist/rules/typescript-no-restricted-syntax.js.map +1 -0
  474. package/dist/rules/typescript-no-unsafe-object-assign.d.ts +9 -0
  475. package/dist/rules/typescript-no-unsafe-object-assign.d.ts.map +1 -0
  476. package/dist/rules/typescript-no-unsafe-object-assign.js +53 -0
  477. package/dist/rules/typescript-no-unsafe-object-assign.js.map +1 -0
  478. package/dist/rules/typescript-no-unsafe-object-assignment.d.ts +7 -0
  479. package/dist/rules/typescript-no-unsafe-object-assignment.d.ts.map +1 -0
  480. package/dist/rules/typescript-no-unsafe-object-assignment.js +20 -0
  481. package/dist/rules/typescript-no-unsafe-object-assignment.js.map +1 -0
  482. package/dist/rules/typescript-prefer-array-type-alias.d.ts +9 -0
  483. package/dist/rules/typescript-prefer-array-type-alias.d.ts.map +1 -0
  484. package/dist/rules/typescript-prefer-array-type-alias.js +36 -0
  485. package/dist/rules/typescript-prefer-array-type-alias.js.map +1 -0
  486. package/dist/rules/typescript-prefer-class-method.d.ts +9 -0
  487. package/dist/rules/typescript-prefer-class-method.d.ts.map +1 -0
  488. package/dist/rules/typescript-prefer-class-method.js +35 -0
  489. package/dist/rules/typescript-prefer-class-method.js.map +1 -0
  490. package/dist/rules/typescript-prefer-enum.d.ts +9 -0
  491. package/dist/rules/typescript-prefer-enum.d.ts.map +1 -0
  492. package/dist/rules/typescript-prefer-enum.js +132 -0
  493. package/dist/rules/typescript-prefer-enum.js.map +1 -0
  494. package/dist/rules/typescript-prefer-named-tuple-members.d.ts +9 -0
  495. package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -0
  496. package/dist/rules/typescript-prefer-named-tuple-members.js +108 -0
  497. package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -0
  498. package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts +9 -0
  499. package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts.map +1 -0
  500. package/dist/rules/typescript-prefer-readonly-array-parameter.js +123 -0
  501. package/dist/rules/typescript-prefer-readonly-array-parameter.js.map +1 -0
  502. package/dist/rules/typescript-prefer-readonly-array.d.ts +9 -0
  503. package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -0
  504. package/dist/rules/typescript-prefer-readonly-array.js +51 -0
  505. package/dist/rules/typescript-prefer-readonly-array.js.map +1 -0
  506. package/dist/rules/typescript-prefer-readonly-index-signature.d.ts +9 -0
  507. package/dist/rules/typescript-prefer-readonly-index-signature.d.ts.map +1 -0
  508. package/dist/rules/typescript-prefer-readonly-index-signature.js +40 -0
  509. package/dist/rules/typescript-prefer-readonly-index-signature.js.map +1 -0
  510. package/dist/rules/typescript-prefer-readonly-map.d.ts +9 -0
  511. package/dist/rules/typescript-prefer-readonly-map.d.ts.map +1 -0
  512. package/dist/rules/typescript-prefer-readonly-map.js +40 -0
  513. package/dist/rules/typescript-prefer-readonly-map.js.map +1 -0
  514. package/dist/rules/typescript-prefer-readonly-property.d.ts +9 -0
  515. package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -0
  516. package/dist/rules/typescript-prefer-readonly-property.js +58 -0
  517. package/dist/rules/typescript-prefer-readonly-property.js.map +1 -0
  518. package/dist/rules/typescript-prefer-readonly-record.d.ts +9 -0
  519. package/dist/rules/typescript-prefer-readonly-record.d.ts.map +1 -0
  520. package/dist/rules/typescript-prefer-readonly-record.js +60 -0
  521. package/dist/rules/typescript-prefer-readonly-record.js.map +1 -0
  522. package/dist/rules/typescript-prefer-readonly-set.d.ts +9 -0
  523. package/dist/rules/typescript-prefer-readonly-set.d.ts.map +1 -0
  524. package/dist/rules/typescript-prefer-readonly-set.js +40 -0
  525. package/dist/rules/typescript-prefer-readonly-set.js.map +1 -0
  526. package/dist/rules/typescript-require-prop-type-annotation.d.ts +9 -0
  527. package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -0
  528. package/dist/rules/typescript-require-prop-type-annotation.js +58 -0
  529. package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -0
  530. package/dist/rules/typescript-require-readonly-array-property-type.d.ts +9 -0
  531. package/dist/rules/typescript-require-readonly-array-property-type.d.ts.map +1 -0
  532. package/dist/rules/typescript-require-readonly-array-property-type.js +91 -0
  533. package/dist/rules/typescript-require-readonly-array-property-type.js.map +1 -0
  534. package/dist/rules/typescript-require-readonly-array-return-type.d.ts +9 -0
  535. package/dist/rules/typescript-require-readonly-array-return-type.d.ts.map +1 -0
  536. package/dist/rules/typescript-require-readonly-array-return-type.js +93 -0
  537. package/dist/rules/typescript-require-readonly-array-return-type.js.map +1 -0
  538. package/dist/rules/typescript-require-readonly-array-type-alias.d.ts +9 -0
  539. package/dist/rules/typescript-require-readonly-array-type-alias.d.ts.map +1 -0
  540. package/dist/rules/typescript-require-readonly-array-type-alias.js +73 -0
  541. package/dist/rules/typescript-require-readonly-array-type-alias.js.map +1 -0
  542. package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts +9 -0
  543. package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts.map +1 -0
  544. package/dist/rules/typescript-require-readonly-map-parameter-type.js +109 -0
  545. package/dist/rules/typescript-require-readonly-map-parameter-type.js.map +1 -0
  546. package/dist/rules/typescript-require-readonly-map-property-type.d.ts +9 -0
  547. package/dist/rules/typescript-require-readonly-map-property-type.d.ts.map +1 -0
  548. package/dist/rules/typescript-require-readonly-map-property-type.js +77 -0
  549. package/dist/rules/typescript-require-readonly-map-property-type.js.map +1 -0
  550. package/dist/rules/typescript-require-readonly-map-return-type.d.ts +9 -0
  551. package/dist/rules/typescript-require-readonly-map-return-type.d.ts.map +1 -0
  552. package/dist/rules/typescript-require-readonly-map-return-type.js +79 -0
  553. package/dist/rules/typescript-require-readonly-map-return-type.js.map +1 -0
  554. package/dist/rules/typescript-require-readonly-map-type-alias.d.ts +9 -0
  555. package/dist/rules/typescript-require-readonly-map-type-alias.d.ts.map +1 -0
  556. package/dist/rules/typescript-require-readonly-map-type-alias.js +59 -0
  557. package/dist/rules/typescript-require-readonly-map-type-alias.js.map +1 -0
  558. package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts +9 -0
  559. package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts.map +1 -0
  560. package/dist/rules/typescript-require-readonly-record-parameter-type.js +124 -0
  561. package/dist/rules/typescript-require-readonly-record-parameter-type.js.map +1 -0
  562. package/dist/rules/typescript-require-readonly-record-property-type.d.ts +9 -0
  563. package/dist/rules/typescript-require-readonly-record-property-type.d.ts.map +1 -0
  564. package/dist/rules/typescript-require-readonly-record-property-type.js +92 -0
  565. package/dist/rules/typescript-require-readonly-record-property-type.js.map +1 -0
  566. package/dist/rules/typescript-require-readonly-record-return-type.d.ts +9 -0
  567. package/dist/rules/typescript-require-readonly-record-return-type.d.ts.map +1 -0
  568. package/dist/rules/typescript-require-readonly-record-return-type.js +94 -0
  569. package/dist/rules/typescript-require-readonly-record-return-type.js.map +1 -0
  570. package/dist/rules/typescript-require-readonly-record-type-alias.d.ts +9 -0
  571. package/dist/rules/typescript-require-readonly-record-type-alias.d.ts.map +1 -0
  572. package/dist/rules/typescript-require-readonly-record-type-alias.js +74 -0
  573. package/dist/rules/typescript-require-readonly-record-type-alias.js.map +1 -0
  574. package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts +9 -0
  575. package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts.map +1 -0
  576. package/dist/rules/typescript-require-readonly-set-parameter-type.js +109 -0
  577. package/dist/rules/typescript-require-readonly-set-parameter-type.js.map +1 -0
  578. package/dist/rules/typescript-require-readonly-set-property-type.d.ts +9 -0
  579. package/dist/rules/typescript-require-readonly-set-property-type.d.ts.map +1 -0
  580. package/dist/rules/typescript-require-readonly-set-property-type.js +77 -0
  581. package/dist/rules/typescript-require-readonly-set-property-type.js.map +1 -0
  582. package/dist/rules/typescript-require-readonly-set-return-type.d.ts +9 -0
  583. package/dist/rules/typescript-require-readonly-set-return-type.d.ts.map +1 -0
  584. package/dist/rules/typescript-require-readonly-set-return-type.js +79 -0
  585. package/dist/rules/typescript-require-readonly-set-return-type.js.map +1 -0
  586. package/dist/rules/typescript-require-readonly-set-type-alias.d.ts +9 -0
  587. package/dist/rules/typescript-require-readonly-set-type-alias.d.ts.map +1 -0
  588. package/dist/rules/typescript-require-readonly-set-type-alias.js +59 -0
  589. package/dist/rules/typescript-require-readonly-set-type-alias.js.map +1 -0
  590. package/dist/rules/typescript-require-this-void.d.ts +9 -0
  591. package/dist/rules/typescript-require-this-void.d.ts.map +1 -0
  592. package/dist/rules/typescript-require-this-void.js +71 -0
  593. package/dist/rules/typescript-require-this-void.js.map +1 -0
  594. package/dist/rules/underscore-internal.d.ts +8 -0
  595. package/dist/rules/underscore-internal.d.ts.map +1 -0
  596. package/dist/rules/underscore-internal.js +116 -0
  597. package/dist/rules/underscore-internal.js.map +1 -0
  598. package/dist/rules/unused-internal-properties.d.ts +11 -0
  599. package/dist/rules/unused-internal-properties.d.ts.map +1 -0
  600. package/dist/rules/unused-internal-properties.js +28 -0
  601. package/dist/rules/unused-internal-properties.js.map +1 -0
  602. package/dist/rules/uppercase-iife.d.ts +11 -0
  603. package/dist/rules/uppercase-iife.d.ts.map +1 -0
  604. package/dist/rules/uppercase-iife.js +28 -0
  605. package/dist/rules/uppercase-iife.js.map +1 -0
  606. package/dist/rules/words.d.ts +11 -0
  607. package/dist/rules/words.d.ts.map +1 -0
  608. package/dist/rules/words.js +28 -0
  609. package/dist/rules/words.js.map +1 -0
  610. package/dist/rules.d.ts +21 -0
  611. package/dist/rules.d.ts.map +1 -0
  612. package/dist/rules.js +355 -0
  613. package/dist/rules.js.map +1 -0
  614. package/docs/docusaurus/blog/2026-03-09-docs-site-online.md +19 -0
  615. package/docs/docusaurus/blog/2026-03-11-adr-driven-docs-roadmap.md +31 -0
  616. package/docs/docusaurus/blog/authors.yml +18 -0
  617. package/docs/docusaurus/docusaurus.config.ts +457 -0
  618. package/docs/docusaurus/package.json +116 -0
  619. package/docs/docusaurus/sidebars.rules.ts +379 -0
  620. package/docs/docusaurus/sidebars.ts +136 -0
  621. package/docs/docusaurus/site-docs/architecture/adr/0001-flat-config-first-plugin-shape.md +41 -0
  622. package/docs/docusaurus/site-docs/architecture/adr/0002-rule-docs-coverage-enforcement.md +42 -0
  623. package/docs/docusaurus/site-docs/architecture/adr/0003-unified-etc-misc-curation-strategy.md +55 -0
  624. package/docs/docusaurus/site-docs/architecture/adr/0004-generated-rule-catalog-source-of-truth.md +50 -0
  625. package/docs/docusaurus/site-docs/architecture/adr/0005-risk-tiered-recommended-preset-strategy.md +50 -0
  626. package/docs/docusaurus/site-docs/architecture/adr/index.md +24 -0
  627. package/docs/docusaurus/site-docs/getting-started.md +48 -0
  628. package/docs/docusaurus/site-docs/guides/blog-post-backlog.md +28 -0
  629. package/docs/docusaurus/site-docs/guides/docs-maintenance-playbook.md +49 -0
  630. package/docs/docusaurus/site-docs/guides/migration-from-etc-and-misc.md +88 -0
  631. package/docs/docusaurus/site-docs/intro.md +39 -0
  632. package/docs/docusaurus/site-docs/releasing.md +95 -0
  633. package/docs/docusaurus/src/components/GitHubStats.jsx +72 -0
  634. package/docs/docusaurus/src/css/custom.css +570 -0
  635. package/docs/docusaurus/src/css/custom.css.d.ts +22 -0
  636. package/docs/docusaurus/src/js/modernEnhancements.ts +219 -0
  637. package/docs/docusaurus/src/pages/index.jsx +201 -0
  638. package/docs/docusaurus/src/pages/index.module.css +588 -0
  639. package/docs/docusaurus/src/pages/index.module.css.d.ts +48 -0
  640. package/docs/docusaurus/static/img/apple-touch-icon.png +0 -0
  641. package/docs/docusaurus/static/img/favicon-96x96.png +0 -0
  642. package/docs/docusaurus/static/img/favicon.ico +0 -0
  643. package/docs/docusaurus/static/img/favicon.svg +1 -0
  644. package/docs/docusaurus/static/img/logo-128x128.svg +401 -0
  645. package/docs/docusaurus/static/img/logo.png +0 -0
  646. package/docs/docusaurus/static/img/logo.svg +399 -0
  647. package/docs/docusaurus/static/img/logo_128x128.png +0 -0
  648. package/docs/docusaurus/static/img/logo_192x192.png +0 -0
  649. package/docs/docusaurus/static/img/site.webmanifest +21 -0
  650. package/docs/docusaurus/static/img/web-app-manifest-192x192.png +0 -0
  651. package/docs/docusaurus/static/img/web-app-manifest-512x512.png +0 -0
  652. package/docs/docusaurus/static/manifest.json +22 -0
  653. package/docs/docusaurus/tsconfig.json +30 -0
  654. package/docs/docusaurus/tsconfig.typedoc.json +20 -0
  655. package/docs/docusaurus/typedoc-plugins/hashToBangLinks.mjs +61 -0
  656. package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.d.mts +31 -0
  657. package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.mjs +154 -0
  658. package/docs/docusaurus/typedoc-plugins/prefixDocLinks.mjs +46 -0
  659. package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.d.mts +18 -0
  660. package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.mjs +410 -0
  661. package/docs/docusaurus/typedoc.config.json +610 -0
  662. package/docs/docusaurus/typedoc.local.config.json +610 -0
  663. package/docs/rules/array-type.md +82 -0
  664. package/docs/rules/class-match-filename.md +95 -0
  665. package/docs/rules/comment-spacing.md +131 -0
  666. package/docs/rules/consistent-empty-lines.md +104 -0
  667. package/docs/rules/consistent-enum-members.md +112 -0
  668. package/docs/rules/consistent-filename.md +116 -0
  669. package/docs/rules/consistent-import.md +128 -0
  670. package/docs/rules/consistent-optional-props.md +114 -0
  671. package/docs/rules/consistent-source-extension.md +106 -0
  672. package/docs/rules/consistent-symbol-description.md +91 -0
  673. package/docs/rules/default-case.md +95 -0
  674. package/docs/rules/disallow-import.md +108 -0
  675. package/docs/rules/export-matching-filename-only.md +115 -0
  676. package/docs/rules/getting-started.md +66 -0
  677. package/docs/rules/guides/adoption-checklist.md +37 -0
  678. package/docs/rules/guides/rollout-and-fix-safety.md +42 -0
  679. package/docs/rules/match-filename.md +119 -0
  680. package/docs/rules/max-identifier-blocks.md +94 -0
  681. package/docs/rules/no-assign-mutated-array.md +119 -0
  682. package/docs/rules/no-at-sign-import.md +97 -0
  683. package/docs/rules/no-at-sign-internal-import.md +98 -0
  684. package/docs/rules/no-chain-coalescence-mixture.md +93 -0
  685. package/docs/rules/no-commented-out-code.md +126 -0
  686. package/docs/rules/no-const-enum.md +109 -0
  687. package/docs/rules/no-deprecated.md +175 -0
  688. package/docs/rules/no-enum.md +98 -0
  689. package/docs/rules/no-expression-empty-lines.md +100 -0
  690. package/docs/rules/no-foreach.md +108 -0
  691. package/docs/rules/no-implicit-any-catch.md +159 -0
  692. package/docs/rules/no-index-import.md +101 -0
  693. package/docs/rules/no-internal-modules.md +111 -0
  694. package/docs/rules/no-internal.md +168 -0
  695. package/docs/rules/no-language-mixing.md +89 -0
  696. package/docs/rules/no-misused-generics.md +105 -0
  697. package/docs/rules/no-mixed-enums.md +96 -0
  698. package/docs/rules/no-negated-conditions.md +98 -0
  699. package/docs/rules/no-nodejs-modules.md +103 -0
  700. package/docs/rules/no-param-reassign.md +110 -0
  701. package/docs/rules/no-relative-parent-import.md +118 -0
  702. package/docs/rules/no-restricted-syntax.md +140 -0
  703. package/docs/rules/no-secret.md +86 -0
  704. package/docs/rules/no-self-import.md +107 -0
  705. package/docs/rules/no-shadow.md +109 -0
  706. package/docs/rules/no-sibling-import.md +109 -0
  707. package/docs/rules/no-single-line-comment.md +109 -0
  708. package/docs/rules/no-t.md +128 -0
  709. package/docs/rules/no-underscore-export.md +93 -0
  710. package/docs/rules/no-unnecessary-as-const.md +96 -0
  711. package/docs/rules/no-unnecessary-break.md +99 -0
  712. package/docs/rules/no-unnecessary-initialization.md +93 -0
  713. package/docs/rules/no-unnecessary-template-literal.md +92 -0
  714. package/docs/rules/no-unused-disable.md +88 -0
  715. package/docs/rules/no-useless-generics.md +95 -0
  716. package/docs/rules/no-value-tostring.md +90 -0
  717. package/docs/rules/no-writeonly.md +102 -0
  718. package/docs/rules/object-format.md +118 -0
  719. package/docs/rules/only-export-name.md +120 -0
  720. package/docs/rules/overview.md +46 -0
  721. package/docs/rules/prefer-arrow-function-property.md +108 -0
  722. package/docs/rules/prefer-const-require.md +91 -0
  723. package/docs/rules/prefer-includes.md +83 -0
  724. package/docs/rules/prefer-interface.md +156 -0
  725. package/docs/rules/prefer-less-than.md +98 -0
  726. package/docs/rules/prefer-object-has-own.md +82 -0
  727. package/docs/rules/prefer-only-export.md +89 -0
  728. package/docs/rules/presets/all-strict.md +160 -0
  729. package/docs/rules/presets/all.md +177 -0
  730. package/docs/rules/presets/recommended.md +55 -0
  731. package/docs/rules/presets/strict-type-checked.md +66 -0
  732. package/docs/rules/presets/strict.md +51 -0
  733. package/docs/rules/require-jsdoc.md +151 -0
  734. package/docs/rules/require-syntax.md +129 -0
  735. package/docs/rules/restrict-identifier-characters.md +88 -0
  736. package/docs/rules/rule-catalog-map.json +912 -0
  737. package/docs/rules/sort-array.md +91 -0
  738. package/docs/rules/sort-call-signature.md +98 -0
  739. package/docs/rules/sort-class-members.md +115 -0
  740. package/docs/rules/sort-construct-signature.md +96 -0
  741. package/docs/rules/sort-export-specifiers.md +89 -0
  742. package/docs/rules/sort-keys.md +107 -0
  743. package/docs/rules/sort-top-comments.md +92 -0
  744. package/docs/rules/switch-case-spacing.md +110 -0
  745. package/docs/rules/template-literal-format.md +100 -0
  746. package/docs/rules/throw-error.md +110 -0
  747. package/docs/rules/throw-new-error.md +81 -0
  748. package/docs/rules/typescript-array-callback-return-type.md +127 -0
  749. package/docs/rules/typescript-class-methods-use-this.md +120 -0
  750. package/docs/rules/typescript-consistent-array-type-name.md +93 -0
  751. package/docs/rules/typescript-define-function-in-one-statement.md +90 -0
  752. package/docs/rules/typescript-exhaustive-switch.md +114 -0
  753. package/docs/rules/typescript-no-boolean-literal-type.md +94 -0
  754. package/docs/rules/typescript-no-complex-declarator-type.md +96 -0
  755. package/docs/rules/typescript-no-complex-return-type.md +90 -0
  756. package/docs/rules/typescript-no-empty-interfaces.md +99 -0
  757. package/docs/rules/typescript-no-inferrable-types.md +102 -0
  758. package/docs/rules/typescript-no-multi-type-tuples.md +87 -0
  759. package/docs/rules/typescript-no-never.md +93 -0
  760. package/docs/rules/typescript-no-redundant-undefined-const.md +101 -0
  761. package/docs/rules/typescript-no-redundant-undefined-default-parameter.md +117 -0
  762. package/docs/rules/typescript-no-redundant-undefined-let.md +106 -0
  763. package/docs/rules/typescript-no-redundant-undefined-optional.md +106 -0
  764. package/docs/rules/typescript-no-redundant-undefined-promise-return-type.md +134 -0
  765. package/docs/rules/typescript-no-redundant-undefined-readonly-property.md +110 -0
  766. package/docs/rules/typescript-no-redundant-undefined-return-type.md +131 -0
  767. package/docs/rules/typescript-no-redundant-undefined-var.md +106 -0
  768. package/docs/rules/typescript-no-restricted-syntax.md +119 -0
  769. package/docs/rules/typescript-no-unsafe-object-assign.md +91 -0
  770. package/docs/rules/typescript-no-unsafe-object-assignment.md +93 -0
  771. package/docs/rules/typescript-prefer-array-type-alias.md +87 -0
  772. package/docs/rules/typescript-prefer-class-method.md +87 -0
  773. package/docs/rules/typescript-prefer-enum.md +99 -0
  774. package/docs/rules/typescript-prefer-named-tuple-members.md +104 -0
  775. package/docs/rules/typescript-prefer-readonly-array-parameter.md +106 -0
  776. package/docs/rules/typescript-prefer-readonly-array.md +86 -0
  777. package/docs/rules/typescript-prefer-readonly-index-signature.md +94 -0
  778. package/docs/rules/typescript-prefer-readonly-map.md +83 -0
  779. package/docs/rules/typescript-prefer-readonly-property.md +91 -0
  780. package/docs/rules/typescript-prefer-readonly-record.md +84 -0
  781. package/docs/rules/typescript-prefer-readonly-set.md +82 -0
  782. package/docs/rules/typescript-require-prop-type-annotation.md +91 -0
  783. package/docs/rules/typescript-require-readonly-array-property-type.md +111 -0
  784. package/docs/rules/typescript-require-readonly-array-return-type.md +113 -0
  785. package/docs/rules/typescript-require-readonly-array-type-alias.md +102 -0
  786. package/docs/rules/typescript-require-readonly-map-parameter-type.md +99 -0
  787. package/docs/rules/typescript-require-readonly-map-property-type.md +103 -0
  788. package/docs/rules/typescript-require-readonly-map-return-type.md +105 -0
  789. package/docs/rules/typescript-require-readonly-map-type-alias.md +92 -0
  790. package/docs/rules/typescript-require-readonly-record-parameter-type.md +100 -0
  791. package/docs/rules/typescript-require-readonly-record-property-type.md +102 -0
  792. package/docs/rules/typescript-require-readonly-record-return-type.md +108 -0
  793. package/docs/rules/typescript-require-readonly-record-type-alias.md +93 -0
  794. package/docs/rules/typescript-require-readonly-set-parameter-type.md +99 -0
  795. package/docs/rules/typescript-require-readonly-set-property-type.md +103 -0
  796. package/docs/rules/typescript-require-readonly-set-return-type.md +105 -0
  797. package/docs/rules/typescript-require-readonly-set-type-alias.md +92 -0
  798. package/docs/rules/typescript-require-this-void.md +95 -0
  799. package/docs/rules/underscore-internal.md +112 -0
  800. package/docs/rules/unused-internal-properties.md +100 -0
  801. package/docs/rules/uppercase-iife.md +82 -0
  802. package/docs/rules/words.md +83 -0
  803. package/package.json +546 -0
@@ -0,0 +1,100 @@
1
+ # no-expression-empty-lines
2
+
3
+ Disallow blank lines inside expression statements.
4
+
5
+ ## Targeted pattern scope
6
+
7
+ This rule inspects `ExpressionStatement` nodes and checks the expression’s raw
8
+ source text for blank lines.
9
+
10
+ It only applies to expression statements and does not inspect declarations,
11
+ blocks, or other statement kinds.
12
+
13
+ ## What this rule reports
14
+
15
+ This rule reports expression statements whose inner source text contains empty lines and auto-fixes by removing those empty lines.
16
+
17
+ ## Why this rule exists
18
+
19
+ Blank lines *inside* a single expression usually come from accidental edits and
20
+ make statement boundaries harder to read. Normalizing these expressions reduces
21
+ formatting noise.
22
+
23
+ ## ❌ Incorrect
24
+
25
+ ```ts
26
+ someCall(
27
+
28
+ 1
29
+ );
30
+ ```
31
+
32
+ ## ✅ Correct
33
+
34
+ ```ts
35
+ someCall(
36
+ 1
37
+ );
38
+ ```
39
+
40
+ ## Behavior and migration notes
41
+
42
+ This rule is autofixable.
43
+
44
+ The fixer removes blank lines inside the expression, trims trailing spaces on
45
+ each line, and rewrites the statement with a terminating semicolon.
46
+
47
+ ### Options
48
+
49
+ This rule has no options.
50
+
51
+ ## Additional examples
52
+
53
+ ```ts
54
+ doWork(
55
+ value,
56
+
57
+ nextValue
58
+ );
59
+ // ❌ reported
60
+
61
+ doWork(
62
+ value,
63
+ nextValue
64
+ );
65
+ // ✅ valid
66
+ ```
67
+
68
+ ## ESLint flat config example
69
+
70
+ ```ts
71
+ import etcMisc from "eslint-plugin-etc-misc";
72
+
73
+ export default [
74
+ {
75
+ plugins: { "etc-misc": etcMisc },
76
+ rules: {
77
+ "etc-misc/no-expression-empty-lines": "error",
78
+ },
79
+ },
80
+ ];
81
+ ```
82
+
83
+ ## When not to use it
84
+
85
+ Disable this rule if blank lines inside expressions are allowed for readability.
86
+
87
+ ## Package documentation
88
+
89
+ - [eslint-plugin-etc-misc README](https://github.com/Nick2bad4u/eslint-plugin-etc-misc#readme)
90
+
91
+ > **Rule catalog ID:** R024
92
+
93
+ ## Further reading
94
+
95
+ - [ESLint: `no-multiple-empty-lines`](https://eslint.org/docs/latest/rules/no-multiple-empty-lines)
96
+
97
+ ## Adoption resources
98
+
99
+ - Start at warning level in CI, then move to error after cleanup.
100
+ - Use focused codemods/autofix batches per package or directory.
@@ -0,0 +1,108 @@
1
+ # no-foreach
2
+
3
+ Disallow calling `forEach` on configured collection types.
4
+
5
+ ## Targeted pattern scope
6
+
7
+ ⚠️ This rule requires type information to run. Configure type-aware linting
8
+ (`parserOptions.project` or `projectService`) before enabling it.
9
+
10
+ This rule targets member calls to `.forEach(...)` and reports only when the
11
+ receiver type matches configured collection names.
12
+
13
+ ## What this rule reports
14
+
15
+ This rule reports `.forEach(...)` calls for configured type names (by default: `Array`, `Map`, `NodeList`, and `Set`). In codebases that standardize on explicit loops, `for...of` improves control-flow clarity (for example, with `break`, `continue`, and `return`).
16
+
17
+ ## Why this rule exists
18
+
19
+ Teams that standardize on explicit loops often prefer `for...of` for control
20
+ flow clarity (`break`, `continue`, early `return`) and debugger ergonomics.
21
+
22
+ ## ❌ Incorrect
23
+
24
+ ```ts
25
+ const answers = [42, 54];
26
+ answers.forEach((answer) => console.log(answer));
27
+ ```
28
+
29
+ ## ✅ Correct
30
+
31
+ ```ts
32
+ const answers = [42, 54];
33
+ for (const answer of answers) {
34
+ console.log(answer);
35
+ }
36
+ ```
37
+
38
+ ## Behavior and migration notes
39
+
40
+ This rule reports only and does not provide an autofix.
41
+
42
+ Adopt gradually by enabling as `warn`, then migrating hot paths and shared
43
+ utilities to `for...of` before promoting to `error`.
44
+
45
+ ### Options
46
+
47
+ ```ts
48
+ type Options = {
49
+ types?: string[];
50
+ };
51
+ ```
52
+
53
+ Default: `{ types: ["Array", "Map", "NodeList", "Set"] }`
54
+
55
+ When `Array` is included, `ReadonlyArray` is also treated as matched.
56
+
57
+ ### `types`
58
+
59
+ Use this option to control which type names are checked.
60
+
61
+ ## Additional examples
62
+
63
+ ```ts
64
+ const set = new Set([1, 2, 3]);
65
+ set.forEach((value) => console.log(value));
66
+ // ❌ reported with default options
67
+
68
+ const map = new Map<string, number>();
69
+ for (const [key, value] of map) {
70
+ console.log(key, value);
71
+ }
72
+ // ✅ preferred style
73
+ ```
74
+
75
+ ## ESLint flat config example
76
+
77
+ ```ts
78
+ import etcMisc from "eslint-plugin-etc-misc";
79
+
80
+ export default [
81
+ {
82
+ plugins: { "etc-misc": etcMisc },
83
+ rules: {
84
+ "etc-misc/no-foreach": ["error", { types: ["Array", "Set"] }],
85
+ },
86
+ },
87
+ ];
88
+ ```
89
+
90
+ ## When not to use it
91
+
92
+ Disable this rule if your project intentionally favors iterator callbacks and does not enforce loop-style consistency.
93
+
94
+ ## Package documentation
95
+
96
+ - [eslint-plugin-etc-misc README](https://github.com/Nick2bad4u/eslint-plugin-etc-misc#readme)
97
+
98
+ > **Rule catalog ID:** R025
99
+
100
+ ## Further reading
101
+
102
+ - [MDN: Array.prototype.forEach()](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
103
+ - [MDN: for...of](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/for...of)
104
+
105
+ ## Adoption resources
106
+
107
+ - Start at warning level in CI, then move to error after cleanup.
108
+ - Use focused codemods/autofix batches per package or directory.
@@ -0,0 +1,159 @@
1
+ # no-implicit-any-catch
2
+
3
+ Require explicit error parameter typing in Promise rejection callbacks.
4
+
5
+ ## Targeted pattern scope
6
+
7
+ ⚠️ This rule requires type information to run. Configure type-aware linting (`parserOptions.project` or `projectService`) before enabling it.
8
+
9
+ This rule targets Promise rejection callbacks in:
10
+
11
+ - `.catch(callback)`
12
+ - `.then(onFulfilled, onRejected)` (second argument)
13
+
14
+ Only callbacks associated with Promise-like receivers are checked.
15
+
16
+ ## What this rule reports
17
+
18
+ Promise rejection callbacks often default the error parameter to implicit `any`.
19
+ That weakens type safety and makes unsafe property access easy to miss.
20
+
21
+ This rule enforces explicit typing for Promise rejection callback parameters in
22
+ `.catch(...)` and the rejection handler position of `.then(...)`.
23
+
24
+ By default:
25
+
26
+ - Implicit `any` is reported and auto-fixed to `unknown`.
27
+ - Explicit `any` is reported and auto-fixed to `unknown`.
28
+ - Narrower types (for example `string`) are reported with a safe suggestion to
29
+ change to `unknown`.
30
+
31
+ ## Why this rule exists
32
+
33
+ It prevents unsafe assumptions about rejection values and encourages explicit
34
+ narrowing before property access.
35
+
36
+ ## ❌ Incorrect
37
+
38
+ ```ts
39
+ Promise.reject(new Error("Boom")).catch((error) => {
40
+ console.error(error);
41
+ });
42
+ ```
43
+
44
+ ```ts
45
+ Promise.reject(new Error("Boom")).catch((error: any) => {
46
+ console.error(error);
47
+ });
48
+ ```
49
+
50
+ ## ✅ Correct
51
+
52
+ ```ts
53
+ Promise.reject(new Error("Boom")).catch((error: unknown) => {
54
+ if (error instanceof Error) {
55
+ console.error(error.message);
56
+ }
57
+ });
58
+ ```
59
+
60
+ ## Behavior and migration notes
61
+
62
+ This rule is fixable and also provides explicit `suggest` entries.
63
+
64
+ Automatic fixes annotate missing/`any` parameters as `unknown`. For already
65
+ narrowed annotations, a safe suggestion is provided instead of forced rewrite.
66
+
67
+ ### Options
68
+
69
+ ```ts
70
+ type Options = [
71
+ {
72
+ allowExplicitAny?: boolean;
73
+ }?,
74
+ ];
75
+ ```
76
+
77
+ Default:
78
+
79
+ ```ts
80
+ [{}]
81
+ ```
82
+
83
+ ### `allowExplicitAny`
84
+
85
+ Set `allowExplicitAny: true` to allow explicit `any` annotations in Promise
86
+ rejection callbacks.
87
+
88
+ ```ts
89
+ import etcMisc from "eslint-plugin-etc-misc";
90
+
91
+ export default [
92
+ {
93
+ plugins: { "etc-misc": etcMisc },
94
+ rules: {
95
+ "etc-misc/no-implicit-any-catch": [
96
+ "error",
97
+ {
98
+ allowExplicitAny: true,
99
+ },
100
+ ],
101
+ },
102
+ },
103
+ ];
104
+ ```
105
+
106
+ ## Additional examples
107
+
108
+ ```ts
109
+ Promise.resolve(1).then(
110
+ (value) => value,
111
+ (error: string) => {
112
+ console.error(error);
113
+ }
114
+ );
115
+ // ❌ reported as narrowed type, with suggestion to use unknown
116
+
117
+ Promise.resolve(1).catch((error: unknown) => {
118
+ if (error instanceof Error) {
119
+ console.error(error.message);
120
+ }
121
+ });
122
+ // ✅ valid
123
+ ```
124
+
125
+ ## ESLint flat config example
126
+
127
+ ```ts
128
+ import etcMisc from "eslint-plugin-etc-misc";
129
+
130
+ export default [
131
+ {
132
+ plugins: { "etc-misc": etcMisc },
133
+ rules: {
134
+ "etc-misc/no-implicit-any-catch": "error",
135
+ },
136
+ },
137
+ ];
138
+ ```
139
+
140
+ ## When not to use it
141
+
142
+ Disable this rule if your codebase intentionally relies on broad rejection
143
+ parameter typing and you do not want to enforce explicit `unknown` handling.
144
+
145
+ ## Package documentation
146
+
147
+ - [eslint-plugin-etc-misc README](https://github.com/Nick2bad4u/eslint-plugin-etc-misc#readme)
148
+
149
+ > **Rule catalog ID:** R026
150
+
151
+ ## Further reading
152
+
153
+ - [TypeScript-ESLint: no-implicit-any-catch](https://typescript-eslint.io/rules/no-implicit-any-catch/)
154
+ - [Catching Unknowns](https://ncjamieson.com/catching-unknowns/)
155
+
156
+ ## Adoption resources
157
+
158
+ - Start at warning level in CI, then move to error after cleanup.
159
+ - Use focused codemods/autofix batches per package or directory.
@@ -0,0 +1,101 @@
1
+ # no-index-import
2
+
3
+ Disallow importing directly from `"."`.
4
+
5
+ ## Targeted pattern scope
6
+
7
+ This rule inspects module source strings and reports sources that are exactly
8
+ `"."` by default.
9
+
10
+ ## What this rule reports
11
+
12
+ This rule reports import and export source strings that are exactly `"."`.
13
+
14
+ ## Why this rule exists
15
+
16
+ Bare `"."` imports often hide barrel/index dependencies and make module
17
+ relationships less explicit.
18
+
19
+ ## ❌ Incorrect
20
+
21
+ ```ts
22
+ import value from ".";
23
+ export { value } from ".";
24
+ ```
25
+
26
+ ## ✅ Correct
27
+
28
+ ```ts
29
+ import value from "./feature";
30
+ export { value } from "./feature";
31
+ ```
32
+
33
+ ## Behavior and migration notes
34
+
35
+ This rule reports only and does not provide an autofix.
36
+
37
+ Migration usually means replacing `"."` with a concrete relative path.
38
+
39
+ ### Options
40
+
41
+ ```ts
42
+ type Options = {
43
+ allow?: string[];
44
+ disallow?: string[];
45
+ };
46
+ ```
47
+
48
+ Default:
49
+
50
+ ```json
51
+ {
52
+ "disallow": ["."]
53
+ }
54
+ ```
55
+
56
+ - `allow`: glob patterns that are exempted.
57
+ - `disallow`: override default disallow patterns.
58
+
59
+ ## Additional examples
60
+
61
+ ```ts
62
+ const moduleRef = await import(".");
63
+ // ❌ reported
64
+
65
+ const moduleRef = await import("./feature");
66
+ // ✅ valid
67
+ ```
68
+
69
+ ## ESLint flat config example
70
+
71
+ ```ts
72
+ import etcMisc from "eslint-plugin-etc-misc";
73
+
74
+ export default [
75
+ {
76
+ plugins: { "etc-misc": etcMisc },
77
+ rules: {
78
+ "etc-misc/no-index-import": "error",
79
+ },
80
+ },
81
+ ];
82
+ ```
83
+
84
+ ## When not to use it
85
+
86
+ Disable this rule if your project intentionally uses `"."` barrel imports.
87
+
88
+ ## Package documentation
89
+
90
+ - [eslint-plugin-etc-misc README](https://github.com/Nick2bad4u/eslint-plugin-etc-misc#readme)
91
+
92
+ > **Rule catalog ID:** R027
93
+
94
+ ## Further reading
95
+
96
+ - [Node.js modules: package entry points](https://nodejs.org/api/packages.html#main)
97
+
98
+ ## Adoption resources
99
+
100
+ - Start at warning level in CI, then move to error after cleanup.
101
+ - Use focused codemods/autofix batches per package or directory.
@@ -0,0 +1,111 @@
1
+ # no-internal-modules
2
+
3
+ Disallow importing nested internal module paths.
4
+
5
+ ## Targeted pattern scope
6
+
7
+ This rule matches import/export sources that look like deep/internal module
8
+ paths, using these default disallow globs:
9
+
10
+ - `./*/**`
11
+ - `[^@]*/**`
12
+ - `@?*/*/**`
13
+
14
+ ## What this rule reports
15
+
16
+ This rule reports imports/exports that target internal module segments such as:
17
+
18
+ - `./folder/internal`
19
+ - `package/internal`
20
+ - `@scope/package/internal`
21
+
22
+ It allows top-level entry imports such as `./folder`, `package`, and `@scope/package`.
23
+
24
+ ## Why this rule exists
25
+
26
+ It enforces package entrypoint usage instead of importing deep internal files.
27
+
28
+ ## ❌ Incorrect
29
+
30
+ ```ts
31
+ import a from "./folder/internal";
32
+ import b from "package/internal";
33
+ import c from "@scope/package/internal";
34
+ ```
35
+
36
+ ## ✅ Correct
37
+
38
+ ```ts
39
+ import a from "./folder";
40
+ import b from "package";
41
+ import c from "@scope/package";
42
+ ```
43
+
44
+ ## Behavior and migration notes
45
+
46
+ This rule reports only and does not provide an autofix.
47
+
48
+ Use `allow` to carve out explicit exceptions while migrating toward public
49
+ entrypoint imports.
50
+
51
+ ### Options
52
+
53
+ ```ts
54
+ type Options = {
55
+ allow?: string[];
56
+ disallow?: string[];
57
+ };
58
+ ```
59
+
60
+ Default:
61
+
62
+ ```json
63
+ {
64
+ "disallow": ["./*/**", "[^@]*/**", "@?*/*/**"]
65
+ }
66
+ ```
67
+
68
+ ## Additional examples
69
+
70
+ ```ts
71
+ // default disallow includes "@?*/*/**"
72
+ import c from "@scope/package/internal/file";
73
+ // ❌ reported
74
+
75
+ import c from "@scope/package";
76
+ // ✅ valid
77
+ ```
78
+
79
+ ## ESLint flat config example
80
+
81
+ ```ts
82
+ import etcMisc from "eslint-plugin-etc-misc";
83
+
84
+ export default [
85
+ {
86
+ plugins: { "etc-misc": etcMisc },
87
+ rules: {
88
+ "etc-misc/no-internal-modules": "error",
89
+ },
90
+ },
91
+ ];
92
+ ```
93
+
94
+ ## When not to use it
95
+
96
+ Disable this rule if your project intentionally imports deep internal module paths.
97
+
98
+ ## Package documentation
99
+
100
+ - [eslint-plugin-etc-misc README](https://github.com/Nick2bad4u/eslint-plugin-etc-misc#readme)
101
+
102
+ > **Rule catalog ID:** R029
103
+
104
+ ## Further reading
105
+
106
+ - [Node.js package exports](https://nodejs.org/api/packages.html#exports)
107
+
108
+ ## Adoption resources
109
+
110
+ - Start at warning level in CI, then move to error after cleanup.
111
+ - Use focused codemods/autofix batches per package or directory.