eslint-plugin-etc-misc 1.1.4 → 1.1.6

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 (285) hide show
  1. package/dist/_internal/casing.js +1 -1
  2. package/dist/_internal/casing.js.map +1 -1
  3. package/dist/_internal/create-external-rule.d.ts +2 -1
  4. package/dist/_internal/create-external-rule.d.ts.map +1 -1
  5. package/dist/_internal/create-external-rule.js +56 -7
  6. package/dist/_internal/create-external-rule.js.map +1 -1
  7. package/dist/_internal/get-core-rule.d.ts +1 -5
  8. package/dist/_internal/get-core-rule.d.ts.map +1 -1
  9. package/dist/_internal/get-core-rule.js.map +1 -1
  10. package/dist/_internal/identifier-blocks.js +3 -3
  11. package/dist/_internal/import-patterns.d.ts.map +1 -1
  12. package/dist/_internal/import-patterns.js +6 -5
  13. package/dist/_internal/import-patterns.js.map +1 -1
  14. package/dist/_internal/rule-creator.d.ts +7 -7
  15. package/dist/_internal/rule-creator.d.ts.map +1 -1
  16. package/dist/_internal/rule-creator.js +2 -1
  17. package/dist/_internal/rule-creator.js.map +1 -1
  18. package/dist/_internal/symbol-usage.d.ts.map +1 -1
  19. package/dist/_internal/symbol-usage.js +15 -14
  20. package/dist/_internal/symbol-usage.js.map +1 -1
  21. package/dist/_internal/syntax-selectors.js +1 -1
  22. package/dist/_internal/syntax-selectors.js.map +1 -1
  23. package/dist/configs/all-strict.d.ts +2 -2
  24. package/dist/configs/all-strict.d.ts.map +1 -1
  25. package/dist/configs/all-strict.js +9 -6
  26. package/dist/configs/all-strict.js.map +1 -1
  27. package/dist/configs/all.d.ts +2 -2
  28. package/dist/configs/all.d.ts.map +1 -1
  29. package/dist/configs/all.js +9 -3
  30. package/dist/configs/all.js.map +1 -1
  31. package/dist/configs/strict-type-checked.d.ts +2 -2
  32. package/dist/configs/strict-type-checked.d.ts.map +1 -1
  33. package/dist/configs/strict-type-checked.js +5 -4
  34. package/dist/configs/strict-type-checked.js.map +1 -1
  35. package/dist/configs/strict.d.ts +2 -2
  36. package/dist/configs/strict.d.ts.map +1 -1
  37. package/dist/configs/strict.js +6 -1
  38. package/dist/configs/strict.js.map +1 -1
  39. package/dist/configs.d.ts +7 -6
  40. package/dist/configs.d.ts.map +1 -1
  41. package/dist/configs.js.map +1 -1
  42. package/dist/plugin.cjs +633 -540
  43. package/dist/plugin.cjs.map +3 -3
  44. package/dist/plugin.d.cts +2 -2
  45. package/dist/plugin.d.ts +2 -2
  46. package/dist/plugin.d.ts.map +1 -1
  47. package/dist/rules/class-match-filename.js +3 -3
  48. package/dist/rules/class-match-filename.js.map +1 -1
  49. package/dist/rules/comment-spacing.d.ts.map +1 -1
  50. package/dist/rules/comment-spacing.js +6 -3
  51. package/dist/rules/comment-spacing.js.map +1 -1
  52. package/dist/rules/consistent-empty-lines.js +1 -1
  53. package/dist/rules/consistent-import.d.ts.map +1 -1
  54. package/dist/rules/consistent-import.js +4 -3
  55. package/dist/rules/consistent-import.js.map +1 -1
  56. package/dist/rules/consistent-optional-props.d.ts.map +1 -1
  57. package/dist/rules/consistent-optional-props.js +3 -2
  58. package/dist/rules/consistent-optional-props.js.map +1 -1
  59. package/dist/rules/export-matching-filename-only.d.ts.map +1 -1
  60. package/dist/rules/export-matching-filename-only.js +13 -14
  61. package/dist/rules/export-matching-filename-only.js.map +1 -1
  62. package/dist/rules/match-filename.d.ts.map +1 -1
  63. package/dist/rules/match-filename.js +4 -3
  64. package/dist/rules/match-filename.js.map +1 -1
  65. package/dist/rules/no-assign-mutated-array.d.ts.map +1 -1
  66. package/dist/rules/no-assign-mutated-array.js +14 -14
  67. package/dist/rules/no-assign-mutated-array.js.map +1 -1
  68. package/dist/rules/no-commented-out-code.d.ts.map +1 -1
  69. package/dist/rules/no-commented-out-code.js +15 -13
  70. package/dist/rules/no-commented-out-code.js.map +1 -1
  71. package/dist/rules/no-const-enum.d.ts.map +1 -1
  72. package/dist/rules/no-const-enum.js +2 -1
  73. package/dist/rules/no-const-enum.js.map +1 -1
  74. package/dist/rules/no-expression-empty-lines.js +1 -1
  75. package/dist/rules/no-foreach.d.ts.map +1 -1
  76. package/dist/rules/no-foreach.js +2 -2
  77. package/dist/rules/no-foreach.js.map +1 -1
  78. package/dist/rules/no-function-declare-after-return.d.ts.map +1 -1
  79. package/dist/rules/no-function-declare-after-return.js +17 -12
  80. package/dist/rules/no-function-declare-after-return.js.map +1 -1
  81. package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
  82. package/dist/rules/no-implicit-any-catch.js +8 -7
  83. package/dist/rules/no-implicit-any-catch.js.map +1 -1
  84. package/dist/rules/no-misused-generics.d.ts.map +1 -1
  85. package/dist/rules/no-misused-generics.js +0 -1
  86. package/dist/rules/no-misused-generics.js.map +1 -1
  87. package/dist/rules/no-param-reassign.d.ts.map +1 -1
  88. package/dist/rules/no-param-reassign.js +9 -9
  89. package/dist/rules/no-param-reassign.js.map +1 -1
  90. package/dist/rules/no-self-import.js +11 -11
  91. package/dist/rules/no-self-import.js.map +1 -1
  92. package/dist/rules/no-shadow.d.ts.map +1 -1
  93. package/dist/rules/no-shadow.js +2 -1
  94. package/dist/rules/no-shadow.js.map +1 -1
  95. package/dist/rules/no-single-line-comment.d.ts.map +1 -1
  96. package/dist/rules/no-single-line-comment.js +3 -2
  97. package/dist/rules/no-single-line-comment.js.map +1 -1
  98. package/dist/rules/no-unnecessary-as-const.d.ts.map +1 -1
  99. package/dist/rules/no-unnecessary-as-const.js +4 -3
  100. package/dist/rules/no-unnecessary-as-const.js.map +1 -1
  101. package/dist/rules/no-unnecessary-break.d.ts.map +1 -1
  102. package/dist/rules/no-unnecessary-break.js +4 -2
  103. package/dist/rules/no-unnecessary-break.js.map +1 -1
  104. package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -1
  105. package/dist/rules/no-unnecessary-template-literal.js +3 -2
  106. package/dist/rules/no-unnecessary-template-literal.js.map +1 -1
  107. package/dist/rules/no-use-extend-native.d.ts.map +1 -1
  108. package/dist/rules/no-use-extend-native.js +23 -19
  109. package/dist/rules/no-use-extend-native.js.map +1 -1
  110. package/dist/rules/no-vulnerable.d.ts.map +1 -1
  111. package/dist/rules/no-vulnerable.js +14 -23
  112. package/dist/rules/no-vulnerable.js.map +1 -1
  113. package/dist/rules/only-export-name.d.ts.map +1 -1
  114. package/dist/rules/only-export-name.js +7 -8
  115. package/dist/rules/only-export-name.js.map +1 -1
  116. package/dist/rules/prefer-includes.js +2 -2
  117. package/dist/rules/prefer-includes.js.map +1 -1
  118. package/dist/rules/prefer-interface.d.ts.map +1 -1
  119. package/dist/rules/prefer-interface.js +6 -5
  120. package/dist/rules/prefer-interface.js.map +1 -1
  121. package/dist/rules/require-jsdoc.d.ts.map +1 -1
  122. package/dist/rules/require-jsdoc.js +8 -7
  123. package/dist/rules/require-jsdoc.js.map +1 -1
  124. package/dist/rules/sort-array.d.ts.map +1 -1
  125. package/dist/rules/sort-array.js +2 -1
  126. package/dist/rules/sort-array.js.map +1 -1
  127. package/dist/rules/sort-class-members.d.ts.map +1 -1
  128. package/dist/rules/sort-class-members.js +6 -4
  129. package/dist/rules/sort-class-members.js.map +1 -1
  130. package/dist/rules/sort-export-specifiers.d.ts.map +1 -1
  131. package/dist/rules/sort-export-specifiers.js +3 -4
  132. package/dist/rules/sort-export-specifiers.js.map +1 -1
  133. package/dist/rules/sort-keys.d.ts.map +1 -1
  134. package/dist/rules/sort-keys.js +4 -3
  135. package/dist/rules/sort-keys.js.map +1 -1
  136. package/dist/rules/switch-case-spacing.d.ts.map +1 -1
  137. package/dist/rules/switch-case-spacing.js +3 -2
  138. package/dist/rules/switch-case-spacing.js.map +1 -1
  139. package/dist/rules/template-literal-format.js +2 -2
  140. package/dist/rules/throw-error.d.ts.map +1 -1
  141. package/dist/rules/throw-error.js +7 -10
  142. package/dist/rules/throw-error.js.map +1 -1
  143. package/dist/rules/throw-new-error.js +2 -2
  144. package/dist/rules/throw-new-error.js.map +1 -1
  145. package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
  146. package/dist/rules/typescript-array-callback-return-type.js +5 -5
  147. package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
  148. package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
  149. package/dist/rules/typescript-class-methods-use-this.js +4 -2
  150. package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
  151. package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -1
  152. package/dist/rules/typescript-no-boolean-literal-type.js +2 -1
  153. package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -1
  154. package/dist/rules/typescript-no-never.d.ts.map +1 -1
  155. package/dist/rules/typescript-no-never.js +3 -3
  156. package/dist/rules/typescript-no-never.js.map +1 -1
  157. package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
  158. package/dist/rules/typescript-no-redundant-undefined-const.js +18 -23
  159. package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
  160. package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
  161. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +35 -36
  162. package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
  163. package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
  164. package/dist/rules/typescript-no-redundant-undefined-let.js +17 -15
  165. package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
  166. package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -1
  167. package/dist/rules/typescript-no-redundant-undefined-optional.js +3 -2
  168. package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -1
  169. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
  170. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +25 -24
  171. package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
  172. package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
  173. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +17 -15
  174. package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
  175. package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
  176. package/dist/rules/typescript-no-redundant-undefined-return-type.js +24 -22
  177. package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
  178. package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
  179. package/dist/rules/typescript-no-redundant-undefined-var.js +17 -15
  180. package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
  181. package/dist/rules/typescript-no-restricted-syntax.d.ts +4 -3
  182. package/dist/rules/typescript-no-restricted-syntax.d.ts.map +1 -1
  183. package/dist/rules/typescript-no-restricted-syntax.js +8 -4
  184. package/dist/rules/typescript-no-restricted-syntax.js.map +1 -1
  185. package/dist/rules/typescript-no-unsafe-object-assignment.d.ts +4 -3
  186. package/dist/rules/typescript-no-unsafe-object-assignment.d.ts.map +1 -1
  187. package/dist/rules/typescript-no-unsafe-object-assignment.js +8 -4
  188. package/dist/rules/typescript-no-unsafe-object-assignment.js.map +1 -1
  189. package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
  190. package/dist/rules/typescript-prefer-enum.js +15 -16
  191. package/dist/rules/typescript-prefer-enum.js.map +1 -1
  192. package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -1
  193. package/dist/rules/typescript-prefer-named-tuple-members.js +10 -10
  194. package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -1
  195. package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts.map +1 -1
  196. package/dist/rules/typescript-prefer-readonly-array-parameter.js +25 -22
  197. package/dist/rules/typescript-prefer-readonly-array-parameter.js.map +1 -1
  198. package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -1
  199. package/dist/rules/typescript-prefer-readonly-array.js +5 -4
  200. package/dist/rules/typescript-prefer-readonly-array.js.map +1 -1
  201. package/dist/rules/typescript-prefer-readonly-index-signature.d.ts.map +1 -1
  202. package/dist/rules/typescript-prefer-readonly-index-signature.js +3 -1
  203. package/dist/rules/typescript-prefer-readonly-index-signature.js.map +1 -1
  204. package/dist/rules/typescript-prefer-readonly-map.d.ts.map +1 -1
  205. package/dist/rules/typescript-prefer-readonly-map.js +2 -1
  206. package/dist/rules/typescript-prefer-readonly-map.js.map +1 -1
  207. package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
  208. package/dist/rules/typescript-prefer-readonly-property.js +6 -5
  209. package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
  210. package/dist/rules/typescript-prefer-readonly-record.d.ts.map +1 -1
  211. package/dist/rules/typescript-prefer-readonly-record.js +8 -6
  212. package/dist/rules/typescript-prefer-readonly-record.js.map +1 -1
  213. package/dist/rules/typescript-prefer-readonly-set.d.ts.map +1 -1
  214. package/dist/rules/typescript-prefer-readonly-set.js +2 -1
  215. package/dist/rules/typescript-prefer-readonly-set.js.map +1 -1
  216. package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
  217. package/dist/rules/typescript-require-prop-type-annotation.js +3 -2
  218. package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
  219. package/dist/rules/typescript-require-readonly-array-property-type.d.ts.map +1 -1
  220. package/dist/rules/typescript-require-readonly-array-property-type.js +11 -11
  221. package/dist/rules/typescript-require-readonly-array-property-type.js.map +1 -1
  222. package/dist/rules/typescript-require-readonly-array-return-type.d.ts.map +1 -1
  223. package/dist/rules/typescript-require-readonly-array-return-type.js +19 -16
  224. package/dist/rules/typescript-require-readonly-array-return-type.js.map +1 -1
  225. package/dist/rules/typescript-require-readonly-array-type-alias.d.ts.map +1 -1
  226. package/dist/rules/typescript-require-readonly-array-type-alias.js +9 -6
  227. package/dist/rules/typescript-require-readonly-array-type-alias.js.map +1 -1
  228. package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts.map +1 -1
  229. package/dist/rules/typescript-require-readonly-map-parameter-type.js +23 -20
  230. package/dist/rules/typescript-require-readonly-map-parameter-type.js.map +1 -1
  231. package/dist/rules/typescript-require-readonly-map-property-type.d.ts.map +1 -1
  232. package/dist/rules/typescript-require-readonly-map-property-type.js +9 -9
  233. package/dist/rules/typescript-require-readonly-map-property-type.js.map +1 -1
  234. package/dist/rules/typescript-require-readonly-map-return-type.d.ts.map +1 -1
  235. package/dist/rules/typescript-require-readonly-map-return-type.js +17 -14
  236. package/dist/rules/typescript-require-readonly-map-return-type.js.map +1 -1
  237. package/dist/rules/typescript-require-readonly-map-type-alias.d.ts.map +1 -1
  238. package/dist/rules/typescript-require-readonly-map-type-alias.js +7 -4
  239. package/dist/rules/typescript-require-readonly-map-type-alias.js.map +1 -1
  240. package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts.map +1 -1
  241. package/dist/rules/typescript-require-readonly-record-parameter-type.js +26 -23
  242. package/dist/rules/typescript-require-readonly-record-parameter-type.js.map +1 -1
  243. package/dist/rules/typescript-require-readonly-record-property-type.d.ts.map +1 -1
  244. package/dist/rules/typescript-require-readonly-record-property-type.js +12 -12
  245. package/dist/rules/typescript-require-readonly-record-property-type.js.map +1 -1
  246. package/dist/rules/typescript-require-readonly-record-return-type.d.ts.map +1 -1
  247. package/dist/rules/typescript-require-readonly-record-return-type.js +20 -17
  248. package/dist/rules/typescript-require-readonly-record-return-type.js.map +1 -1
  249. package/dist/rules/typescript-require-readonly-record-type-alias.d.ts.map +1 -1
  250. package/dist/rules/typescript-require-readonly-record-type-alias.js +10 -7
  251. package/dist/rules/typescript-require-readonly-record-type-alias.js.map +1 -1
  252. package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts.map +1 -1
  253. package/dist/rules/typescript-require-readonly-set-parameter-type.js +23 -20
  254. package/dist/rules/typescript-require-readonly-set-parameter-type.js.map +1 -1
  255. package/dist/rules/typescript-require-readonly-set-property-type.d.ts.map +1 -1
  256. package/dist/rules/typescript-require-readonly-set-property-type.js +9 -9
  257. package/dist/rules/typescript-require-readonly-set-property-type.js.map +1 -1
  258. package/dist/rules/typescript-require-readonly-set-return-type.d.ts.map +1 -1
  259. package/dist/rules/typescript-require-readonly-set-return-type.js +17 -14
  260. package/dist/rules/typescript-require-readonly-set-return-type.js.map +1 -1
  261. package/dist/rules/typescript-require-readonly-set-type-alias.d.ts.map +1 -1
  262. package/dist/rules/typescript-require-readonly-set-type-alias.js +7 -4
  263. package/dist/rules/typescript-require-readonly-set-type-alias.js.map +1 -1
  264. package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
  265. package/dist/rules/typescript-require-this-void.js +3 -2
  266. package/dist/rules/typescript-require-this-void.js.map +1 -1
  267. package/dist/rules/underscore-internal.d.ts.map +1 -1
  268. package/dist/rules/underscore-internal.js +10 -12
  269. package/dist/rules/underscore-internal.js.map +1 -1
  270. package/dist/rules/unused-internal-properties.js +2 -2
  271. package/dist/rules/unused-internal-properties.js.map +1 -1
  272. package/dist/rules/uppercase-iife.js +2 -2
  273. package/dist/rules/uppercase-iife.js.map +1 -1
  274. package/dist/rules/words.js +2 -2
  275. package/dist/rules/words.js.map +1 -1
  276. package/dist/rules.d.ts +2 -1
  277. package/dist/rules.d.ts.map +1 -1
  278. package/dist/rules.js +269 -268
  279. package/dist/rules.js.map +1 -1
  280. package/docs/docusaurus/package.json +1 -1
  281. package/docs/docusaurus/src/components/GitHubStats.jsx +7 -1
  282. package/docs/docusaurus/src/pages/index.jsx +5 -0
  283. package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.mjs +1 -1
  284. package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.mjs +4 -5
  285. package/package.json +37 -39
@@ -29,6 +29,6 @@ export const filenameStem = (filePath) => {
29
29
  const normalizedPath = filePath.replaceAll("\\", "/");
30
30
  const pathSegments = stringSplit(normalizedPath, "/");
31
31
  const lastPathSegment = arrayAt(pathSegments, -1) ?? filePath;
32
- return lastPathSegment.replace(/\.[^./\\]+$/u, "");
32
+ return lastPathSegment.replace(/\.[^.\/]+$/v, "");
33
33
  };
34
34
  //# sourceMappingURL=casing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9D,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"casing.js","sourceRoot":"","sources":["../../src/_internal/casing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAqB,EAAE,CACpD,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CACvC,SAAS,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC9D,EACD,EAAE,CACL,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;IACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE9D,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { TSESLint } from "@typescript-eslint/utils";
2
2
  import type { UnknownArray } from "type-fest";
3
- type RuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
3
+ import type { RuleDocsMetadata } from "./rule-creator.js";
4
+ type RuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>, RuleDocsMetadata>;
4
5
  /**
5
6
  * Resolve a rule module from an external ESLint plugin's `rules` map.
6
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-external-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAK7D,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAkCtE;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,OAAO,EACf,UAAU,MAAM,EAChB,YAAY,MAAM,KACnB,OAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,cAAc,OAAO,EACrB,SAAS,MAAM,KAChB,UAiCF,CAAC"}
1
+ {"version":3,"file":"create-external-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CACjC,MAAM,EACN,QAAQ,CAAC,YAAY,CAAC,EACtB,gBAAgB,CACnB,CAAC;AAsGF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,OAAO,EACf,UAAU,MAAM,EAChB,YAAY,MAAM,KACnB,OAeF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,cAAc,OAAO,EACrB,SAAS,MAAM,KAChB,UAuCF,CAAC"}
@@ -1,6 +1,49 @@
1
- import { objectHasOwn, safeCastTo } from "ts-extras";
1
+ import { keyIn, objectEntries, objectHasOwn, safeCastTo } from "ts-extras";
2
2
  const isObjectRecord = (value) => typeof value === "object" && value !== null;
3
3
  const hasCreateFunction = (value) => isObjectRecord(value) && typeof value["create"] === "function";
4
+ const isRuleMetaDocs = (value) => isObjectRecord(value) && typeof value["description"] === "string";
5
+ const getNormalizedMetaType = (value) => {
6
+ if (value === "layout" || value === "problem" || value === "suggestion") {
7
+ return value;
8
+ }
9
+ return "problem";
10
+ };
11
+ const getNormalizedMetaMessages = (value) => {
12
+ if (!isObjectRecord(value)) {
13
+ return {};
14
+ }
15
+ let normalizedMessages = {};
16
+ for (const [key, message] of objectEntries(value)) {
17
+ if (typeof message !== "string") {
18
+ continue;
19
+ }
20
+ normalizedMessages = {
21
+ ...normalizedMessages,
22
+ [key]: message,
23
+ };
24
+ }
25
+ return normalizedMessages;
26
+ };
27
+ const isJsonSchemaLike = (value) => {
28
+ if (!isObjectRecord(value)) {
29
+ return false;
30
+ }
31
+ return (keyIn(value, "allOf") ||
32
+ keyIn(value, "anyOf") ||
33
+ keyIn(value, "oneOf") ||
34
+ keyIn(value, "properties") ||
35
+ keyIn(value, "type"));
36
+ };
37
+ const isJsonSchemaArray = (value) => Array.isArray(value) && value.every((entry) => isJsonSchemaLike(entry));
38
+ const getNormalizedMetaSchema = (value) => {
39
+ if (isJsonSchemaArray(value)) {
40
+ return value;
41
+ }
42
+ if (isJsonSchemaLike(value)) {
43
+ return value;
44
+ }
45
+ return [];
46
+ };
4
47
  const createLegacyContextCompat = (context) => new Proxy(context, {
5
48
  get: (target, property, receiver) => {
6
49
  if (property === "getSourceCode") {
@@ -39,25 +82,31 @@ export const adaptExternalRule = (externalRule, docsUrl) => {
39
82
  throw new TypeError("External rule module does not expose create().");
40
83
  }
41
84
  const externalRuleRecord = externalRule;
42
- const externalMeta = isObjectRecord(externalRuleRecord["meta"])
85
+ const externalMetaRecord = isObjectRecord(externalRuleRecord["meta"])
43
86
  ? externalRuleRecord["meta"]
44
87
  : {};
45
- const externalDocs = isObjectRecord(externalMeta["docs"])
46
- ? externalMeta["docs"]
47
- : {};
88
+ const externalDocs = isRuleMetaDocs(externalMetaRecord["docs"])
89
+ ? externalMetaRecord["docs"]
90
+ : {
91
+ description: "External rule re-exported by eslint-plugin-etc-misc.",
92
+ };
48
93
  const create = (context) => externalRule.create(createLegacyContextCompat(context));
94
+ const externalRuleModule = safeCastTo(externalRuleRecord);
49
95
  return {
50
- ...externalRuleRecord,
96
+ ...externalRuleModule,
51
97
  create,
52
98
  defaultOptions: Array.isArray(externalRuleRecord["defaultOptions"])
53
99
  ? safeCastTo(externalRuleRecord["defaultOptions"])
54
100
  : [],
55
101
  meta: {
56
- ...externalMeta,
102
+ ...externalMetaRecord,
57
103
  docs: {
58
104
  ...externalDocs,
59
105
  url: docsUrl,
60
106
  },
107
+ messages: getNormalizedMetaMessages(externalMetaRecord["messages"]),
108
+ schema: getNormalizedMetaSchema(externalMetaRecord["schema"]),
109
+ type: getNormalizedMetaType(externalMetaRecord["type"]),
61
110
  },
62
111
  };
63
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-external-rule.js","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAKrD,MAAM,cAAc,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC9D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,iBAAiB,GAAG,CACtB,KAAc,EAEsC,EAAE,CACtD,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAEnE,MAAM,yBAAyB,GAAG,CAAC,OAAoB,EAAe,EAAE,CACpE,IAAI,KAAK,CAAC,OAAO,EAAE;IACf,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAW,EAAE;QACzC,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC/B,OAAO,GAAkC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;QAClE,CAAC;QAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,CAAC;QAED,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;CACJ,CAAC,CAAC;AAEP;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,MAAe,EACf,QAAgB,EAChB,UAAkB,EACX,EAAE;IACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CACf,WAAW,UAAU,sCAAsC,CAC9D,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACX,SAAS,QAAQ,8BAA8B,UAAU,IAAI,CAChE,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,YAAqB,EACrB,OAAe,EACL,EAAE;IACZ,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,kBAAkB,GAAG,YAAY,CAAC;IACxC,MAAM,YAAY,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAyB,CAAC,OAAO,EAAE,EAAE,CAC7C,YAAY,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5D,OAAO;QACH,GAAI,kBAA4C;QAChD,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAC/D,CAAC,CAAC,UAAU,CACN,kBAAkB,CAAC,gBAAgB,CAAC,CACvC;YACH,CAAC,CAAC,EAAE;QACR,IAAI,EAAE;YACF,GAAI,YAA8C;YAClD,IAAI,EAAE;gBACF,GAAI,YAEM;gBACV,GAAG,EAAE,OAAO;aACf;SACkB;KAC1B,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"create-external-rule.js","sourceRoot":"","sources":["../../src/_internal/create-external-rule.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
- import type { TSESLint } from "@typescript-eslint/utils";
2
- import type { UnknownArray } from "type-fest";
3
- type RuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
4
1
  /**
5
2
  * Resolve a core ESLint rule module by rule ID.
6
3
  */
7
- export declare const getCoreRule: (ruleId: string) => RuleModule;
8
- export {};
4
+ export declare const getCoreRule: (ruleId: string) => unknown;
9
5
  //# sourceMappingURL=get-core-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM9C,KAAK,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,UAQ5C,CAAC"}
1
+ {"version":3,"file":"get-core-rule.d.ts","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,OAQ5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAGA,qJAAqJ;AACrJ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAc,EAAE;IACtD,gLAAgL;IAChL,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAiC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"get-core-rule.js","sourceRoot":"","sources":["../../src/_internal/get-core-rule.ts"],"names":[],"mappings":"AAAA,qJAAqJ;AACrJ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAW,EAAE;IACnD,gLAAgL;IAChL,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { stringSplit } from "ts-extras";
2
- const camelCaseBoundaryPattern = /(?<=[\da-z])(?=[A-Z])/gu;
3
- const nonAlphanumericPattern = /[^0-9A-Za-z]+/gu;
4
- const whitespacePattern = /\s+/gu;
2
+ const camelCaseBoundaryPattern = /(?<=[\da-z])(?=[A-Z])/gv;
3
+ const nonAlphanumericPattern = /[^0-9A-Za-z]+/gv;
4
+ const whitespacePattern = /\s+/gv;
5
5
  /**
6
6
  * Split identifier-like text into non-empty blocks while preserving original
7
7
  * block casing.
@@ -1 +1 @@
1
- {"version":3,"file":"import-patterns.d.ts","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;GAEG;AACH,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AA2CH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GACjC,YAAY,MAAM,EAClB,SAAS,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAChD,yBAAyB,SAAS,MAAM,EAAE,KAC3C,OAOF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KACxB,MAAM,GAAG,SAAsC,CAAC;AAEnD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"import-patterns.d.ts","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK/D;;GAEG;AACH,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC,CAAC;AA2CH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GACjC,YAAY,MAAM,EAClB,SAAS,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAChD,yBAAyB,SAAS,MAAM,EAAE,KAC3C,OAOF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KACxB,MAAM,GAAG,SAAsC,CAAC;AAEnD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,18 +1,19 @@
1
+ import { AST_NODE_TYPES } from "@typescript-eslint/utils";
1
2
  import { minimatch } from "minimatch";
2
3
  const matchesAnyPattern = (value, patterns) => patterns.some((pattern) => minimatch(value, pattern, {
3
4
  dot: true,
4
5
  nocase: false,
5
6
  }));
6
7
  const getImportSourceText = (node) => {
7
- if (node.type === "ExportAllDeclaration" ||
8
- node.type === "ImportDeclaration") {
8
+ if (node.type === AST_NODE_TYPES.ExportAllDeclaration ||
9
+ node.type === AST_NODE_TYPES.ImportDeclaration) {
9
10
  return node.source.value;
10
11
  }
11
- if (node.type === "ExportNamedDeclaration") {
12
+ if (node.type === AST_NODE_TYPES.ExportNamedDeclaration) {
12
13
  return node.source?.value;
13
14
  }
14
- if (node.type === "ImportExpression") {
15
- return node.source.type === "Literal" &&
15
+ if (node.type === AST_NODE_TYPES.ImportExpression) {
16
+ return node.source.type === AST_NODE_TYPES.Literal &&
16
17
  typeof node.source.value === "string"
17
18
  ? node.source.value
18
19
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"import-patterns.js","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,iBAAiB,GAAG,CACtB,KAAa,EACb,QAA2B,EACpB,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;IACtB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CAChB,CAAC,CACL,CAAC;AAEN,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAsB,EAAE;IACxE,IACI,IAAI,CAAC,IAAI,KAAK,sBAAsB;QACpC,IAAI,CAAC,IAAI,KAAK,mBAAmB,EACnC,CAAC;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YACnB,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACpB,OAAgD,EAChD,uBAA0C,EACf,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,uBAAuB;CACzD,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,UAAkB,EAClB,OAAgD,EAChD,uBAA0C,EACnC,EAAE;IACT,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACxE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAAuB,EACL,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"import-patterns.js","sourceRoot":"","sources":["../../src/_internal/import-patterns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,iBAAiB,GAAG,CACtB,KAAa,EACb,QAA2B,EACpB,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE;IACtB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CAChB,CAAC,CACL,CAAC;AAEN,MAAM,mBAAmB,GAAG,CAAC,IAAuB,EAAsB,EAAE;IACxE,IACI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB;QACjD,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAChD,CAAC;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YACnB,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACpB,OAAgD,EAChD,uBAA0C,EACf,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;IAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,uBAAuB;CACzD,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,UAAkB,EAClB,OAAgD,EAChD,uBAA0C,EACnC,EAAE;IACT,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACxE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAAuB,EACL,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC"}
@@ -5,20 +5,20 @@ import { ESLintUtils } from "@typescript-eslint/utils";
5
5
  * Broad rule-module type used by incrementally migrated rule files.
6
6
  */
7
7
  export type AnyRuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
8
- type RuleCreatorFactory = ReturnType<typeof ESLintUtils.RuleCreator<RuleDocsMetadata>>;
9
- type RuleDocsMetadata = {
8
+ /**
9
+ * Additional docs metadata used by this plugin's rule catalog and presets.
10
+ */
11
+ export interface RuleDocsMetadata extends TSESLint.RuleMetaDataDocs {
10
12
  readonly catalogId?: string;
11
13
  readonly catalogIndex?: number;
12
14
  readonly deprecated?: boolean;
13
15
  readonly frozen?: boolean;
14
- readonly recommended: boolean;
16
+ readonly recommended?: boolean;
15
17
  readonly requiresTypeChecking?: boolean;
16
18
  readonly ruleName?: string;
17
19
  readonly suggestion?: boolean;
18
- };
19
- /**
20
- * Shared rule factory for plugin rules.
21
- */
20
+ }
21
+ type RuleCreatorFactory = ReturnType<typeof ESLintUtils.RuleCreator<RuleDocsMetadata>>;
22
22
  /**
23
23
  * Typed factory for defining plugin rules with consistent docs URLs.
24
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rule-creator.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhF,KAAK,kBAAkB,GAAG,UAAU,CAChC,OAAO,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACnD,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBAKpB,CAAC"}
1
+ {"version":3,"file":"rule-creator.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,gBAAgB;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,KAAK,kBAAkB,GAAG,UAAU,CAChC,OAAO,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACnD,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,kBAKpB,CAAC"}
@@ -2,10 +2,11 @@ import { ESLintUtils } from "@typescript-eslint/utils";
2
2
  /**
3
3
  * Shared rule factory for plugin rules.
4
4
  */
5
+ const createRuleCreator = ESLintUtils.RuleCreator;
5
6
  /**
6
7
  * Typed factory for defining plugin rules with consistent docs URLs.
7
8
  */
8
- export const ruleCreator = ESLintUtils.RuleCreator((name) => {
9
+ export const ruleCreator = createRuleCreator((name) => {
9
10
  const docsPathName = name.replaceAll("/", "-");
10
11
  return `https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/${docsPathName}`;
11
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rule-creator.js","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAsBvD;;GAEG;AACH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GACpB,WAAW,CAAC,WAAW,CAAmB,CAAC,IAAI,EAAE,EAAE;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE/C,OAAO,kEAAkE,YAAY,EAAE,CAAC;AAC5F,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rule-creator.js","sourceRoot":"","sources":["../../src/_internal/rule-creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAyBvD;;GAEG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GACpB,iBAAiB,CAAmB,CAAC,IAAI,EAAE,EAAE;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE/C,OAAO,kEAAkE,YAAY,EAAE,CAAC;AAC5F,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-usage.d.ts","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAU7E,KAAK,cAAc,GAAG,QAAQ,CAC1B,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,KACtC,OAImC,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,OA2BF,CAAC;AAyCF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,OAAO,EACf,SAAS,OAAO,EAChB,SAAS,MAAM,KAChB,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAW/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,MAAM,MAAM,EACZ,UAAU,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KACtC,OAAyD,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,gBAAgB,cAAc,EAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAOtD,CAAC"}
1
+ {"version":3,"file":"symbol-usage.d.ts","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAW7E,KAAK,cAAc,GAAG,QAAQ,CAC1B,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,QAAQ,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,KACtC,OAIgD,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAChC,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,OA2BF,CAAC;AAyCF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,OAAO,EACf,SAAS,OAAO,EAChB,SAAS,MAAM,KAChB,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAW/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,MAAM,MAAM,EACZ,UAAU,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KACtC,OAAyD,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,gBAAgB,cAAc,EAC9B,MAAM,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,KAC9B,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAOtD,CAAC"}
@@ -1,31 +1,32 @@
1
1
  import { getConstrainedTypeAtLocation } from "@typescript-eslint/type-utils";
2
+ import { AST_NODE_TYPES } from "@typescript-eslint/utils";
2
3
  import { arrayJoin, isDefined, keyIn } from "ts-extras";
3
4
  /**
4
5
  * Whether an identifier belongs to an import/export specifier position.
5
6
  */
6
- export const isImportOrExportSpecifier = (parent) => parent?.type === "ExportSpecifier" ||
7
- parent?.type === "ImportDefaultSpecifier" ||
8
- parent?.type === "ImportNamespaceSpecifier" ||
9
- parent?.type === "ImportSpecifier";
7
+ export const isImportOrExportSpecifier = (parent) => parent?.type === AST_NODE_TYPES.ExportSpecifier ||
8
+ parent?.type === AST_NODE_TYPES.ImportDefaultSpecifier ||
9
+ parent?.type === AST_NODE_TYPES.ImportNamespaceSpecifier ||
10
+ parent?.type === AST_NODE_TYPES.ImportSpecifier;
10
11
  /**
11
12
  * Whether an identifier is the declaration identifier for supported node types.
12
13
  */
13
14
  export const isDeclarationIdentifier = (node) => {
14
15
  const { parent } = node;
15
- if (parent === undefined) {
16
+ if (!isDefined(parent)) {
16
17
  return false;
17
18
  }
18
- if (parent.type === "TSInterfaceDeclaration" ||
19
- parent.type === "TSTypeAliasDeclaration") {
19
+ if (parent.type === AST_NODE_TYPES.TSInterfaceDeclaration ||
20
+ parent.type === AST_NODE_TYPES.TSTypeAliasDeclaration) {
20
21
  return parent.id === node;
21
22
  }
22
- if (parent.type === "ClassDeclaration" ||
23
- parent.type === "FunctionDeclaration" ||
24
- parent.type === "TSDeclareFunction" ||
25
- parent.type === "TSEnumDeclaration") {
23
+ if (parent.type === AST_NODE_TYPES.ClassDeclaration ||
24
+ parent.type === AST_NODE_TYPES.FunctionDeclaration ||
25
+ parent.type === AST_NODE_TYPES.TSDeclareFunction ||
26
+ parent.type === AST_NODE_TYPES.TSEnumDeclaration) {
26
27
  return parent.id === node;
27
28
  }
28
- if (parent.type === "VariableDeclarator") {
29
+ if (parent.type === AST_NODE_TYPES.VariableDeclarator) {
29
30
  return parent.id === node;
30
31
  }
31
32
  return false;
@@ -35,11 +36,11 @@ const normalizeTagComment = (text) => {
35
36
  return undefined;
36
37
  }
37
38
  if (typeof text === "string") {
38
- const normalized = text.trim().replaceAll(/\s+/gu, " ");
39
+ const normalized = text.trim().replaceAll(/\s+/gv, " ");
39
40
  return normalized.length > 0 ? normalized : undefined;
40
41
  }
41
42
  const normalized = arrayJoin(text.map((part) => part.text), "")
42
- .replaceAll(/\s+/gu, " ")
43
+ .replaceAll(/\s+/gv, " ")
43
44
  .trim();
44
45
  return normalized.length > 0 ? normalized : undefined;
45
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-usage.js","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbol-usage.js","sourceRoot":"","sources":["../../src/_internal/symbol-usage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAiBxD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,MAAqC,EAC9B,EAAE,CACT,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,eAAe;IAC/C,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,sBAAsB;IACtD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,wBAAwB;IACxD,MAAM,EAAE,IAAI,KAAK,cAAc,CAAC,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,IAA6B,EACtB,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;QACrD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACvD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,mBAAmB;QAClD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;QAChD,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAClD,CAAC;QACC,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,IAAsD,EACpC,EAAE;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CACxB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,EAAE,CACL;SACI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,IAAI,EAAE,CAAC;IAEZ,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE,CAC/D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,qBAAqB,GAAG,CAC1B,MAAe,EACc,EAAE;IAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC;AACxD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,MAAe,EACf,OAAgB,EAChB,OAAe,EACgB,EAAE;IACjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3E,OAAO,YAAY;SACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,IAAY,EACZ,QAAqC,EAC9B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,cAA8B,EAC9B,IAA6B,EACgC,EAAE;IAC/D,MAAM,kBAAkB,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,OAAO,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { isDefined, keyIn } from "ts-extras";
2
- const isSelectorObject = (value) => typeof value === "object" && value !== null && keyIn(value, "selector");
2
+ const isSelectorObject = (value) => typeof value === "object" && keyIn(value, "selector");
3
3
  /**
4
4
  * Normalize a selector option into a selector entry object.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-selectors.js","sourceRoot":"","sources":["../../src/_internal/syntax-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAoB7C,MAAM,gBAAgB,GAAG,CACrB,KAA2B,EAI5B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,QAA8B,EACX,EAAE;IACrB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC9B,CAAC;IACN,CAAC;IAED,OAAO;QACH,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,OAAuC,EACvC,MAAqE,EACV,EAAE;IAC7D,MAAM,SAAS,GAAsD,EAAE,CAAC;IAExE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAuB,EAAQ,EAAE;YAC1D,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"syntax-selectors.js","sourceRoot":"","sources":["../../src/_internal/syntax-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAoB7C,MAAM,gBAAgB,GAAG,CACrB,KAA2B,EAI5B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,QAA8B,EACX,EAAE;IACrB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC9B,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC9B,CAAC;IACN,CAAC;IAED,OAAO;QACH,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,OAAuC,EACvC,MAAqE,EACV,EAAE;IAC7D,MAAM,SAAS,GAAsD,EAAE,CAAC;IAExE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAuB,EAAQ,EAAE;YAC1D,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- type AllStrictConfig = {
1
+ interface AllStrictConfig {
2
2
  readonly name: "etc-misc/all-strict";
3
3
  readonly rules: Readonly<Record<string, RuleSeverity>>;
4
- };
4
+ }
5
5
  type RuleSeverity = "error" | "warn";
6
6
  /**
7
7
  * Flat config preset enabling every plugin rule at `error`, except deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"all-strict.d.ts","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAMA,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAcrC;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eAGvB,CAAC"}
1
+ {"version":3,"file":"all-strict.d.ts","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACrB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAgBrC;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eAGvB,CAAC"}
@@ -1,11 +1,14 @@
1
1
  /* eslint-disable canonical/no-reassign-imports -- Rule entry map intentionally references imported plugin rules metadata. */
2
- import { objectEntries, objectFromEntries } from "ts-extras";
2
+ import { objectEntries } from "ts-extras";
3
3
  import { rules as pluginRules } from "../rules.js";
4
- const allStrictRuleEntries = objectEntries(pluginRules).map(([ruleName, ruleModule]) => [
5
- `etc-misc/${ruleName}`,
6
- ruleModule.meta.deprecated === false ? "error" : "warn",
7
- ]);
8
- const allStrictRules = objectFromEntries(allStrictRuleEntries);
4
+ let allStrictRulesAccumulator = {};
5
+ for (const [ruleName, ruleModule] of objectEntries(pluginRules)) {
6
+ allStrictRulesAccumulator = {
7
+ ...allStrictRulesAccumulator,
8
+ [`etc-misc/${ruleName}`]: ruleModule.meta.deprecated === false ? "error" : "warn",
9
+ };
10
+ }
11
+ const allStrictRules = Object.freeze(allStrictRulesAccumulator);
9
12
  /**
10
13
  * Flat config preset enabling every plugin rule at `error`, except deprecated
11
14
  * rules which remain at `warn`.
@@ -1 +1 @@
1
- {"version":3,"file":"all-strict.js","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAE7H,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,MAAM,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CACvD,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CACvB;IACI,YAAY,QAAQ,EAAE;IACtB,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;CACjD,CACjB,CAAC;AAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,oBAAoB,CAE5D,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB;IACtC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,cAAc;CACxB,CAAC;AAEF,wIAAwI"}
1
+ {"version":3,"file":"all-strict.js","sourceRoot":"","sources":["../../src/configs/all-strict.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAE7H,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,IAAI,yBAAyB,GAAiC,EAAE,CAAC;AAEjE,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,yBAAyB,GAAG;QACxB,GAAG,yBAAyB;QAC5B,CAAC,YAAY,QAAQ,EAAE,CAAC,EACpB,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;KAC9D,CAAC;AACN,CAAC;AAED,MAAM,cAAc,GAA2C,MAAM,CAAC,MAAM,CACxE,yBAAyB,CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB;IACtC,IAAI,EAAE,qBAAqB;IAC3B,KAAK,EAAE,cAAc;CACxB,CAAC;AAEF,wIAAwI"}
@@ -1,7 +1,7 @@
1
- type AllConfig = {
1
+ interface AllConfig {
2
2
  readonly name: "etc-misc/all";
3
3
  readonly rules: Readonly<Record<string, RuleSeverity>>;
4
- };
4
+ }
5
5
  type RuleSeverity = "error" | "warn";
6
6
  /**
7
7
  * Flat config preset enabling every available plugin rule.
@@ -1 +1 @@
1
- {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAMA,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAqBrC;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,SAGjB,CAAC"}
1
+ {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAKA,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAC1D;AAED,KAAK,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAwBrC;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,SAGjB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable canonical/no-reassign-imports -- Rule entry map intentionally references imported plugin rules object. */
2
- import { objectEntries, objectFromEntries } from "ts-extras";
2
+ import { objectEntries } from "ts-extras";
3
3
  import { rules as pluginRules } from "../rules.js";
4
4
  const getAllPresetSeverity = (ruleModule) => {
5
5
  if (ruleModule.meta.deprecated !== false) {
@@ -7,8 +7,14 @@ const getAllPresetSeverity = (ruleModule) => {
7
7
  }
8
8
  return ruleModule.meta.type === "problem" ? "error" : "warn";
9
9
  };
10
- const allRuleEntries = objectEntries(pluginRules).map(([ruleName, ruleModule]) => [`etc-misc/${ruleName}`, getAllPresetSeverity(ruleModule)]);
11
- const allRules = objectFromEntries(allRuleEntries);
10
+ let allRulesAccumulator = {};
11
+ for (const [ruleName, ruleModule] of objectEntries(pluginRules)) {
12
+ allRulesAccumulator = {
13
+ ...allRulesAccumulator,
14
+ [`etc-misc/${ruleName}`]: getAllPresetSeverity(ruleModule),
15
+ };
16
+ }
17
+ const allRules = Object.freeze(allRulesAccumulator);
12
18
  /**
13
19
  * Flat config preset enabling every available plugin rule.
14
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAE3H,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,MAAM,oBAAoB,GAAG,CACzB,UAAkD,EACtC,EAAE;IACd,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CACjD,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CACvB,CAAC,YAAY,QAAQ,EAAE,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAU,CAC1E,CAAC;AAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAEhD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAc;IAC1B,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,QAAQ;CAClB,CAAC;AAEF,wIAAwI"}
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/configs/all.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AASnD,MAAM,oBAAoB,GAAG,CACzB,UAAkD,EACtC,EAAE;IACd,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC,CAAC;AAEF,IAAI,mBAAmB,GAAiC,EAAE,CAAC;AAE3D,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,mBAAmB,GAAG;QAClB,GAAG,mBAAmB;QACtB,CAAC,YAAY,QAAQ,EAAE,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC;KAC7D,CAAC;AACN,CAAC;AAED,MAAM,QAAQ,GACV,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAc;IAC1B,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,QAAQ;CAClB,CAAC;AAEF,wIAAwI"}
@@ -1,4 +1,4 @@
1
- type StrictTypeCheckedConfig = {
1
+ interface StrictTypeCheckedConfig {
2
2
  readonly languageOptions: Readonly<{
3
3
  readonly parserOptions: Readonly<{
4
4
  readonly projectService: true;
@@ -6,7 +6,7 @@ type StrictTypeCheckedConfig = {
6
6
  }>;
7
7
  readonly name: "etc-misc/strict-type-checked";
8
8
  readonly rules: Readonly<Record<string, "error">>;
9
- };
9
+ }
10
10
  /**
11
11
  * Strict preset augmented with every non-deprecated rule that requires type
12
12
  * information.
@@ -1 +1 @@
1
- {"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAWA,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7B,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;SACjC,CAAC,CAAC;KACN,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;AA8BF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAQ/B,CAAC"}
1
+ {"version":3,"file":"strict-type-checked.d.ts","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAcA,UAAU,uBAAuB;IAC7B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7B,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;SACjC,CAAC,CAAC;KACN,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAkCD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,uBAQ/B,CAAC"}
@@ -1,20 +1,21 @@
1
1
  /* eslint-disable canonical/no-reassign-imports -- Flat-config strict type-checked preset intentionally inspects imported plugin rule metadata. */
2
- import { keyIn, objectEntries, objectFromEntries } from "ts-extras";
2
+ import { objectEntries, objectFromEntries, objectHasOwn, safeCastTo, } from "ts-extras";
3
3
  import { rules as pluginRules } from "../rules.js";
4
4
  import { strict } from "./strict.js";
5
5
  const additionalTypeCheckedRuleEntries = objectEntries(pluginRules).flatMap(([ruleName, ruleModule]) => {
6
6
  if (ruleModule.meta.deprecated !== false) {
7
7
  return [];
8
8
  }
9
- const docsMetadata = ruleModule.meta.docs;
9
+ const docsMetadata = safeCastTo(ruleModule.meta.docs);
10
10
  if (docsMetadata?.requiresTypeChecking !== true) {
11
11
  return [];
12
12
  }
13
13
  const qualifiedRuleName = `etc-misc/${ruleName}`;
14
- if (keyIn(strict.rules, qualifiedRuleName)) {
14
+ if (objectHasOwn(strict.rules, qualifiedRuleName)) {
15
15
  return [];
16
16
  }
17
- return [[qualifiedRuleName, "error"]];
17
+ const severity = "error";
18
+ return [[qualifiedRuleName, severity]];
18
19
  });
19
20
  const strictTypeCheckedRules = {
20
21
  ...strict.rules,
@@ -1 +1 @@
1
- {"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgBrC,MAAM,gCAAgC,GAG/B,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;IACjE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAoC,CAAC;IAE1E,IAAI,YAAY,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,QAAQ,EAAE,CAAC;IAEjD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAU,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG;IAC3B,GAAG,MAAM,CAAC,KAAK;IACf,GAAG,iBAAiB,CAAC,gCAAgC,CAAC;CACb,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,eAAe,EAAE;QACb,aAAa,EAAE;YACX,cAAc,EAAE,IAAI;SACvB;KACJ;IACD,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAEF,wIAAwI"}
1
+ {"version":3,"file":"strict-type-checked.js","sourceRoot":"","sources":["../../src/configs/strict-type-checked.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,UAAU,GACb,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,MAAM,gCAAgC,GAG/B,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;IACjE,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CACvB,CAAC;IAEF,IAAI,YAAY,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAG,YAAY,QAAQ,EAAE,CAAC;IAEjD,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,OAAgB,CAAC;IAElC,OAAO,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAU,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG;IAC3B,GAAG,MAAM,CAAC,KAAK;IACf,GAAG,iBAAiB,CAAC,gCAAgC,CAAC;CACb,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,eAAe,EAAE;QACb,aAAa,EAAE;YACX,cAAc,EAAE,IAAI;SACvB;KACJ;IACD,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,sBAAsB;CAChC,CAAC;AAEF,wIAAwI"}
@@ -1,8 +1,8 @@
1
1
  import { recommended } from "./recommended.js";
2
- type StrictConfig = {
2
+ interface StrictConfig {
3
3
  readonly name: "etc-misc/strict";
4
4
  readonly rules: StrictRules;
5
- };
5
+ }
6
6
  type StrictRules = Readonly<{
7
7
  readonly [TRuleName in keyof typeof recommended.rules]: "error";
8
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,SAAS,IAAI,MAAM,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO;CAClE,CAAC,CAAC;AAUH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC"}
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,UAAU,YAAY;IAClB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC/B;AAED,KAAK,WAAW,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,SAAS,IAAI,MAAM,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO;CAClE,CAAC,CAAC;AAyBH;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAGpB,CAAC"}
@@ -1,7 +1,12 @@
1
1
  import { objectFromEntries, objectKeys, safeCastTo } from "ts-extras";
2
2
  import { recommended } from "./recommended.js";
3
3
  const recommendedRuleNames = safeCastTo(objectKeys(recommended.rules));
4
- const strictRules = objectFromEntries(recommendedRuleNames.map((ruleName) => [ruleName, "error"]));
4
+ const strictRulesCandidate = objectFromEntries(recommendedRuleNames.map((ruleName) => [ruleName, "error"]));
5
+ const hasStrictRuleCoverage = (candidateRules) => recommendedRuleNames.every((ruleName) => candidateRules[ruleName] === "error");
6
+ if (!hasStrictRuleCoverage(strictRulesCandidate)) {
7
+ throw new Error("Strict preset synthesis failed to include every recommended rule.");
8
+ }
9
+ const strictRules = strictRulesCandidate;
5
10
  /**
6
11
  * Strict preset that promotes every recommended rule to `error`.
7
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAW/C,MAAM,oBAAoB,GAAG,UAAU,CAErC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjC,MAAM,WAAW,GAAG,iBAAiB,CACjC,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC,CACxD,CAAC;AAEjB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,WAAW;CACrB,CAAC"}
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAW/C,MAAM,oBAAoB,GAAG,UAAU,CAErC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjC,MAAM,oBAAoB,GAAG,iBAAiB,CAC1C,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAgB,CAAC,CAAC,CACvE,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC1B,cAA8C,EACjB,EAAE,CAC/B,oBAAoB,CAAC,KAAK,CACtB,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,OAAO,CACrD,CAAC;AAEN,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAC/C,MAAM,IAAI,KAAK,CACX,mEAAmE,CACtE,CAAC;AACN,CAAC;AAED,MAAM,WAAW,GAAgB,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,WAAW;CACrB,CAAC"}