@codeperfect/eslint-plugin 1.0.0

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 (248) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +16 -0
  5. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  6. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +131 -0
  7. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +48 -0
  8. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  9. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +126 -0
  10. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +40 -0
  11. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  12. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +90 -0
  13. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts +11 -0
  14. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  15. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +218 -0
  16. package/dist/architecture/consistent-barrel-files/index.d.ts +5 -0
  17. package/dist/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  18. package/dist/architecture/consistent-barrel-files/index.js +4 -0
  19. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +11 -0
  20. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  21. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +100 -0
  22. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +40 -0
  23. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  24. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +90 -0
  25. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +65 -0
  26. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  27. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +154 -0
  28. package/dist/architecture/consistent-barrel-files/rule.d.ts +11 -0
  29. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  30. package/dist/architecture/consistent-barrel-files/rule.js +58 -0
  31. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts +141 -0
  32. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  33. package/dist/architecture/consistent-barrel-files/test-helpers.js +229 -0
  34. package/dist/architecture/consistent-barrel-files/types.d.ts +25 -0
  35. package/dist/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  36. package/dist/architecture/consistent-barrel-files/types.js +2 -0
  37. package/dist/architecture/index.d.ts +2 -0
  38. package/dist/architecture/index.d.ts.map +1 -0
  39. package/dist/architecture/index.js +2 -0
  40. package/dist/benchmark-rules.d.ts +83 -0
  41. package/dist/benchmark-rules.d.ts.map +1 -0
  42. package/dist/benchmark-rules.js +175 -0
  43. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  44. package/dist/codeperfect-plugin.d.ts +46 -0
  45. package/dist/codeperfect-plugin.d.ts.map +1 -0
  46. package/dist/codeperfect-plugin.js +29 -0
  47. package/dist/core/index.d.ts +3 -0
  48. package/dist/core/index.d.ts.map +1 -0
  49. package/dist/core/index.js +3 -0
  50. package/dist/core/no-multiple-declarators/index.d.ts +2 -0
  51. package/dist/core/no-multiple-declarators/index.d.ts.map +1 -0
  52. package/dist/core/no-multiple-declarators/index.js +2 -0
  53. package/dist/core/no-multiple-declarators/rule.d.ts +4 -0
  54. package/dist/core/no-multiple-declarators/rule.d.ts.map +1 -0
  55. package/dist/core/no-multiple-declarators/rule.js +100 -0
  56. package/dist/core/prefer-interface-types/index.d.ts +2 -0
  57. package/dist/core/prefer-interface-types/index.d.ts.map +1 -0
  58. package/dist/core/prefer-interface-types/index.js +2 -0
  59. package/dist/core/prefer-interface-types/rule.d.ts +5 -0
  60. package/dist/core/prefer-interface-types/rule.d.ts.map +1 -0
  61. package/dist/core/prefer-interface-types/rule.js +145 -0
  62. package/dist/core/prefer-interface-types/test-helpers.d.ts +110 -0
  63. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  64. package/dist/core/prefer-interface-types/test-helpers.js +116 -0
  65. package/dist/custom-rule-documentation.d.ts +36 -0
  66. package/dist/custom-rule-documentation.d.ts.map +1 -0
  67. package/dist/custom-rule-documentation.js +35 -0
  68. package/dist/custom-rules.d.ts +61 -0
  69. package/dist/custom-rules.d.ts.map +1 -0
  70. package/dist/custom-rules.js +70 -0
  71. package/dist/docs/index.d.ts +4 -0
  72. package/dist/docs/index.d.ts.map +1 -0
  73. package/dist/docs/index.js +4 -0
  74. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +89 -0
  75. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  76. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  77. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts +48 -0
  78. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  79. package/dist/docs/no-interface-member-docs/comment-utilities.js +146 -0
  80. package/dist/docs/no-interface-member-docs/index.d.ts +2 -0
  81. package/dist/docs/no-interface-member-docs/index.d.ts.map +1 -0
  82. package/dist/docs/no-interface-member-docs/index.js +2 -0
  83. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts +13 -0
  84. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  85. package/dist/docs/no-interface-member-docs/parameter-tags.js +101 -0
  86. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts +24 -0
  87. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  88. package/dist/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  89. package/dist/docs/no-interface-member-docs/rule.d.ts +5 -0
  90. package/dist/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  91. package/dist/docs/no-interface-member-docs/rule.js +168 -0
  92. package/dist/docs/no-interface-member-docs/test-helpers.d.ts +103 -0
  93. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  94. package/dist/docs/no-interface-member-docs/test-helpers.js +157 -0
  95. package/dist/docs/no-interface-member-docs/types.d.ts +30 -0
  96. package/dist/docs/no-interface-member-docs/types.d.ts.map +1 -0
  97. package/dist/docs/no-interface-member-docs/types.js +2 -0
  98. package/dist/docs/require-example-language/empty-fence-fixes.d.ts +29 -0
  99. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  100. package/dist/docs/require-example-language/empty-fence-fixes.js +169 -0
  101. package/dist/docs/require-example-language/example-utilities.d.ts +70 -0
  102. package/dist/docs/require-example-language/example-utilities.d.ts.map +1 -0
  103. package/dist/docs/require-example-language/example-utilities.js +76 -0
  104. package/dist/docs/require-example-language/examples.d.ts +36 -0
  105. package/dist/docs/require-example-language/examples.d.ts.map +1 -0
  106. package/dist/docs/require-example-language/examples.js +181 -0
  107. package/dist/docs/require-example-language/fixes.d.ts +49 -0
  108. package/dist/docs/require-example-language/fixes.d.ts.map +1 -0
  109. package/dist/docs/require-example-language/fixes.js +182 -0
  110. package/dist/docs/require-example-language/index.d.ts +3 -0
  111. package/dist/docs/require-example-language/index.d.ts.map +1 -0
  112. package/dist/docs/require-example-language/index.js +2 -0
  113. package/dist/docs/require-example-language/reporting.d.ts +60 -0
  114. package/dist/docs/require-example-language/reporting.d.ts.map +1 -0
  115. package/dist/docs/require-example-language/reporting.js +145 -0
  116. package/dist/docs/require-example-language/rule.d.ts +7 -0
  117. package/dist/docs/require-example-language/rule.d.ts.map +1 -0
  118. package/dist/docs/require-example-language/rule.js +34 -0
  119. package/dist/docs/require-example-language/types.d.ts +22 -0
  120. package/dist/docs/require-example-language/types.d.ts.map +1 -0
  121. package/dist/docs/require-example-language/types.js +2 -0
  122. package/dist/docs/single-line-jsdoc/index.d.ts +2 -0
  123. package/dist/docs/single-line-jsdoc/index.d.ts.map +1 -0
  124. package/dist/docs/single-line-jsdoc/index.js +2 -0
  125. package/dist/docs/single-line-jsdoc/rule.d.ts +5 -0
  126. package/dist/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  127. package/dist/docs/single-line-jsdoc/rule.js +196 -0
  128. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts +16 -0
  129. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  130. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  131. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +25 -0
  132. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  133. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  134. package/dist/docs/test-helpers.d.ts +50 -0
  135. package/dist/docs/test-helpers.d.ts.map +1 -0
  136. package/dist/docs/test-helpers.js +107 -0
  137. package/dist/index.d.ts +6 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +6 -0
  140. package/dist/presets.d.ts +10 -0
  141. package/dist/presets.d.ts.map +1 -0
  142. package/dist/presets.js +50 -0
  143. package/dist/rules/index.d.ts +5 -0
  144. package/dist/rules/index.d.ts.map +1 -0
  145. package/dist/rules/index.js +6 -0
  146. package/dist/testing/aaa/analyzer.d.ts +36 -0
  147. package/dist/testing/aaa/analyzer.d.ts.map +1 -0
  148. package/dist/testing/aaa/analyzer.js +490 -0
  149. package/dist/testing/aaa/index.d.ts +3 -0
  150. package/dist/testing/aaa/index.d.ts.map +1 -0
  151. package/dist/testing/aaa/index.js +2 -0
  152. package/dist/testing/aaa/types.d.ts +31 -0
  153. package/dist/testing/aaa/types.d.ts.map +1 -0
  154. package/dist/testing/aaa/types.js +2 -0
  155. package/dist/testing/assert-actual-expected-names/index.d.ts +2 -0
  156. package/dist/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  157. package/dist/testing/assert-actual-expected-names/index.js +2 -0
  158. package/dist/testing/assert-actual-expected-names/rule.d.ts +4 -0
  159. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  160. package/dist/testing/assert-actual-expected-names/rule.js +54 -0
  161. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  162. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  163. package/dist/testing/enforce-aaa-phase-purity/index.js +2 -0
  164. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts +4 -0
  165. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  166. package/dist/testing/enforce-aaa-phase-purity/rule.js +110 -0
  167. package/dist/testing/enforce-aaa-structure/index.d.ts +2 -0
  168. package/dist/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  169. package/dist/testing/enforce-aaa-structure/index.js +2 -0
  170. package/dist/testing/enforce-aaa-structure/rule.d.ts +4 -0
  171. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  172. package/dist/testing/enforce-aaa-structure/rule.js +48 -0
  173. package/dist/testing/index.d.ts +9 -0
  174. package/dist/testing/index.d.ts.map +1 -0
  175. package/dist/testing/index.js +9 -0
  176. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +16 -0
  177. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  178. package/dist/testing/prefer-vi-mocked-import/fix.js +224 -0
  179. package/dist/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  180. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  181. package/dist/testing/prefer-vi-mocked-import/index.js +2 -0
  182. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts +16 -0
  183. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  184. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  185. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts +16 -0
  186. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  187. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +99 -0
  188. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts +66 -0
  189. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  190. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  191. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts +17 -0
  192. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  193. package/dist/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  194. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts +42 -0
  195. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  196. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  197. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts +13 -0
  198. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  199. package/dist/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  200. package/dist/testing/prefer-vi-mocked-import/match.d.ts +15 -0
  201. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  202. package/dist/testing/prefer-vi-mocked-import/match.js +193 -0
  203. package/dist/testing/prefer-vi-mocked-import/rule.d.ts +5 -0
  204. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  205. package/dist/testing/prefer-vi-mocked-import/rule.js +32 -0
  206. package/dist/testing/prefer-vi-mocked-import/types.d.ts +83 -0
  207. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  208. package/dist/testing/prefer-vi-mocked-import/types.js +2 -0
  209. package/dist/testing/require-aaa-sections/index.d.ts +2 -0
  210. package/dist/testing/require-aaa-sections/index.d.ts.map +1 -0
  211. package/dist/testing/require-aaa-sections/index.js +2 -0
  212. package/dist/testing/require-aaa-sections/rule.d.ts +4 -0
  213. package/dist/testing/require-aaa-sections/rule.d.ts.map +1 -0
  214. package/dist/testing/require-aaa-sections/rule.js +111 -0
  215. package/dist/testing/require-act-result-capture/index.d.ts +2 -0
  216. package/dist/testing/require-act-result-capture/index.d.ts.map +1 -0
  217. package/dist/testing/require-act-result-capture/index.js +2 -0
  218. package/dist/testing/require-act-result-capture/rule.d.ts +4 -0
  219. package/dist/testing/require-act-result-capture/rule.d.ts.map +1 -0
  220. package/dist/testing/require-act-result-capture/rule.js +34 -0
  221. package/dist/testing/require-test-companion/index.d.ts +3 -0
  222. package/dist/testing/require-test-companion/index.d.ts.map +1 -0
  223. package/dist/testing/require-test-companion/index.js +3 -0
  224. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts +16 -0
  225. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  226. package/dist/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  227. package/dist/testing/require-test-companion/require-test-companion-options.d.ts +54 -0
  228. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  229. package/dist/testing/require-test-companion/require-test-companion-options.js +112 -0
  230. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts +51 -0
  231. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  232. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +183 -0
  233. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts +28 -0
  234. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  235. package/dist/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  236. package/dist/testing/require-test-companion/rule.d.ts +5 -0
  237. package/dist/testing/require-test-companion/rule.d.ts.map +1 -0
  238. package/dist/testing/require-test-companion/rule.js +57 -0
  239. package/dist/testing/require-test-companion/types.d.ts +11 -0
  240. package/dist/testing/require-test-companion/types.d.ts.map +1 -0
  241. package/dist/testing/require-test-companion/types.js +2 -0
  242. package/dist/testing/single-act-statement/index.d.ts +2 -0
  243. package/dist/testing/single-act-statement/index.d.ts.map +1 -0
  244. package/dist/testing/single-act-statement/index.js +2 -0
  245. package/dist/testing/single-act-statement/rule.d.ts +4 -0
  246. package/dist/testing/single-act-statement/rule.d.ts.map +1 -0
  247. package/dist/testing/single-act-statement/rule.js +33 -0
  248. package/package.json +106 -0
@@ -0,0 +1,36 @@
1
+ /** Minimal shared docs metadata shape for package-owned custom rules. */
2
+ interface CustomRuleDocumentation {
3
+ /** Human-readable rule description. */
4
+ description: string;
5
+ /** Canonical documentation URL for the rule. */
6
+ url: string;
7
+ }
8
+ /** Base URL for published custom rule documentation pages. */
9
+ declare const customRuleDocumentationBaseUrl = "https://github.com/codeperfect/eslint-plugin/blob/main/docs/rules";
10
+ /**
11
+ * Creates shared docs metadata for a package-owned custom rule.
12
+ * @param ruleName ESLint rule name without the plugin prefix.
13
+ * @param description Input description value.
14
+ * @returns Return value output.
15
+ * @example
16
+ * ```typescript
17
+ * const docs = createRuleDocumentation(
18
+ * "prefer-interface-types",
19
+ * "Rule description",
20
+ * );
21
+ * ```
22
+ */
23
+ declare function createRuleDocumentation(ruleName: string, description: string): CustomRuleDocumentation;
24
+ /**
25
+ * Builds the canonical documentation URL for a package-owned custom rule.
26
+ * @param ruleName ESLint rule name without the plugin prefix.
27
+ * @returns Return value output.
28
+ * @example
29
+ * ```typescript
30
+ * const url = getCustomRuleDocumentationUrl("prefer-interface-types");
31
+ * ```
32
+ */
33
+ declare function getCustomRuleDocumentationUrl(ruleName: string): string;
34
+ export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, };
35
+ export type { CustomRuleDocumentation };
36
+ //# sourceMappingURL=custom-rule-documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-rule-documentation.d.ts","sourceRoot":"","sources":["../src/custom-rule-documentation.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,UAAU,uBAAuB;IAC/B,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,8DAA8D;AAC9D,QAAA,MAAM,8BAA8B,sEACiC,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,uBAAuB,CAKzB;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,GAC9B,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /** Base URL for published custom rule documentation pages. */
2
+ const customRuleDocumentationBaseUrl = "https://github.com/codeperfect/eslint-plugin/blob/main/docs/rules";
3
+ /**
4
+ * Creates shared docs metadata for a package-owned custom rule.
5
+ * @param ruleName ESLint rule name without the plugin prefix.
6
+ * @param description Input description value.
7
+ * @returns Return value output.
8
+ * @example
9
+ * ```typescript
10
+ * const docs = createRuleDocumentation(
11
+ * "prefer-interface-types",
12
+ * "Rule description",
13
+ * );
14
+ * ```
15
+ */
16
+ function createRuleDocumentation(ruleName, description) {
17
+ return {
18
+ description,
19
+ url: getCustomRuleDocumentationUrl(ruleName),
20
+ };
21
+ }
22
+ /**
23
+ * Builds the canonical documentation URL for a package-owned custom rule.
24
+ * @param ruleName ESLint rule name without the plugin prefix.
25
+ * @returns Return value output.
26
+ * @example
27
+ * ```typescript
28
+ * const url = getCustomRuleDocumentationUrl("prefer-interface-types");
29
+ * ```
30
+ */
31
+ function getCustomRuleDocumentationUrl(ruleName) {
32
+ return `${customRuleDocumentationBaseUrl}/${ruleName}.md`;
33
+ }
34
+ export { createRuleDocumentation, customRuleDocumentationBaseUrl, getCustomRuleDocumentationUrl, };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGUtZG9jdW1lbnRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jdXN0b20tcnVsZS1kb2N1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLDhEQUE4RDtBQUM5RCxNQUFNLDhCQUE4QixHQUNsQyxtRUFBbUUsQ0FBQztBQUV0RTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFTLHVCQUF1QixDQUM5QixRQUFnQixFQUNoQixXQUFtQjtJQUVuQixPQUFPO1FBQ0wsV0FBVztRQUNYLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxRQUFRLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsNkJBQTZCLENBQUMsUUFBZ0I7SUFDckQsT0FBTyxHQUFHLDhCQUE4QixJQUFJLFFBQVEsS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBNaW5pbWFsIHNoYXJlZCBkb2NzIG1ldGFkYXRhIHNoYXBlIGZvciBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlcy4gKi9cbmludGVyZmFjZSBDdXN0b21SdWxlRG9jdW1lbnRhdGlvbiB7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBydWxlIGRlc2NyaXB0aW9uLiAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKiBDYW5vbmljYWwgZG9jdW1lbnRhdGlvbiBVUkwgZm9yIHRoZSBydWxlLiAqL1xuICB1cmw6IHN0cmluZztcbn1cblxuLyoqIEJhc2UgVVJMIGZvciBwdWJsaXNoZWQgY3VzdG9tIHJ1bGUgZG9jdW1lbnRhdGlvbiBwYWdlcy4gKi9cbmNvbnN0IGN1c3RvbVJ1bGVEb2N1bWVudGF0aW9uQmFzZVVybCA9XG4gIFwiaHR0cHM6Ly9naXRodWIuY29tL2NvZGVwZXJmZWN0L2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXNcIjtcblxuLyoqXG4gKiBDcmVhdGVzIHNoYXJlZCBkb2NzIG1ldGFkYXRhIGZvciBhIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGUuXG4gKiBAcGFyYW0gcnVsZU5hbWUgRVNMaW50IHJ1bGUgbmFtZSB3aXRob3V0IHRoZSBwbHVnaW4gcHJlZml4LlxuICogQHBhcmFtIGRlc2NyaXB0aW9uIElucHV0IGRlc2NyaXB0aW9uIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkb2NzID0gY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXG4gKiAgIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuICogICBcIlJ1bGUgZGVzY3JpcHRpb25cIixcbiAqICk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXG4gIHJ1bGVOYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4pOiBDdXN0b21SdWxlRG9jdW1lbnRhdGlvbiB7XG4gIHJldHVybiB7XG4gICAgZGVzY3JpcHRpb24sXG4gICAgdXJsOiBnZXRDdXN0b21SdWxlRG9jdW1lbnRhdGlvblVybChydWxlTmFtZSksXG4gIH07XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBjYW5vbmljYWwgZG9jdW1lbnRhdGlvbiBVUkwgZm9yIGEgcGFja2FnZS1vd25lZCBjdXN0b20gcnVsZS5cbiAqIEBwYXJhbSBydWxlTmFtZSBFU0xpbnQgcnVsZSBuYW1lIHdpdGhvdXQgdGhlIHBsdWdpbiBwcmVmaXguXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVybCA9IGdldEN1c3RvbVJ1bGVEb2N1bWVudGF0aW9uVXJsKFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRDdXN0b21SdWxlRG9jdW1lbnRhdGlvblVybChydWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke2N1c3RvbVJ1bGVEb2N1bWVudGF0aW9uQmFzZVVybH0vJHtydWxlTmFtZX0ubWRgO1xufVxuXG5leHBvcnQge1xuICBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbixcbiAgY3VzdG9tUnVsZURvY3VtZW50YXRpb25CYXNlVXJsLFxuICBnZXRDdXN0b21SdWxlRG9jdW1lbnRhdGlvblVybCxcbn07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVEb2N1bWVudGF0aW9uIH07XG4iXX0=
@@ -0,0 +1,61 @@
1
+ import type { Rule } from "eslint";
2
+ /** Internal registry entry for a package-owned custom rule. */
3
+ interface CustomRuleEntry {
4
+ /** ESLint rule implementation. */
5
+ rule: Rule.RuleModule;
6
+ /** ESLint rule name without the plugin prefix. */
7
+ ruleName: string;
8
+ }
9
+ /** Source-of-truth registry for all package-owned custom rules. */
10
+ declare const customRules: readonly [{
11
+ readonly rule: Rule.RuleModule;
12
+ readonly ruleName: "assert-actual-expected-names";
13
+ }, {
14
+ readonly rule: Rule.RuleModule;
15
+ readonly ruleName: "barrel-files-exports-only";
16
+ }, {
17
+ readonly rule: Rule.RuleModule;
18
+ readonly ruleName: "consistent-barrel-files";
19
+ }, {
20
+ readonly rule: Rule.RuleModule;
21
+ readonly ruleName: "enforce-aaa-phase-purity";
22
+ }, {
23
+ readonly rule: Rule.RuleModule;
24
+ readonly ruleName: "enforce-aaa-structure";
25
+ }, {
26
+ readonly rule: Rule.RuleModule;
27
+ readonly ruleName: "no-reexports-outside-barrels";
28
+ }, {
29
+ readonly rule: Rule.RuleModule;
30
+ readonly ruleName: "no-multiple-declarators";
31
+ }, {
32
+ readonly rule: Rule.RuleModule;
33
+ readonly ruleName: "prefer-interface-types";
34
+ }, {
35
+ readonly rule: Rule.RuleModule;
36
+ readonly ruleName: "no-interface-member-docs";
37
+ }, {
38
+ readonly rule: Rule.RuleModule;
39
+ readonly ruleName: "require-example-language";
40
+ }, {
41
+ readonly rule: Rule.RuleModule;
42
+ readonly ruleName: "single-line-jsdoc";
43
+ }, {
44
+ readonly rule: Rule.RuleModule;
45
+ readonly ruleName: "prefer-vi-mocked-import";
46
+ }, {
47
+ readonly rule: Rule.RuleModule;
48
+ readonly ruleName: "require-aaa-sections";
49
+ }, {
50
+ readonly rule: Rule.RuleModule;
51
+ readonly ruleName: "require-act-result-capture";
52
+ }, {
53
+ readonly rule: Rule.RuleModule;
54
+ readonly ruleName: "require-test-companion";
55
+ }, {
56
+ readonly rule: Rule.RuleModule;
57
+ readonly ruleName: "single-act-statement";
58
+ }];
59
+ export { customRules };
60
+ export type { CustomRuleEntry };
61
+ //# sourceMappingURL=custom-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-rules.d.ts","sourceRoot":"","sources":["../src/custom-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqBnC,+DAA+D;AAC/D,UAAU,eAAe;IACvB,kCAAkC;IAClC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiE8B,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./rules";
2
+ /** Source-of-truth registry for all package-owned custom rules. */
3
+ const customRules = [
4
+ {
5
+ rule: assertActualExpectedNamesRule,
6
+ ruleName: "assert-actual-expected-names",
7
+ },
8
+ {
9
+ rule: barrelFilesExportsOnlyRule,
10
+ ruleName: "barrel-files-exports-only",
11
+ },
12
+ {
13
+ rule: consistentBarrelFilesRule,
14
+ ruleName: "consistent-barrel-files",
15
+ },
16
+ {
17
+ rule: enforceAaaPhasePurityRule,
18
+ ruleName: "enforce-aaa-phase-purity",
19
+ },
20
+ {
21
+ rule: enforceAaaStructureRule,
22
+ ruleName: "enforce-aaa-structure",
23
+ },
24
+ {
25
+ rule: noReexportsOutsideBarrelsRule,
26
+ ruleName: "no-reexports-outside-barrels",
27
+ },
28
+ {
29
+ rule: noMultipleDeclaratorsRule,
30
+ ruleName: "no-multiple-declarators",
31
+ },
32
+ {
33
+ rule: preferInterfaceTypesRule,
34
+ ruleName: "prefer-interface-types",
35
+ },
36
+ {
37
+ rule: noInterfaceMemberDocumentationRule,
38
+ ruleName: "no-interface-member-docs",
39
+ },
40
+ {
41
+ rule: requireExampleLanguageRule,
42
+ ruleName: "require-example-language",
43
+ },
44
+ {
45
+ rule: singleLineJsdocRule,
46
+ ruleName: "single-line-jsdoc",
47
+ },
48
+ {
49
+ rule: preferViMockedImportRule,
50
+ ruleName: "prefer-vi-mocked-import",
51
+ },
52
+ {
53
+ rule: requireAaaSectionsRule,
54
+ ruleName: "require-aaa-sections",
55
+ },
56
+ {
57
+ rule: requireActResultCaptureRule,
58
+ ruleName: "require-act-result-capture",
59
+ },
60
+ {
61
+ rule: requireTestCompanionRule,
62
+ ruleName: "require-test-companion",
63
+ },
64
+ {
65
+ rule: singleActStatementRule,
66
+ ruleName: "single-act-statement",
67
+ },
68
+ ];
69
+ export { customRules };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sU0FBUyxDQUFDO0FBV2pCLG1FQUFtRTtBQUNuRSxNQUFNLFdBQVcsR0FBRztJQUNsQjtRQUNFLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxRQUFRLEVBQUUsMkJBQTJCO0tBQ3RDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixRQUFRLEVBQUUsdUJBQXVCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsa0NBQWtDO1FBQ3hDLFFBQVEsRUFBRSwwQkFBMEI7S0FDckM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixRQUFRLEVBQUUsbUJBQW1CO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWFhU2VjdGlvbnNSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuL3J1bGVzXCI7XG5cbi8qKiBJbnRlcm5hbCByZWdpc3RyeSBlbnRyeSBmb3IgYSBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlLiAqL1xuaW50ZXJmYWNlIEN1c3RvbVJ1bGVFbnRyeSB7XG4gIC8qKiBFU0xpbnQgcnVsZSBpbXBsZW1lbnRhdGlvbi4gKi9cbiAgcnVsZTogUnVsZS5SdWxlTW9kdWxlO1xuXG4gIC8qKiBFU0xpbnQgcnVsZSBuYW1lIHdpdGhvdXQgdGhlIHBsdWdpbiBwcmVmaXguICovXG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBTb3VyY2Utb2YtdHJ1dGggcmVnaXN0cnkgZm9yIGFsbCBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlcy4gKi9cbmNvbnN0IGN1c3RvbVJ1bGVzID0gW1xuICB7XG4gICAgcnVsZTogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gICAgcnVsZU5hbWU6IFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSxcbiAgICBydWxlTmFtZTogXCJlbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWFhYS1zZWN0aW9uc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
@@ -0,0 +1,4 @@
1
+ export { noInterfaceMemberDocumentationRule } from "./no-interface-member-docs";
2
+ export { requireExampleLanguageRule } from "./require-example-language";
3
+ export { singleLineJsdocRule } from "./single-line-jsdoc";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { noInterfaceMemberDocumentationRule } from "./no-interface-member-docs";
2
+ export { requireExampleLanguageRule } from "./require-example-language";
3
+ export { singleLineJsdocRule } from "./single-line-jsdoc";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUgfSBmcm9tIFwiLi9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjtcbmV4cG9ydCB7IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlIH0gZnJvbSBcIi4vcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCI7XG5leHBvcnQgeyBzaW5nbGVMaW5lSnNkb2NSdWxlIH0gZnJvbSBcIi4vc2luZ2xlLWxpbmUtanNkb2NcIjtcbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import type { Rule } from "eslint";
2
+ /** Type definition for rule data. */
3
+ type Comment = ReturnType<Rule.RuleContext["sourceCode"]["getAllComments"]>[number];
4
+ /** Type definition for rule data. */
5
+ interface DualJsdocContext {
6
+ /** Node field value. */
7
+ node: Rule.Node;
8
+ /** Second field value. */
9
+ second: Comment;
10
+ /** SourceCode field value. */
11
+ sourceCode: Rule.RuleContext["sourceCode"];
12
+ }
13
+ /** Type definition for rule data. */
14
+ interface JsdocLookupContext {
15
+ /** Node field value. */
16
+ node: Rule.Node;
17
+ /** SourceCode field value. */
18
+ sourceCode: Rule.RuleContext["sourceCode"];
19
+ }
20
+ /** Type definition for rule data. */
21
+ interface SingleJsdocContext {
22
+ /** Comment field value. */
23
+ comment: Comment;
24
+ /** Node field value. */
25
+ node: Rule.Node;
26
+ /** SourceCode field value. */
27
+ sourceCode: Rule.RuleContext["sourceCode"];
28
+ }
29
+ /**
30
+ * Creates a block comment value for tests.
31
+ * @param value Comment value without delimiters.
32
+ * @param range Comment range in the source text.
33
+ * @returns The comment object.
34
+ * @example
35
+ * ```typescript
36
+ * const comment = createComment("*\n * ok\n ", [0, 10]);
37
+ * ```
38
+ */
39
+ declare const createComment: (value: string, range?: [number, number]) => Comment;
40
+ /**
41
+ * Creates a source code wrapper with comments.
42
+ * @param text Full source text.
43
+ * @param comments Comment nodes to return.
44
+ * @returns SourceCode stub used in tests.
45
+ * @example
46
+ * ```typescript
47
+ * const sourceCode = createSourceCode("function demo() {}", []);
48
+ * ```
49
+ */
50
+ declare const createSourceCode: (text: string, comments: Comment[]) => Rule.RuleContext["sourceCode"];
51
+ /**
52
+ * Creates a context with two JSDoc comments.
53
+ * @returns The dual-comment context.
54
+ * @example
55
+ * ```typescript
56
+ * const context = createDualJsdocContext();
57
+ * ```
58
+ */
59
+ declare const createDualJsdocContext: () => DualJsdocContext;
60
+ /**
61
+ * Creates a context with a single JSDoc comment.
62
+ * @returns The single-comment context.
63
+ * @example
64
+ * ```typescript
65
+ * const context = createSingleJsdocContext();
66
+ * ```
67
+ */
68
+ declare const createSingleJsdocContext: () => SingleJsdocContext;
69
+ /**
70
+ * Creates a context with a non-JSDoc comment.
71
+ * @returns The lookup context.
72
+ * @example
73
+ * ```typescript
74
+ * const context = createNonJsdocContext();
75
+ * ```
76
+ */
77
+ declare const createNonJsdocContext: () => JsdocLookupContext;
78
+ /**
79
+ * Creates a context with a JSDoc comment missing range data.
80
+ * @returns The lookup context.
81
+ * @example
82
+ * ```typescript
83
+ * const context = createRangeMissingContext();
84
+ * ```
85
+ */
86
+ declare const createRangeMissingContext: () => JsdocLookupContext;
87
+ export { createComment, createDualJsdocContext, createNonJsdocContext, createRangeMissingContext, createSingleJsdocContext, createSourceCode, };
88
+ export type { Comment };
89
+ //# sourceMappingURL=comment-utilities-test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-utilities-test-helpers.d.ts","sourceRoot":"","sources":["../../../src/docs/no-interface-member-docs/comment-utilities-test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEhB,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;IAEhB,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEhB,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEhB,8BAA8B;IAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAC5C;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,OAKlD,CAAC;AAEhB;;;;;;;;;GASG;AACH,QAAA,MAAM,gBAAgB,GACpB,MAAM,MAAM,EACZ,UAAU,OAAO,EAAE,KAClB,IAAI,CAAC,WAAW,CAAC,YAAY,CAIM,CAAC;AAiBvC;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,QAAO,gBAkBlC,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,wBAAwB,QAAO,kBAYpC,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB,QAAO,kBAYjC,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,yBAAyB,QAAO,kBAWrC,CAAC;AAEF,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Creates a block comment value for tests.
3
+ * @param value Comment value without delimiters.
4
+ * @param range Comment range in the source text.
5
+ * @returns The comment object.
6
+ * @example
7
+ * ```typescript
8
+ * const comment = createComment("*\n * ok\n ", [0, 10]);
9
+ * ```
10
+ */
11
+ const createComment = (value, range) => ({
12
+ range,
13
+ type: "Block",
14
+ value,
15
+ });
16
+ /**
17
+ * Creates a source code wrapper with comments.
18
+ * @param text Full source text.
19
+ * @param comments Comment nodes to return.
20
+ * @returns SourceCode stub used in tests.
21
+ * @example
22
+ * ```typescript
23
+ * const sourceCode = createSourceCode("function demo() {}", []);
24
+ * ```
25
+ */
26
+ const createSourceCode = (text, comments) => ({
27
+ getAllComments: () => comments,
28
+ text,
29
+ });
30
+ /**
31
+ * Creates a function node for the test source text.
32
+ * @param sourceText Source content that includes a function.
33
+ * @returns Function declaration node used in tests.
34
+ * @example
35
+ * ```typescript
36
+ * const node = createFunctionNode("function demo() {}");
37
+ * ```
38
+ */
39
+ const createFunctionNode = (sourceText) => ({
40
+ range: [sourceText.indexOf("function"), sourceText.length],
41
+ type: "FunctionDeclaration",
42
+ });
43
+ /**
44
+ * Creates a context with two JSDoc comments.
45
+ * @returns The dual-comment context.
46
+ * @example
47
+ * ```typescript
48
+ * const context = createDualJsdocContext();
49
+ * ```
50
+ */
51
+ const createDualJsdocContext = () => {
52
+ const sourceText = [
53
+ "/**\n * first\n */",
54
+ "/**\n * second\n */",
55
+ "function demo() {}",
56
+ ].join("\n");
57
+ const firstStart = sourceText.indexOf("/**");
58
+ const firstEnd = sourceText.indexOf("*/") + 2;
59
+ const secondStart = sourceText.indexOf("/**", firstEnd);
60
+ const secondEnd = sourceText.indexOf("*/", secondStart) + 2;
61
+ const first = createComment("*\n * first\n ", [firstStart, firstEnd]);
62
+ const second = createComment("*\n * second\n ", [secondStart, secondEnd]);
63
+ return {
64
+ node: createFunctionNode(sourceText),
65
+ second,
66
+ sourceCode: createSourceCode(sourceText, [first, second]),
67
+ };
68
+ };
69
+ /**
70
+ * Creates a context with a single JSDoc comment.
71
+ * @returns The single-comment context.
72
+ * @example
73
+ * ```typescript
74
+ * const context = createSingleJsdocContext();
75
+ * ```
76
+ */
77
+ const createSingleJsdocContext = () => {
78
+ const sourceText = ["/**\n * ok\n */", "function demo() {}"].join("\n");
79
+ const comment = createComment("*\n * ok\n ", [
80
+ 0,
81
+ sourceText.indexOf("*/") + 2,
82
+ ]);
83
+ return {
84
+ comment,
85
+ node: createFunctionNode(sourceText),
86
+ sourceCode: createSourceCode(sourceText, [comment]),
87
+ };
88
+ };
89
+ /**
90
+ * Creates a context with a non-JSDoc comment.
91
+ * @returns The lookup context.
92
+ * @example
93
+ * ```typescript
94
+ * const context = createNonJsdocContext();
95
+ * ```
96
+ */
97
+ const createNonJsdocContext = () => {
98
+ const sourceText = "// line\nfunction demo() {}";
99
+ const comment = {
100
+ range: [0, 7],
101
+ type: "Line",
102
+ value: " line",
103
+ };
104
+ return {
105
+ node: createFunctionNode(sourceText),
106
+ sourceCode: createSourceCode(sourceText, [comment]),
107
+ };
108
+ };
109
+ /**
110
+ * Creates a context with a JSDoc comment missing range data.
111
+ * @returns The lookup context.
112
+ * @example
113
+ * ```typescript
114
+ * const context = createRangeMissingContext();
115
+ * ```
116
+ */
117
+ const createRangeMissingContext = () => {
118
+ const sourceText = "function demo() {}";
119
+ const comment = {
120
+ type: "Block",
121
+ value: "*\n * ok\n ",
122
+ };
123
+ return {
124
+ node: createFunctionNode(sourceText),
125
+ sourceCode: createSourceCode(sourceText, [comment]),
126
+ };
127
+ };
128
+ export { createComment, createDualJsdocContext, createNonJsdocContext, createRangeMissingContext, createSingleJsdocContext, createSourceCode, };
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC11dGlsaXRpZXMtdGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL2NvbW1lbnQtdXRpbGl0aWVzLXRlc3QtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3Q0E7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBd0IsRUFBVyxFQUFFLENBQ3pFLENBQUM7SUFDQyxLQUFLO0lBQ0wsSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLO0NBQ04sQ0FBWSxDQUFDO0FBRWhCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsSUFBWSxFQUNaLFFBQW1CLEVBQ2EsRUFBRSxDQUNsQyxDQUFDO0lBQ0MsY0FBYyxFQUFFLEdBQWMsRUFBRSxDQUFDLFFBQVE7SUFDekMsSUFBSTtDQUNMLENBQW1DLENBQUM7QUFFdkM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBa0IsRUFBYSxFQUFFLENBQzNELENBQUM7SUFDQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDMUQsSUFBSSxFQUFFLHFCQUFxQjtDQUM1QixDQUFjLENBQUM7QUFFbEI7Ozs7Ozs7R0FPRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsR0FBcUIsRUFBRTtJQUNwRCxNQUFNLFVBQVUsR0FBRztRQUNqQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLG9CQUFvQjtLQUNyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNiLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRTFFLE9BQU87UUFDTCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1FBQ3BDLE1BQU07UUFDTixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzFELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxHQUF1QixFQUFFO0lBQ3hELE1BQU0sVUFBVSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLGFBQWEsRUFBRTtRQUMzQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQzdCLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxPQUFPO1FBQ1AsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUNwQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEdBQXVCLEVBQUU7SUFDckQsTUFBTSxVQUFVLEdBQUcsNkJBQTZCLENBQUM7SUFDakQsTUFBTSxPQUFPLEdBQUc7UUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUUsT0FBTztLQUNKLENBQUM7SUFFYixPQUFPO1FBQ0wsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUNwQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLHlCQUF5QixHQUFHLEdBQXVCLEVBQUU7SUFDekQsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQUc7UUFDZCxJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxhQUFhO0tBQ1YsQ0FBQztJQUViLE9BQU87UUFDTCxJQUFJLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1FBQ3BDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNwRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIER1YWxKc2RvY0NvbnRleHQge1xuICAvKiogTm9kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbm9kZTogUnVsZS5Ob2RlO1xuXG4gIC8qKiBTZWNvbmQgZmllbGQgdmFsdWUuICovXG4gIHNlY29uZDogQ29tbWVudDtcblxuICAvKiogU291cmNlQ29kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBKc2RvY0xvb2t1cENvbnRleHQge1xuICAvKiogTm9kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbm9kZTogUnVsZS5Ob2RlO1xuXG4gIC8qKiBTb3VyY2VDb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VDb2RlOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFNpbmdsZUpzZG9jQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBOb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBub2RlOiBSdWxlLk5vZGU7XG5cbiAgLyoqIFNvdXJjZUNvZGUgZmllbGQgdmFsdWUuICovXG4gIHNvdXJjZUNvZGU6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBibG9jayBjb21tZW50IHZhbHVlIGZvciB0ZXN0cy5cbiAqIEBwYXJhbSB2YWx1ZSBDb21tZW50IHZhbHVlIHdpdGhvdXQgZGVsaW1pdGVycy5cbiAqIEBwYXJhbSByYW5nZSBDb21tZW50IHJhbmdlIGluIHRoZSBzb3VyY2UgdGV4dC5cbiAqIEByZXR1cm5zIFRoZSBjb21tZW50IG9iamVjdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gY3JlYXRlQ29tbWVudChcIipcXG4gKiBva1xcbiBcIiwgWzAsIDEwXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlQ29tbWVudCA9ICh2YWx1ZTogc3RyaW5nLCByYW5nZT86IFtudW1iZXIsIG51bWJlcl0pOiBDb21tZW50ID0+XG4gICh7XG4gICAgcmFuZ2UsXG4gICAgdHlwZTogXCJCbG9ja1wiLFxuICAgIHZhbHVlLFxuICB9KSBhcyBDb21tZW50O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzb3VyY2UgY29kZSB3cmFwcGVyIHdpdGggY29tbWVudHMuXG4gKiBAcGFyYW0gdGV4dCBGdWxsIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIGNvbW1lbnRzIENvbW1lbnQgbm9kZXMgdG8gcmV0dXJuLlxuICogQHJldHVybnMgU291cmNlQ29kZSBzdHViIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlQ29kZSA9IGNyZWF0ZVNvdXJjZUNvZGUoXCJmdW5jdGlvbiBkZW1vKCkge31cIiwgW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVNvdXJjZUNvZGUgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgY29tbWVudHM6IENvbW1lbnRbXSxcbik6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdID0+XG4gICh7XG4gICAgZ2V0QWxsQ29tbWVudHM6ICgpOiBDb21tZW50W10gPT4gY29tbWVudHMsXG4gICAgdGV4dCxcbiAgfSkgYXMgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIG5vZGUgZm9yIHRoZSB0ZXN0IHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIGNvbnRlbnQgdGhhdCBpbmNsdWRlcyBhIGZ1bmN0aW9uLlxuICogQHJldHVybnMgRnVuY3Rpb24gZGVjbGFyYXRpb24gbm9kZSB1c2VkIGluIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBjcmVhdGVGdW5jdGlvbk5vZGUoXCJmdW5jdGlvbiBkZW1vKCkge31cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRnVuY3Rpb25Ob2RlID0gKHNvdXJjZVRleHQ6IHN0cmluZyk6IFJ1bGUuTm9kZSA9PlxuICAoe1xuICAgIHJhbmdlOiBbc291cmNlVGV4dC5pbmRleE9mKFwiZnVuY3Rpb25cIiksIHNvdXJjZVRleHQubGVuZ3RoXSxcbiAgICB0eXBlOiBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixcbiAgfSkgYXMgUnVsZS5Ob2RlO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250ZXh0IHdpdGggdHdvIEpTRG9jIGNvbW1lbnRzLlxuICogQHJldHVybnMgVGhlIGR1YWwtY29tbWVudCBjb250ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVEdWFsSnNkb2NDb250ZXh0KCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRHVhbEpzZG9jQ29udGV4dCA9ICgpOiBEdWFsSnNkb2NDb250ZXh0ID0+IHtcbiAgY29uc3Qgc291cmNlVGV4dCA9IFtcbiAgICBcIi8qKlxcbiAqIGZpcnN0XFxuICovXCIsXG4gICAgXCIvKipcXG4gKiBzZWNvbmRcXG4gKi9cIixcbiAgICBcImZ1bmN0aW9uIGRlbW8oKSB7fVwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG4gIGNvbnN0IGZpcnN0U3RhcnQgPSBzb3VyY2VUZXh0LmluZGV4T2YoXCIvKipcIik7XG4gIGNvbnN0IGZpcnN0RW5kID0gc291cmNlVGV4dC5pbmRleE9mKFwiKi9cIikgKyAyO1xuICBjb25zdCBzZWNvbmRTdGFydCA9IHNvdXJjZVRleHQuaW5kZXhPZihcIi8qKlwiLCBmaXJzdEVuZCk7XG4gIGNvbnN0IHNlY29uZEVuZCA9IHNvdXJjZVRleHQuaW5kZXhPZihcIiovXCIsIHNlY29uZFN0YXJ0KSArIDI7XG4gIGNvbnN0IGZpcnN0ID0gY3JlYXRlQ29tbWVudChcIipcXG4gKiBmaXJzdFxcbiBcIiwgW2ZpcnN0U3RhcnQsIGZpcnN0RW5kXSk7XG4gIGNvbnN0IHNlY29uZCA9IGNyZWF0ZUNvbW1lbnQoXCIqXFxuICogc2Vjb25kXFxuIFwiLCBbc2Vjb25kU3RhcnQsIHNlY29uZEVuZF0pO1xuXG4gIHJldHVybiB7XG4gICAgbm9kZTogY3JlYXRlRnVuY3Rpb25Ob2RlKHNvdXJjZVRleHQpLFxuICAgIHNlY29uZCxcbiAgICBzb3VyY2VDb2RlOiBjcmVhdGVTb3VyY2VDb2RlKHNvdXJjZVRleHQsIFtmaXJzdCwgc2Vjb25kXSksXG4gIH07XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250ZXh0IHdpdGggYSBzaW5nbGUgSlNEb2MgY29tbWVudC5cbiAqIEByZXR1cm5zIFRoZSBzaW5nbGUtY29tbWVudCBjb250ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVTaW5nbGVKc2RvY0NvbnRleHQoKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVTaW5nbGVKc2RvY0NvbnRleHQgPSAoKTogU2luZ2xlSnNkb2NDb250ZXh0ID0+IHtcbiAgY29uc3Qgc291cmNlVGV4dCA9IFtcIi8qKlxcbiAqIG9rXFxuICovXCIsIFwiZnVuY3Rpb24gZGVtbygpIHt9XCJdLmpvaW4oXCJcXG5cIik7XG4gIGNvbnN0IGNvbW1lbnQgPSBjcmVhdGVDb21tZW50KFwiKlxcbiAqIG9rXFxuIFwiLCBbXG4gICAgMCxcbiAgICBzb3VyY2VUZXh0LmluZGV4T2YoXCIqL1wiKSArIDIsXG4gIF0pO1xuXG4gIHJldHVybiB7XG4gICAgY29tbWVudCxcbiAgICBub2RlOiBjcmVhdGVGdW5jdGlvbk5vZGUoc291cmNlVGV4dCksXG4gICAgc291cmNlQ29kZTogY3JlYXRlU291cmNlQ29kZShzb3VyY2VUZXh0LCBbY29tbWVudF0pLFxuICB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGV4dCB3aXRoIGEgbm9uLUpTRG9jIGNvbW1lbnQuXG4gKiBAcmV0dXJucyBUaGUgbG9va3VwIGNvbnRleHQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGV4dCA9IGNyZWF0ZU5vbkpzZG9jQ29udGV4dCgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZU5vbkpzZG9jQ29udGV4dCA9ICgpOiBKc2RvY0xvb2t1cENvbnRleHQgPT4ge1xuICBjb25zdCBzb3VyY2VUZXh0ID0gXCIvLyBsaW5lXFxuZnVuY3Rpb24gZGVtbygpIHt9XCI7XG4gIGNvbnN0IGNvbW1lbnQgPSB7XG4gICAgcmFuZ2U6IFswLCA3XSxcbiAgICB0eXBlOiBcIkxpbmVcIixcbiAgICB2YWx1ZTogXCIgbGluZVwiLFxuICB9IGFzIENvbW1lbnQ7XG5cbiAgcmV0dXJuIHtcbiAgICBub2RlOiBjcmVhdGVGdW5jdGlvbk5vZGUoc291cmNlVGV4dCksXG4gICAgc291cmNlQ29kZTogY3JlYXRlU291cmNlQ29kZShzb3VyY2VUZXh0LCBbY29tbWVudF0pLFxuICB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGV4dCB3aXRoIGEgSlNEb2MgY29tbWVudCBtaXNzaW5nIHJhbmdlIGRhdGEuXG4gKiBAcmV0dXJucyBUaGUgbG9va3VwIGNvbnRleHQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGV4dCA9IGNyZWF0ZVJhbmdlTWlzc2luZ0NvbnRleHQoKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVSYW5nZU1pc3NpbmdDb250ZXh0ID0gKCk6IEpzZG9jTG9va3VwQ29udGV4dCA9PiB7XG4gIGNvbnN0IHNvdXJjZVRleHQgPSBcImZ1bmN0aW9uIGRlbW8oKSB7fVwiO1xuICBjb25zdCBjb21tZW50ID0ge1xuICAgIHR5cGU6IFwiQmxvY2tcIixcbiAgICB2YWx1ZTogXCIqXFxuICogb2tcXG4gXCIsXG4gIH0gYXMgQ29tbWVudDtcblxuICByZXR1cm4ge1xuICAgIG5vZGU6IGNyZWF0ZUZ1bmN0aW9uTm9kZShzb3VyY2VUZXh0KSxcbiAgICBzb3VyY2VDb2RlOiBjcmVhdGVTb3VyY2VDb2RlKHNvdXJjZVRleHQsIFtjb21tZW50XSksXG4gIH07XG59O1xuXG5leHBvcnQge1xuICBjcmVhdGVDb21tZW50LFxuICBjcmVhdGVEdWFsSnNkb2NDb250ZXh0LFxuICBjcmVhdGVOb25Kc2RvY0NvbnRleHQsXG4gIGNyZWF0ZVJhbmdlTWlzc2luZ0NvbnRleHQsXG4gIGNyZWF0ZVNpbmdsZUpzZG9jQ29udGV4dCxcbiAgY3JlYXRlU291cmNlQ29kZSxcbn07XG5leHBvcnQgdHlwZSB7IENvbW1lbnQgfTtcbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import type { Rule } from "eslint";
2
+ import type { Comment, CommentLine } from "./types";
3
+ /**
4
+ * Gets the closest JSDoc comment for a node.
5
+ * @param sourceCode Source code wrapper.
6
+ * @param node Node to inspect.
7
+ * @returns The closest JSDoc comment when present.
8
+ * @example
9
+ * ```typescript
10
+ * const comment = getJsdocComment(sourceCode, node);
11
+ * ```
12
+ */
13
+ declare const getJsdocComment: (sourceCode: Rule.RuleContext["sourceCode"], node: Rule.Node) => Comment | undefined;
14
+ /**
15
+ * Extracts the full text for a comment range.
16
+ * @param sourceCode Source code wrapper.
17
+ * @param comment Comment to read.
18
+ * @returns Comment contents from the source.
19
+ * @example
20
+ * ```typescript
21
+ * const text = getCommentText(sourceCode, comment);
22
+ * ```
23
+ */
24
+ declare const getCommentText: (sourceCode: Rule.RuleContext["sourceCode"], comment: Comment) => string;
25
+ /**
26
+ * Gets getCommentLines.
27
+ * @param commentText Input commentText value.
28
+ * @returns Return value output.
29
+ * @example
30
+ * ```typescript
31
+ * getCommentLines();
32
+ * ```
33
+ */
34
+ declare const getCommentLines: (commentText: string) => CommentLine[];
35
+ /**
36
+ * Builds a removal range for the specified comment line.
37
+ * @param commentStart Comment start offset in the source.
38
+ * @param commentText Full comment text.
39
+ * @param line Line metadata for the comment.
40
+ * @returns The range to remove.
41
+ * @example
42
+ * ```typescript
43
+ * const range = buildRemovalRange(0, commentText, line);
44
+ * ```
45
+ */
46
+ declare const buildRemovalRange: (commentStart: number, commentText: string, line: CommentLine) => [number, number];
47
+ export { buildRemovalRange, getCommentLines, getCommentText, getJsdocComment };
48
+ //# sourceMappingURL=comment-utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment-utilities.d.ts","sourceRoot":"","sources":["../../../src/docs/no-interface-member-docs/comment-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA2DpD;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GACnB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,MAAM,IAAI,CAAC,IAAI,KACd,OAAO,GAAG,SASZ,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAClB,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1C,SAAS,OAAO,KACf,MASF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,aAAa,MAAM,KAAG,WAAW,EAyBzD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,iBAAiB,GACrB,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,MAAM,WAAW,KAChB,CAAC,MAAM,EAAE,MAAM,CAuBjB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}