@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.
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +16 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +131 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +48 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +126 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +40 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +90 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts +11 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/exports-only-rule.js +218 -0
- package/dist/architecture/consistent-barrel-files/index.d.ts +5 -0
- package/dist/architecture/consistent-barrel-files/index.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/index.js +4 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +11 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +100 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +40 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +90 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +65 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +154 -0
- package/dist/architecture/consistent-barrel-files/rule.d.ts +11 -0
- package/dist/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/rule.js +58 -0
- package/dist/architecture/consistent-barrel-files/test-helpers.d.ts +141 -0
- package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/test-helpers.js +229 -0
- package/dist/architecture/consistent-barrel-files/types.d.ts +25 -0
- package/dist/architecture/consistent-barrel-files/types.d.ts.map +1 -0
- package/dist/architecture/consistent-barrel-files/types.js +2 -0
- package/dist/architecture/index.d.ts +2 -0
- package/dist/architecture/index.d.ts.map +1 -0
- package/dist/architecture/index.js +2 -0
- package/dist/benchmark-rules.d.ts +83 -0
- package/dist/benchmark-rules.d.ts.map +1 -0
- package/dist/benchmark-rules.js +175 -0
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/codeperfect-plugin.d.ts +46 -0
- package/dist/codeperfect-plugin.d.ts.map +1 -0
- package/dist/codeperfect-plugin.js +29 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/no-multiple-declarators/index.d.ts +2 -0
- package/dist/core/no-multiple-declarators/index.d.ts.map +1 -0
- package/dist/core/no-multiple-declarators/index.js +2 -0
- package/dist/core/no-multiple-declarators/rule.d.ts +4 -0
- package/dist/core/no-multiple-declarators/rule.d.ts.map +1 -0
- package/dist/core/no-multiple-declarators/rule.js +100 -0
- package/dist/core/prefer-interface-types/index.d.ts +2 -0
- package/dist/core/prefer-interface-types/index.d.ts.map +1 -0
- package/dist/core/prefer-interface-types/index.js +2 -0
- package/dist/core/prefer-interface-types/rule.d.ts +5 -0
- package/dist/core/prefer-interface-types/rule.d.ts.map +1 -0
- package/dist/core/prefer-interface-types/rule.js +145 -0
- package/dist/core/prefer-interface-types/test-helpers.d.ts +110 -0
- package/dist/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
- package/dist/core/prefer-interface-types/test-helpers.js +116 -0
- package/dist/custom-rule-documentation.d.ts +36 -0
- package/dist/custom-rule-documentation.d.ts.map +1 -0
- package/dist/custom-rule-documentation.js +35 -0
- package/dist/custom-rules.d.ts +61 -0
- package/dist/custom-rules.d.ts.map +1 -0
- package/dist/custom-rules.js +70 -0
- package/dist/docs/index.d.ts +4 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +4 -0
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +89 -0
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
- package/dist/docs/no-interface-member-docs/comment-utilities.d.ts +48 -0
- package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/comment-utilities.js +146 -0
- package/dist/docs/no-interface-member-docs/index.d.ts +2 -0
- package/dist/docs/no-interface-member-docs/index.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/index.js +2 -0
- package/dist/docs/no-interface-member-docs/parameter-tags.d.ts +13 -0
- package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/parameter-tags.js +101 -0
- package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts +24 -0
- package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/parameter-utilities.js +125 -0
- package/dist/docs/no-interface-member-docs/rule.d.ts +5 -0
- package/dist/docs/no-interface-member-docs/rule.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/rule.js +168 -0
- package/dist/docs/no-interface-member-docs/test-helpers.d.ts +103 -0
- package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/test-helpers.js +157 -0
- package/dist/docs/no-interface-member-docs/types.d.ts +30 -0
- package/dist/docs/no-interface-member-docs/types.d.ts.map +1 -0
- package/dist/docs/no-interface-member-docs/types.js +2 -0
- package/dist/docs/require-example-language/empty-fence-fixes.d.ts +29 -0
- package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
- package/dist/docs/require-example-language/empty-fence-fixes.js +169 -0
- package/dist/docs/require-example-language/example-utilities.d.ts +70 -0
- package/dist/docs/require-example-language/example-utilities.d.ts.map +1 -0
- package/dist/docs/require-example-language/example-utilities.js +76 -0
- package/dist/docs/require-example-language/examples.d.ts +36 -0
- package/dist/docs/require-example-language/examples.d.ts.map +1 -0
- package/dist/docs/require-example-language/examples.js +181 -0
- package/dist/docs/require-example-language/fixes.d.ts +49 -0
- package/dist/docs/require-example-language/fixes.d.ts.map +1 -0
- package/dist/docs/require-example-language/fixes.js +182 -0
- package/dist/docs/require-example-language/index.d.ts +3 -0
- package/dist/docs/require-example-language/index.d.ts.map +1 -0
- package/dist/docs/require-example-language/index.js +2 -0
- package/dist/docs/require-example-language/reporting.d.ts +60 -0
- package/dist/docs/require-example-language/reporting.d.ts.map +1 -0
- package/dist/docs/require-example-language/reporting.js +145 -0
- package/dist/docs/require-example-language/rule.d.ts +7 -0
- package/dist/docs/require-example-language/rule.d.ts.map +1 -0
- package/dist/docs/require-example-language/rule.js +34 -0
- package/dist/docs/require-example-language/types.d.ts +22 -0
- package/dist/docs/require-example-language/types.d.ts.map +1 -0
- package/dist/docs/require-example-language/types.js +2 -0
- package/dist/docs/single-line-jsdoc/index.d.ts +2 -0
- package/dist/docs/single-line-jsdoc/index.d.ts.map +1 -0
- package/dist/docs/single-line-jsdoc/index.js +2 -0
- package/dist/docs/single-line-jsdoc/rule.d.ts +5 -0
- package/dist/docs/single-line-jsdoc/rule.d.ts.map +1 -0
- package/dist/docs/single-line-jsdoc/rule.js +196 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts +16 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +25 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
- package/dist/docs/test-helpers.d.ts +50 -0
- package/dist/docs/test-helpers.d.ts.map +1 -0
- package/dist/docs/test-helpers.js +107 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/presets.d.ts +10 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +50 -0
- package/dist/rules/index.d.ts +5 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +6 -0
- package/dist/testing/aaa/analyzer.d.ts +36 -0
- package/dist/testing/aaa/analyzer.d.ts.map +1 -0
- package/dist/testing/aaa/analyzer.js +490 -0
- package/dist/testing/aaa/index.d.ts +3 -0
- package/dist/testing/aaa/index.d.ts.map +1 -0
- package/dist/testing/aaa/index.js +2 -0
- package/dist/testing/aaa/types.d.ts +31 -0
- package/dist/testing/aaa/types.d.ts.map +1 -0
- package/dist/testing/aaa/types.js +2 -0
- package/dist/testing/assert-actual-expected-names/index.d.ts +2 -0
- package/dist/testing/assert-actual-expected-names/index.d.ts.map +1 -0
- package/dist/testing/assert-actual-expected-names/index.js +2 -0
- package/dist/testing/assert-actual-expected-names/rule.d.ts +4 -0
- package/dist/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
- package/dist/testing/assert-actual-expected-names/rule.js +54 -0
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
- package/dist/testing/enforce-aaa-phase-purity/index.js +2 -0
- package/dist/testing/enforce-aaa-phase-purity/rule.d.ts +4 -0
- package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
- package/dist/testing/enforce-aaa-phase-purity/rule.js +110 -0
- package/dist/testing/enforce-aaa-structure/index.d.ts +2 -0
- package/dist/testing/enforce-aaa-structure/index.d.ts.map +1 -0
- package/dist/testing/enforce-aaa-structure/index.js +2 -0
- package/dist/testing/enforce-aaa-structure/rule.d.ts +4 -0
- package/dist/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
- package/dist/testing/enforce-aaa-structure/rule.js +48 -0
- package/dist/testing/index.d.ts +9 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +9 -0
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts +16 -0
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/fix.js +224 -0
- package/dist/testing/prefer-vi-mocked-import/index.d.ts +2 -0
- package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/index.js +2 -0
- package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts +16 -0
- package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
- package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts +16 -0
- package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-declarations.js +99 -0
- package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts +66 -0
- package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
- package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts +17 -0
- package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-imports.js +156 -0
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts +42 -0
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
- package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts +13 -0
- package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match-walk.js +62 -0
- package/dist/testing/prefer-vi-mocked-import/match.d.ts +15 -0
- package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/match.js +193 -0
- package/dist/testing/prefer-vi-mocked-import/rule.d.ts +5 -0
- package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/rule.js +32 -0
- package/dist/testing/prefer-vi-mocked-import/types.d.ts +83 -0
- package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
- package/dist/testing/prefer-vi-mocked-import/types.js +2 -0
- package/dist/testing/require-aaa-sections/index.d.ts +2 -0
- package/dist/testing/require-aaa-sections/index.d.ts.map +1 -0
- package/dist/testing/require-aaa-sections/index.js +2 -0
- package/dist/testing/require-aaa-sections/rule.d.ts +4 -0
- package/dist/testing/require-aaa-sections/rule.d.ts.map +1 -0
- package/dist/testing/require-aaa-sections/rule.js +111 -0
- package/dist/testing/require-act-result-capture/index.d.ts +2 -0
- package/dist/testing/require-act-result-capture/index.d.ts.map +1 -0
- package/dist/testing/require-act-result-capture/index.js +2 -0
- package/dist/testing/require-act-result-capture/rule.d.ts +4 -0
- package/dist/testing/require-act-result-capture/rule.d.ts.map +1 -0
- package/dist/testing/require-act-result-capture/rule.js +34 -0
- package/dist/testing/require-test-companion/index.d.ts +3 -0
- package/dist/testing/require-test-companion/index.d.ts.map +1 -0
- package/dist/testing/require-test-companion/index.js +3 -0
- package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts +16 -0
- package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
- package/dist/testing/require-test-companion/require-test-companion-listeners.js +145 -0
- package/dist/testing/require-test-companion/require-test-companion-options.d.ts +54 -0
- package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
- package/dist/testing/require-test-companion/require-test-companion-options.js +112 -0
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts +51 -0
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +183 -0
- package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts +28 -0
- package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
- package/dist/testing/require-test-companion/require-test-companion-utilities.js +26 -0
- package/dist/testing/require-test-companion/rule.d.ts +5 -0
- package/dist/testing/require-test-companion/rule.d.ts.map +1 -0
- package/dist/testing/require-test-companion/rule.js +57 -0
- package/dist/testing/require-test-companion/types.d.ts +11 -0
- package/dist/testing/require-test-companion/types.d.ts.map +1 -0
- package/dist/testing/require-test-companion/types.js +2 -0
- package/dist/testing/single-act-statement/index.d.ts +2 -0
- package/dist/testing/single-act-statement/index.d.ts.map +1 -0
- package/dist/testing/single-act-statement/index.js +2 -0
- package/dist/testing/single-act-statement/rule.d.ts +4 -0
- package/dist/testing/single-act-statement/rule.d.ts.map +1 -0
- package/dist/testing/single-act-statement/rule.js +33 -0
- 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 @@
|
|
|
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"}
|