@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,229 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Creates a temporary repo directory under the given root.
|
|
5
|
+
* @param root Root folder for temp files.
|
|
6
|
+
* @returns The generated directory path.
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const directory = createRepoDirectory("tmp");
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
const createRepoDirectory = (root) => {
|
|
13
|
+
const baseDirectory = path.join(process.cwd(), root);
|
|
14
|
+
fs.mkdirSync(baseDirectory, { recursive: true });
|
|
15
|
+
return fs.mkdtempSync(path.join(baseDirectory, "barrel-files-"));
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Creates a program wrapper around the supplied AST body.
|
|
19
|
+
* @param body Program body statements.
|
|
20
|
+
* @returns The AST program.
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const program = createProgram([]);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
const createProgram = (body) => ({
|
|
27
|
+
body,
|
|
28
|
+
comments: [],
|
|
29
|
+
loc: {
|
|
30
|
+
end: { column: 0, line: 1 },
|
|
31
|
+
start: { column: 0, line: 1 },
|
|
32
|
+
},
|
|
33
|
+
range: [0, 0],
|
|
34
|
+
sourceType: "module",
|
|
35
|
+
tokens: [],
|
|
36
|
+
type: "Program",
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Creates an ESTree literal node.
|
|
40
|
+
* @param value Literal string to wrap.
|
|
41
|
+
* @returns The literal node.
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const literal = createLiteral("./feature");
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
const createLiteral = (value) => ({
|
|
48
|
+
raw: `'${value}'`,
|
|
49
|
+
type: "Literal",
|
|
50
|
+
value,
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Creates an ESTree identifier node.
|
|
54
|
+
* @param name Identifier to create.
|
|
55
|
+
* @returns The identifier node.
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const id = createIdentifier("all");
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
const createIdentifier = (name) => ({ name, type: "Identifier" });
|
|
62
|
+
/**
|
|
63
|
+
* Creates an ESTree export specifier.
|
|
64
|
+
* @param localName Local identifier name.
|
|
65
|
+
* @param exportedName Exported identifier name.
|
|
66
|
+
* @returns Export specifier node.
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const specifier = createExportSpecifier("feature");
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
const createExportSpecifier = (localName, exportedName = localName) => ({
|
|
73
|
+
exported: createIdentifier(exportedName),
|
|
74
|
+
local: createIdentifier(localName),
|
|
75
|
+
type: "ExportSpecifier",
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* Creates an ESTree import specifier.
|
|
79
|
+
* @param localName Local identifier name.
|
|
80
|
+
* @param importedName Imported identifier name.
|
|
81
|
+
* @returns Import specifier node.
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const specifier = createImportSpecifier("feature");
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
const createImportSpecifier = (localName, importedName = localName) => ({
|
|
88
|
+
imported: createIdentifier(importedName),
|
|
89
|
+
local: createIdentifier(localName),
|
|
90
|
+
type: "ImportSpecifier",
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* Creates an ESTree import default specifier.
|
|
94
|
+
* @param localName Local identifier name.
|
|
95
|
+
* @returns Import default specifier node.
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const specifier = createImportDefaultSpecifier("feature");
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
const createImportDefaultSpecifier = (localName) => ({
|
|
102
|
+
local: createIdentifier(localName),
|
|
103
|
+
type: "ImportDefaultSpecifier",
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Creates an import declaration for test fixtures.
|
|
107
|
+
* @param specifiers Specifiers to include.
|
|
108
|
+
* @returns Import declaration node for tests.
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const node = createImportDeclaration([createImportSpecifier("feature")]);
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
const createImportDeclaration = (specifiers = []) => ({
|
|
115
|
+
attributes: [],
|
|
116
|
+
source: createLiteral("./feature"),
|
|
117
|
+
specifiers,
|
|
118
|
+
type: "ImportDeclaration",
|
|
119
|
+
});
|
|
120
|
+
/**
|
|
121
|
+
* Creates an export-all declaration for test fixtures.
|
|
122
|
+
* @returns The export-all declaration node.
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const node = createExportAll();
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
const createExportAll = () => ({
|
|
129
|
+
attributes: [],
|
|
130
|
+
exported: createIdentifier("all"),
|
|
131
|
+
source: createLiteral("./feature"),
|
|
132
|
+
type: "ExportAllDeclaration",
|
|
133
|
+
});
|
|
134
|
+
/**
|
|
135
|
+
* Creates a named export-from declaration for test fixtures.
|
|
136
|
+
* @returns Export declaration node for tests.
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const node = createExportNamedFrom();
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
const createExportNamedFrom = () => ({
|
|
143
|
+
attributes: [],
|
|
144
|
+
source: createLiteral("./feature"),
|
|
145
|
+
specifiers: [],
|
|
146
|
+
type: "ExportNamedDeclaration",
|
|
147
|
+
});
|
|
148
|
+
/**
|
|
149
|
+
* Creates a named export with a local declaration.
|
|
150
|
+
* @returns Export declaration node for tests.
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const node = createExportWithDeclaration();
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
const createExportWithDeclaration = () => {
|
|
157
|
+
const declaration = {
|
|
158
|
+
declarations: [],
|
|
159
|
+
kind: "const",
|
|
160
|
+
type: "VariableDeclaration",
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
attributes: [],
|
|
164
|
+
declaration,
|
|
165
|
+
specifiers: [],
|
|
166
|
+
type: "ExportNamedDeclaration",
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Creates a named export without a source value.
|
|
171
|
+
* @param specifiers Export specifiers to include.
|
|
172
|
+
* @returns Export declaration node for tests.
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const node = createExportWithoutSource([createExportSpecifier("feature")]);
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
const createExportWithoutSource = (specifiers = []) => ({
|
|
179
|
+
attributes: [],
|
|
180
|
+
specifiers,
|
|
181
|
+
type: "ExportNamedDeclaration",
|
|
182
|
+
});
|
|
183
|
+
/**
|
|
184
|
+
* Creates a default export for an identifier.
|
|
185
|
+
* @param name Identifier to export.
|
|
186
|
+
* @returns Export default declaration node for tests.
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* const node = createExportDefaultIdentifier("feature");
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
const createExportDefaultIdentifier = (name) => ({
|
|
193
|
+
declaration: createIdentifier(name),
|
|
194
|
+
type: "ExportDefaultDeclaration",
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* Collects statements into a program body array.
|
|
198
|
+
* @param statements Statements to include in the program.
|
|
199
|
+
* @returns The program body array.
|
|
200
|
+
* @example
|
|
201
|
+
* ```typescript
|
|
202
|
+
* const body = createBody(createImportDeclaration());
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
const createBody = (...statements) => statements;
|
|
206
|
+
/**
|
|
207
|
+
* Writes a barrel file to the given path.
|
|
208
|
+
* @param filePath Path for the barrel file.
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* writeBarrel("/tmp/index.ts");
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
const writeBarrel = (filePath) => {
|
|
215
|
+
fs.writeFileSync(filePath, "export * from './feature';", "utf8");
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Writes a feature file to the given path.
|
|
219
|
+
* @param filePath Path for the feature file.
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* writeFeature("/tmp/feature.ts");
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
const writeFeature = (filePath) => {
|
|
226
|
+
fs.writeFileSync(filePath, "export const feature = 1;", "utf8");
|
|
227
|
+
};
|
|
228
|
+
export { createBody, createExportAll, createExportDefaultIdentifier, createExportNamedFrom, createExportSpecifier, createExportWithDeclaration, createExportWithoutSource, createImportDeclaration, createImportDefaultSpecifier, createImportSpecifier, createProgram, createRepoDirectory, writeBarrel, writeFeature, };
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy90ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pCLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUU3Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxJQUFtQixFQUFVLEVBQUU7SUFDMUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRCxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBNEIsRUFBZSxFQUFFLENBQUMsQ0FBQztJQUNwRSxJQUFJO0lBQ0osUUFBUSxFQUFFLEVBQUU7SUFDWixHQUFHLEVBQUU7UUFDSCxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDM0IsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO0tBQzlCO0lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNiLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dB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NkJBQTZCLEdBQUcsQ0FDcEMsSUFBWSxFQUNxQixFQUFFLENBQ25DLENBQUM7SUFDQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO0lBQ25DLElBQUksRUFBRSwwQkFBMEI7Q0FDakMsQ0FBMkMsQ0FBQztBQUUvQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQ2pCLEdBQUcsVUFBNEMsRUFDdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQztBQUV4Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFRLEVBQUU7SUFDN0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBZ0IsRUFBUSxFQUFFO0lBQzlDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsWUFBWSxHQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFTVCB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRlbXBvcmFyeSByZXBvIGRpcmVjdG9yeSB1bmRlciB0aGUgZ2l2ZW4gcm9vdC5cbiAqIEBwYXJhbSByb290IFJvb3QgZm9sZGVyIGZvciB0ZW1wIGZpbGVzLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBkaXJlY3RvcnkgcGF0aC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkaXJlY3RvcnkgPSBjcmVhdGVSZXBvRGlyZWN0b3J5KFwidG1wXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVJlcG9EaXJlY3RvcnkgPSAocm9vdDogXCJzcmNcIiB8IFwidG1wXCIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBiYXNlRGlyZWN0b3J5ID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHJvb3QpO1xuICBmcy5ta2RpclN5bmMoYmFzZURpcmVjdG9yeSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIHJldHVybiBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4oYmFzZURpcmVjdG9yeSwgXCJiYXJyZWwtZmlsZXMtXCIpKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByb2dyYW0gd3JhcHBlciBhcm91bmQgdGhlIHN1cHBsaWVkIEFTVCBib2R5LlxuICogQHBhcmFtIGJvZHkgUHJvZ3JhbSBib2R5IHN0YXRlbWVudHMuXG4gKiBAcmV0dXJucyBUaGUgQVNUIHByb2dyYW0uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvZ3JhbSA9IGNyZWF0ZVByb2dyYW0oW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVByb2dyYW0gPSAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKTogQVNULlByb2dyYW0gPT4gKHtcbiAgYm9keSxcbiAgY29tbWVudHM6IFtdLFxuICBsb2M6IHtcbiAgICBlbmQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXG4gICAgc3RhcnQ6IHsgY29sdW1uOiAwLCBsaW5lOiAxIH0sXG4gIH0sXG4gIHJhbmdlOiBbMCwgMF0sXG4gIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsXG4gIHRva2VuczogW10sXG4gIHR5cGU6IFwiUHJvZ3JhbVwiLFxufSk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBFU1RyZWUgbGl0ZXJhbCBub2RlLlxuICogQHBhcmFtIHZhbHVlIExpdGVyYWwgc3RyaW5nIHRvIHdyYXAuXG4gKiBAcmV0dXJucyBUaGUgbGl0ZXJhbCBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpdGVyYWwgPSBjcmVhdGVMaXRlcmFsKFwiLi9mZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUxpdGVyYWwgPSAodmFsdWU6IHN0cmluZyk6IEVTVHJlZS5MaXRlcmFsID0+XG4gICh7XG4gICAgcmF3OiBgJyR7dmFsdWV9J2AsXG4gICAgdHlwZTogXCJMaXRlcmFsXCIsXG4gICAgdmFsdWUsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuTGl0ZXJhbDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIEVTVHJlZSBpZGVudGlmaWVyIG5vZGUuXG4gKiBAcGFyYW0gbmFtZSBJZGVudGlmaWVyIHRvIGNyZWF0ZS5cbiAqIEByZXR1cm5zIFRoZSBpZGVudGlmaWVyIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaWQgPSBjcmVhdGVJZGVudGlmaWVyKFwiYWxsXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUlkZW50aWZpZXIgPSAobmFtZTogc3RyaW5nKTogRVNUcmVlLklkZW50aWZpZXIgPT5cbiAgKHsgbmFtZSwgdHlwZTogXCJJZGVudGlmaWVyXCIgfSkgc2F0aXNmaWVzIEVTVHJlZS5JZGVudGlmaWVyO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gRVNUcmVlIGV4cG9ydCBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gbG9jYWxOYW1lIExvY2FsIGlkZW50aWZpZXIgbmFtZS5cbiAqIEBwYXJhbSBleHBvcnRlZE5hbWUgRXhwb3J0ZWQgaWRlbnRpZmllciBuYW1lLlxuICogQHJldHVybnMgRXhwb3J0IHNwZWNpZmllciBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNwZWNpZmllciA9IGNyZWF0ZUV4cG9ydFNwZWNpZmllcihcImZlYXR1cmVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0U3BlY2lmaWVyID0gKFxuICBsb2NhbE5hbWU6IHN0cmluZyxcbiAgZXhwb3J0ZWROYW1lID0gbG9jYWxOYW1lLFxuKTogRVNUcmVlLkV4cG9ydFNwZWNpZmllciA9PlxuICAoe1xuICAgIGV4cG9ydGVkOiBjcmVhdGVJZGVudGlmaWVyKGV4cG9ydGVkTmFtZSksXG4gICAgbG9jYWw6IGNyZWF0ZUlkZW50aWZpZXIobG9jYWxOYW1lKSxcbiAgICB0eXBlOiBcIkV4cG9ydFNwZWNpZmllclwiLFxuICB9KSBzYXRpc2ZpZXMgRVNUcmVlLkV4cG9ydFNwZWNpZmllcjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIEVTVHJlZSBpbXBvcnQgc3BlY2lmaWVyLlxuICogQHBhcmFtIGxvY2FsTmFtZSBMb2NhbCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAcGFyYW0gaW1wb3J0ZWROYW1lIEltcG9ydGVkIGlkZW50aWZpZXIgbmFtZS5cbiAqIEByZXR1cm5zIEltcG9ydCBzcGVjaWZpZXIgbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzcGVjaWZpZXIgPSBjcmVhdGVJbXBvcnRTcGVjaWZpZXIoXCJmZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUltcG9ydFNwZWNpZmllciA9IChcbiAgbG9jYWxOYW1lOiBzdHJpbmcsXG4gIGltcG9ydGVkTmFtZSA9IGxvY2FsTmFtZSxcbik6IEVTVHJlZS5JbXBvcnRTcGVjaWZpZXIgPT5cbiAgKHtcbiAgICBpbXBvcnRlZDogY3JlYXRlSWRlbnRpZmllcihpbXBvcnRlZE5hbWUpLFxuICAgIGxvY2FsOiBjcmVhdGVJZGVudGlmaWVyKGxvY2FsTmFtZSksXG4gICAgdHlwZTogXCJJbXBvcnRTcGVjaWZpZXJcIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5JbXBvcnRTcGVjaWZpZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBFU1RyZWUgaW1wb3J0IGRlZmF1bHQgc3BlY2lmaWVyLlxuICogQHBhcmFtIGxvY2FsTmFtZSBMb2NhbCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAcmV0dXJucyBJbXBvcnQgZGVmYXVsdCBzcGVjaWZpZXIgbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzcGVjaWZpZXIgPSBjcmVhdGVJbXBvcnREZWZhdWx0U3BlY2lmaWVyKFwiZmVhdHVyZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVJbXBvcnREZWZhdWx0U3BlY2lmaWVyID0gKFxuICBsb2NhbE5hbWU6IHN0cmluZyxcbik6IEVTVHJlZS5JbXBvcnREZWZhdWx0U3BlY2lmaWVyID0+XG4gICh7XG4gICAgbG9jYWw6IGNyZWF0ZUlkZW50aWZpZXIobG9jYWxOYW1lKSxcbiAgICB0eXBlOiBcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5JbXBvcnREZWZhdWx0U3BlY2lmaWVyO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW1wb3J0IGRlY2xhcmF0aW9uIGZvciB0ZXN0IGZpeHR1cmVzLlxuICogQHBhcmFtIHNwZWNpZmllcnMgU3BlY2lmaWVycyB0byBpbmNsdWRlLlxuICogQHJldHVybnMgSW1wb3J0IGRlY2xhcmF0aW9uIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBjcmVhdGVJbXBvcnREZWNsYXJhdGlvbihbY3JlYXRlSW1wb3J0U3BlY2lmaWVyKFwiZmVhdHVyZVwiKV0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uID0gKFxuICBzcGVjaWZpZXJzOiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb25bXCJzcGVjaWZpZXJzXCJdID0gW10sXG4pOiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24gPT5cbiAgKHtcbiAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICBzb3VyY2U6IGNyZWF0ZUxpdGVyYWwoXCIuL2ZlYXR1cmVcIiksXG4gICAgc3BlY2lmaWVycyxcbiAgICB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBleHBvcnQtYWxsIGRlY2xhcmF0aW9uIGZvciB0ZXN0IGZpeHR1cmVzLlxuICogQHJldHVybnMgVGhlIGV4cG9ydC1hbGwgZGVjbGFyYXRpb24gbm9kZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBub2RlID0gY3JlYXRlRXhwb3J0QWxsKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0QWxsID0gKCk6IEVTVHJlZS5FeHBvcnRBbGxEZWNsYXJhdGlvbiA9PlxuICAoe1xuICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgIGV4cG9ydGVkOiBjcmVhdGVJZGVudGlmaWVyKFwiYWxsXCIpLFxuICAgIHNvdXJjZTogY3JlYXRlTGl0ZXJhbChcIi4vZmVhdHVyZVwiKSxcbiAgICB0eXBlOiBcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuRXhwb3J0QWxsRGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5hbWVkIGV4cG9ydC1mcm9tIGRlY2xhcmF0aW9uIGZvciB0ZXN0IGZpeHR1cmVzLlxuICogQHJldHVybnMgRXhwb3J0IGRlY2xhcmF0aW9uIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBjcmVhdGVFeHBvcnROYW1lZEZyb20oKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVFeHBvcnROYW1lZEZyb20gPSAoKTogRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gPT5cbiAgKHtcbiAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICBzb3VyY2U6IGNyZWF0ZUxpdGVyYWwoXCIuL2ZlYXR1cmVcIiksXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmFtZWQgZXhwb3J0IHdpdGggYSBsb2NhbCBkZWNsYXJhdGlvbi5cbiAqIEByZXR1cm5zIEV4cG9ydCBkZWNsYXJhdGlvbiBub2RlIGZvciB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBub2RlID0gY3JlYXRlRXhwb3J0V2l0aERlY2xhcmF0aW9uKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0V2l0aERlY2xhcmF0aW9uID0gKCk6IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uID0+IHtcbiAgY29uc3QgZGVjbGFyYXRpb24gPSB7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBraW5kOiBcImNvbnN0XCIsXG4gICAgdHlwZTogXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIsXG4gIH0gc2F0aXNmaWVzIEVTVHJlZS5WYXJpYWJsZURlY2xhcmF0aW9uO1xuXG4gIHJldHVybiB7XG4gICAgYXR0cmlidXRlczogW10sXG4gICAgZGVjbGFyYXRpb24sXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0gc2F0aXNmaWVzIEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmFtZWQgZXhwb3J0IHdpdGhvdXQgYSBzb3VyY2UgdmFsdWUuXG4gKiBAcGFyYW0gc3BlY2lmaWVycyBFeHBvcnQgc3BlY2lmaWVycyB0byBpbmNsdWRlLlxuICogQHJldHVybnMgRXhwb3J0IGRlY2xhcmF0aW9uIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBjcmVhdGVFeHBvcnRXaXRob3V0U291cmNlKFtjcmVhdGVFeHBvcnRTcGVjaWZpZXIoXCJmZWF0dXJlXCIpXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0V2l0aG91dFNvdXJjZSA9IChcbiAgc3BlY2lmaWVyczogRVNUcmVlLkV4cG9ydFNwZWNpZmllcltdID0gW10sXG4pOiBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbiA9PlxuICAoe1xuICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgIHNwZWNpZmllcnMsXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGVmYXVsdCBleHBvcnQgZm9yIGFuIGlkZW50aWZpZXIuXG4gKiBAcGFyYW0gbmFtZSBJZGVudGlmaWVyIHRvIGV4cG9ydC5cbiAqIEByZXR1cm5zIEV4cG9ydCBkZWZhdWx0IGRlY2xhcmF0aW9uIG5vZGUgZm9yIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5vZGUgPSBjcmVhdGVFeHBvcnREZWZhdWx0SWRlbnRpZmllcihcImZlYXR1cmVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0RGVmYXVsdElkZW50aWZpZXIgPSAoXG4gIG5hbWU6IHN0cmluZyxcbik6IEVTVHJlZS5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb24gPT5cbiAgKHtcbiAgICBkZWNsYXJhdGlvbjogY3JlYXRlSWRlbnRpZmllcihuYW1lKSxcbiAgICB0eXBlOiBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiLFxuICB9KSBzYXRpc2ZpZXMgRVNUcmVlLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDb2xsZWN0cyBzdGF0ZW1lbnRzIGludG8gYSBwcm9ncmFtIGJvZHkgYXJyYXkuXG4gKiBAcGFyYW0gc3RhdGVtZW50cyBTdGF0ZW1lbnRzIHRvIGluY2x1ZGUgaW4gdGhlIHByb2dyYW0uXG4gKiBAcmV0dXJucyBUaGUgcHJvZ3JhbSBib2R5IGFycmF5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGJvZHkgPSBjcmVhdGVCb2R5KGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKCkpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUJvZHkgPSAoXG4gIC4uLnN0YXRlbWVudHM6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdW11cbik6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSA9PiBzdGF0ZW1lbnRzO1xuXG4vKipcbiAqIFdyaXRlcyBhIGJhcnJlbCBmaWxlIHRvIHRoZSBnaXZlbiBwYXRoLlxuICogQHBhcmFtIGZpbGVQYXRoIFBhdGggZm9yIHRoZSBiYXJyZWwgZmlsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB3cml0ZUJhcnJlbChcIi90bXAvaW5kZXgudHNcIik7XG4gKiBgYGBcbiAqL1xuY29uc3Qgd3JpdGVCYXJyZWwgPSAoZmlsZVBhdGg6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBcImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZSc7XCIsIFwidXRmOFwiKTtcbn07XG5cbi8qKlxuICogV3JpdGVzIGEgZmVhdHVyZSBmaWxlIHRvIHRoZSBnaXZlbiBwYXRoLlxuICogQHBhcmFtIGZpbGVQYXRoIFBhdGggZm9yIHRoZSBmZWF0dXJlIGZpbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogd3JpdGVGZWF0dXJlKFwiL3RtcC9mZWF0dXJlLnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHdyaXRlRmVhdHVyZSA9IChmaWxlUGF0aDogc3RyaW5nKTogdm9pZCA9PiB7XG4gIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIFwiZXhwb3J0IGNvbnN0IGZlYXR1cmUgPSAxO1wiLCBcInV0ZjhcIik7XG59O1xuXG5leHBvcnQge1xuICBjcmVhdGVCb2R5LFxuICBjcmVhdGVFeHBvcnRBbGwsXG4gIGNyZWF0ZUV4cG9ydERlZmF1bHRJZGVudGlmaWVyLFxuICBjcmVhdGVFeHBvcnROYW1lZEZyb20sXG4gIGNyZWF0ZUV4cG9ydFNwZWNpZmllcixcbiAgY3JlYXRlRXhwb3J0V2l0aERlY2xhcmF0aW9uLFxuICBjcmVhdGVFeHBvcnRXaXRob3V0U291cmNlLFxuICBjcmVhdGVJbXBvcnREZWNsYXJhdGlvbixcbiAgY3JlYXRlSW1wb3J0RGVmYXVsdFNwZWNpZmllcixcbiAgY3JlYXRlSW1wb3J0U3BlY2lmaWVyLFxuICBjcmVhdGVQcm9ncmFtLFxuICBjcmVhdGVSZXBvRGlyZWN0b3J5LFxuICB3cml0ZUJhcnJlbCxcbiAgd3JpdGVGZWF0dXJlLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Type definition for rule data. */
|
|
2
|
+
interface BarrelFilesExportsOnlyOptions {
|
|
3
|
+
/** Folders helper value. */
|
|
4
|
+
folders?: string | string[];
|
|
5
|
+
/** Names helper value. */
|
|
6
|
+
names?: string | string[];
|
|
7
|
+
}
|
|
8
|
+
/** Type definition for rule data. */
|
|
9
|
+
interface ConsistentBarrelFilesOptions {
|
|
10
|
+
/** Enforce helper value. */
|
|
11
|
+
enforce?: boolean;
|
|
12
|
+
/** Folders helper value. */
|
|
13
|
+
folders?: string | string[];
|
|
14
|
+
/** Names helper value. */
|
|
15
|
+
names?: string | string[];
|
|
16
|
+
}
|
|
17
|
+
/** Type definition for rule data. */
|
|
18
|
+
interface NoReexportsOutsideBarrelsOptions {
|
|
19
|
+
/** Folders helper value. */
|
|
20
|
+
folders?: string | string[];
|
|
21
|
+
/** Names helper value. */
|
|
22
|
+
names?: string | string[];
|
|
23
|
+
}
|
|
24
|
+
export type { BarrelFilesExportsOnlyOptions, ConsistentBarrelFilesOptions, NoReexportsOutsideBarrelsOptions, };
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/architecture/consistent-barrel-files/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,UAAU,6BAA6B;IACrC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,qCAAqC;AACrC,UAAU,4BAA4B;IACpC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,qCAAqC;AACrC,UAAU,gCAAgC;IACxC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQmFycmVsRmlsZXNFeHBvcnRzT25seU9wdGlvbnMge1xuICAvKiogRm9sZGVycyBoZWxwZXIgdmFsdWUuICovXG4gIGZvbGRlcnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogTmFtZXMgaGVscGVyIHZhbHVlLiAqL1xuICBuYW1lcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uc2lzdGVudEJhcnJlbEZpbGVzT3B0aW9ucyB7XG4gIC8qKiBFbmZvcmNlIGhlbHBlciB2YWx1ZS4gKi9cbiAgZW5mb3JjZT86IGJvb2xlYW47XG5cbiAgLyoqIEZvbGRlcnMgaGVscGVyIHZhbHVlLiAqL1xuICBmb2xkZXJzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIE5hbWVzIGhlbHBlciB2YWx1ZS4gKi9cbiAgbmFtZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zIHtcbiAgLyoqIEZvbGRlcnMgaGVscGVyIHZhbHVlLiAqL1xuICBmb2xkZXJzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqIE5hbWVzIGhlbHBlciB2YWx1ZS4gKi9cbiAgbmFtZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyxcbiAgQ29uc2lzdGVudEJhcnJlbEZpbGVzT3B0aW9ucyxcbiAgTm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc09wdGlvbnMsXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/architecture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { barrelFilesExportsOnlyRule, consistentBarrelFilesRule, noReexportsOutsideBarrelsRule, } from "./consistent-barrel-files";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDZCQUE2QixHQUM5QixNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxufSBmcm9tIFwiLi9jb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiO1xuIl19
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Shape of a benchmark case. */
|
|
2
|
+
interface BenchmarkCase {
|
|
3
|
+
/** Source code passed to ESLint. */
|
|
4
|
+
code: string;
|
|
5
|
+
/** Filename used for the lint run. */
|
|
6
|
+
filename: string;
|
|
7
|
+
/** Rule id inside the internal plugin. */
|
|
8
|
+
ruleName: string;
|
|
9
|
+
}
|
|
10
|
+
/** Summary returned by a benchmark run. */
|
|
11
|
+
interface BenchmarkSummary {
|
|
12
|
+
/** Elapsed milliseconds across all iterations. */
|
|
13
|
+
elapsedMilliseconds: number;
|
|
14
|
+
/** Iteration count used by the run. */
|
|
15
|
+
iterations: number;
|
|
16
|
+
/** Rule name under test. */
|
|
17
|
+
ruleName: string;
|
|
18
|
+
}
|
|
19
|
+
/** Benchmark cases covering the heavier package-owned rules. */
|
|
20
|
+
declare const benchmarkCases: readonly [{
|
|
21
|
+
readonly code: string;
|
|
22
|
+
readonly filename: "src/features.ts";
|
|
23
|
+
readonly ruleName: "prefer-interface-types";
|
|
24
|
+
}, {
|
|
25
|
+
readonly code: string;
|
|
26
|
+
readonly filename: "src/docs.ts";
|
|
27
|
+
readonly ruleName: "require-example-language";
|
|
28
|
+
}, {
|
|
29
|
+
readonly code: string;
|
|
30
|
+
readonly filename: "src/example.spec.ts";
|
|
31
|
+
readonly ruleName: "prefer-vi-mocked-import";
|
|
32
|
+
}, {
|
|
33
|
+
readonly code: string;
|
|
34
|
+
readonly filename: "src/index.ts";
|
|
35
|
+
readonly ruleName: "consistent-barrel-files";
|
|
36
|
+
}];
|
|
37
|
+
/**
|
|
38
|
+
* Formats a benchmark summary for console output.
|
|
39
|
+
* @param summary Summary to format.
|
|
40
|
+
* @returns Return value output.
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const line = formatBenchmarkSummary({
|
|
44
|
+
* elapsedMilliseconds: 10,
|
|
45
|
+
* iterations: 1,
|
|
46
|
+
* ruleName: "prefer-interface-types",
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
declare function formatBenchmarkSummary(summary: BenchmarkSummary): string;
|
|
51
|
+
/**
|
|
52
|
+
* Runs the benchmark command and prints each summary.
|
|
53
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* main(1);
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
declare function main(iterationsOverride?: number): void;
|
|
60
|
+
/**
|
|
61
|
+
* Runs a benchmark case and returns the elapsed milliseconds.
|
|
62
|
+
* @param benchmarkCase Benchmark definition.
|
|
63
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
64
|
+
* @returns Return value output.
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const summary = runBenchmark(benchmarkCases[0], 1);
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
declare function runBenchmark(benchmarkCase: BenchmarkCase, iterationsOverride?: number): BenchmarkSummary;
|
|
71
|
+
/**
|
|
72
|
+
* Runs all benchmark cases and returns their summaries.
|
|
73
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
74
|
+
* @returns Return value output.
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const summaries = runBenchmarks(1);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
declare function runBenchmarks(iterationsOverride?: number): BenchmarkSummary[];
|
|
81
|
+
export { benchmarkCases, formatBenchmarkSummary, main, runBenchmark, runBenchmarks, };
|
|
82
|
+
export type { BenchmarkCase, BenchmarkSummary };
|
|
83
|
+
//# sourceMappingURL=benchmark-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark-rules.d.ts","sourceRoot":"","sources":["../src/benchmark-rules.ts"],"names":[],"mappings":"AAcA,iCAAiC;AACjC,UAAU,aAAa;IACrB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,2CAA2C;AAC3C,UAAU,gBAAgB;IACxB,kDAAkD;IAClD,mBAAmB,EAAE,MAAM,CAAC;IAE5B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD,gEAAgE;AAChE,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;EAwC6C,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,iBAAS,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAEjE;AAgCD;;;;;;;GAOG;AACH,iBAAS,IAAI,CAAC,kBAAkB,SAAa,GAAG,IAAI,CAInD;AAED;;;;;;;;;GASG;AACH,iBAAS,YAAY,CACnB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,SAAa,GAC9B,gBAAgB,CAiClB;AAED;;;;;;;;GAQG;AACH,iBAAS,aAAa,CAAC,kBAAkB,SAAa,GAAG,gBAAgB,EAAE,CAI1E;AAqBD,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,IAAI,EACJ,YAAY,EACZ,aAAa,GACd,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Linter } from "eslint";
|
|
2
|
+
import { performance } from "node:perf_hooks";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import { parser } from "typescript-eslint";
|
|
5
|
+
import { consistentBarrelFilesRule, preferInterfaceTypesRule, preferViMockedImportRule, requireExampleLanguageRule, } from "./rules";
|
|
6
|
+
/** Iteration count for each benchmark case. */
|
|
7
|
+
const iterations = 25;
|
|
8
|
+
/** Shared TypeScript language options for benchmark runs. */
|
|
9
|
+
const languageOptions = {
|
|
10
|
+
ecmaVersion: 2022,
|
|
11
|
+
parser,
|
|
12
|
+
sourceType: "module",
|
|
13
|
+
};
|
|
14
|
+
/** Benchmark cases covering the heavier package-owned rules. */
|
|
15
|
+
const benchmarkCases = [
|
|
16
|
+
{
|
|
17
|
+
code: Array.from({ length: 200 }, (_unused, index) => {
|
|
18
|
+
return `export interface Feature${index} { value: string }`;
|
|
19
|
+
}).join("\n"),
|
|
20
|
+
filename: "src/features.ts",
|
|
21
|
+
ruleName: "prefer-interface-types",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
code: Array.from({ length: 150 }, (_unused, index) => {
|
|
25
|
+
return [
|
|
26
|
+
"/**",
|
|
27
|
+
` * @example feature${index}()`,
|
|
28
|
+
" * ```typescript",
|
|
29
|
+
` * feature${index}();`,
|
|
30
|
+
" * ```",
|
|
31
|
+
" */",
|
|
32
|
+
`export function feature${index}(): void {}`,
|
|
33
|
+
].join("\n");
|
|
34
|
+
}).join("\n"),
|
|
35
|
+
filename: "src/docs.ts",
|
|
36
|
+
ruleName: "require-example-language",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
code: Array.from({ length: 100 }, (_unused, index) => {
|
|
40
|
+
return [
|
|
41
|
+
`const mockedFeature${index} = vi.fn();`,
|
|
42
|
+
`vi.mock("./feature-${index}", () => ({ feature${index}: mockedFeature${index} }));`,
|
|
43
|
+
].join("\n");
|
|
44
|
+
}).join("\n"),
|
|
45
|
+
filename: "src/example.spec.ts",
|
|
46
|
+
ruleName: "prefer-vi-mocked-import",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
code: Array.from({ length: 150 }, (_unused, index) => {
|
|
50
|
+
return `export * from "./feature-${index}";`;
|
|
51
|
+
}).join("\n"),
|
|
52
|
+
filename: "src/index.ts",
|
|
53
|
+
ruleName: "consistent-barrel-files",
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
/**
|
|
57
|
+
* Formats a benchmark summary for console output.
|
|
58
|
+
* @param summary Summary to format.
|
|
59
|
+
* @returns Return value output.
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const line = formatBenchmarkSummary({
|
|
63
|
+
* elapsedMilliseconds: 10,
|
|
64
|
+
* iterations: 1,
|
|
65
|
+
* ruleName: "prefer-interface-types",
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
function formatBenchmarkSummary(summary) {
|
|
70
|
+
return `${summary.ruleName}: ${summary.elapsedMilliseconds}ms total for ${summary.iterations} iterations`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolves the rule module used for a benchmark case.
|
|
74
|
+
* @param ruleName Internal rule name.
|
|
75
|
+
* @returns Return value output.
|
|
76
|
+
* @throws {TypeError} When the benchmark case references an unsupported rule.
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const rule = getRuleModule("prefer-interface-types");
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
function getRuleModule(ruleName) {
|
|
83
|
+
switch (ruleName) {
|
|
84
|
+
case "consistent-barrel-files": {
|
|
85
|
+
return consistentBarrelFilesRule;
|
|
86
|
+
}
|
|
87
|
+
case "prefer-interface-types": {
|
|
88
|
+
return preferInterfaceTypesRule;
|
|
89
|
+
}
|
|
90
|
+
case "prefer-vi-mocked-import": {
|
|
91
|
+
return preferViMockedImportRule;
|
|
92
|
+
}
|
|
93
|
+
case "require-example-language": {
|
|
94
|
+
return requireExampleLanguageRule;
|
|
95
|
+
}
|
|
96
|
+
default: {
|
|
97
|
+
throw new TypeError(`Unsupported benchmark rule: ${ruleName}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Runs the benchmark command and prints each summary.
|
|
103
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* main(1);
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
function main(iterationsOverride = iterations) {
|
|
110
|
+
for (const summary of runBenchmarks(iterationsOverride)) {
|
|
111
|
+
process.stdout.write(`${formatBenchmarkSummary(summary)}\n`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Runs a benchmark case and returns the elapsed milliseconds.
|
|
116
|
+
* @param benchmarkCase Benchmark definition.
|
|
117
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
118
|
+
* @returns Return value output.
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const summary = runBenchmark(benchmarkCases[0], 1);
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
function runBenchmark(benchmarkCase, iterationsOverride = iterations) {
|
|
125
|
+
const linter = new Linter({ configType: "flat" });
|
|
126
|
+
const pluginRules = Object.fromEntries([
|
|
127
|
+
[benchmarkCase.ruleName, getRuleModule(benchmarkCase.ruleName)],
|
|
128
|
+
]);
|
|
129
|
+
const start = performance.now();
|
|
130
|
+
for (let iteration = 0; iteration < iterationsOverride; iteration += 1) {
|
|
131
|
+
void linter.verify(benchmarkCase.code, [
|
|
132
|
+
{
|
|
133
|
+
files: ["**/*.ts"],
|
|
134
|
+
languageOptions,
|
|
135
|
+
plugins: {
|
|
136
|
+
codeperfect: {
|
|
137
|
+
rules: pluginRules,
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
rules: {
|
|
141
|
+
[`codeperfect/${benchmarkCase.ruleName}`]: "error",
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
], benchmarkCase.filename);
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
elapsedMilliseconds: Number((performance.now() - start).toFixed(2)),
|
|
148
|
+
iterations: iterationsOverride,
|
|
149
|
+
ruleName: benchmarkCase.ruleName,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Runs all benchmark cases and returns their summaries.
|
|
154
|
+
* @param iterationsOverride Optional iteration count used by the run.
|
|
155
|
+
* @returns Return value output.
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const summaries = runBenchmarks(1);
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
function runBenchmarks(iterationsOverride = iterations) {
|
|
162
|
+
return benchmarkCases.map((benchmarkCase) => runBenchmark(benchmarkCase, iterationsOverride));
|
|
163
|
+
}
|
|
164
|
+
/** Current CLI entry file when invoked from the terminal. */
|
|
165
|
+
const [, currentEntry] = process.argv;
|
|
166
|
+
/** Iteration count used by the CLI entry point. */
|
|
167
|
+
const cliIterations = Number(process.env["BENCHMARK_RULE_ITERATIONS"] ?? iterations);
|
|
168
|
+
if (currentEntry !== void 0 &&
|
|
169
|
+
import.meta.url === pathToFileURL(currentEntry).href) {
|
|
170
|
+
main(Number.isNaN(cliIterations) || cliIterations < 1
|
|
171
|
+
? iterations
|
|
172
|
+
: cliIterations);
|
|
173
|
+
}
|
|
174
|
+
export { benchmarkCases, formatBenchmarkSummary, main, runBenchmark, runBenchmarks, };
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2htYXJrLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JlbmNobWFyay1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMEJBQTBCLEdBQzNCLE1BQU0sU0FBUyxDQUFDO0FBMEJqQiwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBRXRCLDZEQUE2RDtBQUM3RCxNQUFNLGVBQWUsR0FBRztJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixNQUFNO0lBQ04sVUFBVSxFQUFFLFFBQVE7Q0FDWixDQUFDO0FBRVgsZ0VBQWdFO0FBQ2hFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTywyQkFBMkIsS0FBSyxvQkFBb0IsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2IsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsd0JBQXdCO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRCxPQUFPO2dCQUNMLEtBQUs7Z0JBQ0ws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QU0sQ0FDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLFVBQVUsQ0FDdkQsQ0FBQztBQUVGLElBQ0UsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUNwRCxDQUFDO0lBQ0QsSUFBSSxDQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxHQUFHLENBQUM7UUFDOUMsQ0FBQyxDQUFDLFVBQVU7UUFDWixDQUFDLENBQUMsYUFBYSxDQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLElBQUksRUFDSixZQUFZLEVBQ1osYUFBYSxHQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSBcIm5vZGU6cGVyZl9ob29rc1wiO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHsgcGFyc2VyIH0gZnJvbSBcInR5cGVzY3JpcHQtZXNsaW50XCI7XG5cbmltcG9ydCB7XG4gIGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbn0gZnJvbSBcIi4vcnVsZXNcIjtcblxuLyoqIFNoYXBlIG9mIGEgYmVuY2htYXJrIGNhc2UuICovXG5pbnRlcmZhY2UgQmVuY2htYXJrQ2FzZSB7XG4gIC8qKiBTb3VyY2UgY29kZSBwYXNzZWQgdG8gRVNMaW50LiAqL1xuICBjb2RlOiBzdHJpbmc7XG5cbiAgLyoqIEZpbGVuYW1lIHVzZWQgZm9yIHRoZSBsaW50IHJ1bi4gKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcblxuICAvKiogUnVsZSBpZCBpbnNpZGUgdGhlIGludGVybmFsIHBsdWdpbi4gKi9cbiAgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIFN1bW1hcnkgcmV0dXJuZWQgYnkgYSBiZW5jaG1hcmsgcnVuLiAqL1xuaW50ZXJmYWNlIEJlbmNobWFya1N1bW1hcnkge1xuICAvKiogRWxhcHNlZCBtaWxsaXNlY29uZHMgYWNyb3NzIGFsbCBpdGVyYXRpb25zLiAqL1xuICBlbGFwc2VkTWlsbGlzZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqIEl0ZXJhdGlvbiBjb3VudCB1c2VkIGJ5IHRoZSBydW4uICovXG4gIGl0ZXJhdGlvbnM6IG51bWJlcjtcblxuICAvKiogUnVsZSBuYW1lIHVuZGVyIHRlc3QuICovXG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBJdGVyYXRpb24gY291bnQgZm9yIGVhY2ggYmVuY2htYXJrIGNhc2UuICovXG5jb25zdCBpdGVyYXRpb25zID0gMjU7XG5cbi8qKiBTaGFyZWQgVHlwZVNjcmlwdCBsYW5ndWFnZSBvcHRpb25zIGZvciBiZW5jaG1hcmsgcnVucy4gKi9cbmNvbnN0IGxhbmd1YWdlT3B0aW9ucyA9IHtcbiAgZWNtYVZlcnNpb246IDIwMjIsXG4gIHBhcnNlcixcbiAgc291cmNlVHlwZTogXCJtb2R1bGVcIixcbn0gYXMgY29uc3Q7XG5cbi8qKiBCZW5jaG1hcmsgY2FzZXMgY292ZXJpbmcgdGhlIGhlYXZpZXIgcGFja2FnZS1vd25lZCBydWxlcy4gKi9cbmNvbnN0IGJlbmNobWFya0Nhc2VzID0gW1xuICB7XG4gICAgY29kZTogQXJyYXkuZnJvbSh7IGxlbmd0aDogMjAwIH0sIChfdW51c2VkLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGBleHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUke2luZGV4fSB7IHZhbHVlOiBzdHJpbmcgfWA7XG4gICAgfSkuam9pbihcIlxcblwiKSxcbiAgICBmaWxlbmFtZTogXCJzcmMvZmVhdHVyZXMudHNcIixcbiAgICBydWxlTmFtZTogXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIH0sXG4gIHtcbiAgICBjb2RlOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNTAgfSwgKF91bnVzZWQsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBcIi8qKlwiLFxuICAgICAgICBgICogQGV4YW1wbGUgZmVhdHVyZSR7aW5kZXh9KClgLFxuICAgICAgICBcIiAqIGBgYHR5cGVzY3JpcHRcIixcbiAgICAgICAgYCAqIGZlYXR1cmUke2luZGV4fSgpO2AsXG4gICAgICAgIFwiICogYGBgXCIsXG4gICAgICAgIFwiICovXCIsXG4gICAgICAgIGBleHBvcnQgZnVuY3Rpb24gZmVhdHVyZSR7aW5kZXh9KCk6IHZvaWQge31gLFxuICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2RvY3MudHNcIixcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIGNvZGU6IEFycmF5LmZyb20oeyBsZW5ndGg6IDEwMCB9LCAoX3VudXNlZCwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGBjb25zdCBtb2NrZWRGZWF0dXJlJHtpbmRleH0gPSB2aS5mbigpO2AsXG4gICAgICAgIGB2aS5tb2NrKFwiLi9mZWF0dXJlLSR7aW5kZXh9XCIsICgpID0+ICh7IGZlYXR1cmUke2luZGV4fTogbW9ja2VkRmVhdHVyZSR7aW5kZXh9IH0pKTtgLFxuICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2V4YW1wbGUuc3BlYy50c1wiLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIH0sXG4gIHtcbiAgICBjb2RlOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNTAgfSwgKF91bnVzZWQsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gYGV4cG9ydCAqIGZyb20gXCIuL2ZlYXR1cmUtJHtpbmRleH1cIjtgO1xuICAgIH0pLmpvaW4oXCJcXG5cIiksXG4gICAgZmlsZW5hbWU6IFwic3JjL2luZGV4LnRzXCIsXG4gICAgcnVsZU5hbWU6IFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgfSxcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IFtCZW5jaG1hcmtDYXNlLCAuLi5CZW5jaG1hcmtDYXNlW11dO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBiZW5jaG1hcmsgc3VtbWFyeSBmb3IgY29uc29sZSBvdXRwdXQuXG4gKiBAcGFyYW0gc3VtbWFyeSBTdW1tYXJ5IHRvIGZvcm1hdC5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZSA9IGZvcm1hdEJlbmNobWFya1N1bW1hcnkoe1xuICogICBlbGFwc2VkTWlsbGlzZWNvbmRzOiAxMCxcbiAqICAgaXRlcmF0aW9uczogMSxcbiAqICAgcnVsZU5hbWU6IFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZm9ybWF0QmVuY2htYXJrU3VtbWFyeShzdW1tYXJ5OiBCZW5jaG1hcmtTdW1tYXJ5KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3N1bW1hcnkucnVsZU5hbWV9OiAke3N1bW1hcnkuZWxhcHNlZE1pbGxpc2Vjb25kc31tcyB0b3RhbCBmb3IgJHtzdW1tYXJ5Lml0ZXJhdGlvbnN9IGl0ZXJhdGlvbnNgO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBydWxlIG1vZHVsZSB1c2VkIGZvciBhIGJlbmNobWFyayBjYXNlLlxuICogQHBhcmFtIHJ1bGVOYW1lIEludGVybmFsIHJ1bGUgbmFtZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IFdoZW4gdGhlIGJlbmNobWFyayBjYXNlIHJlZmVyZW5jZXMgYW4gdW5zdXBwb3J0ZWQgcnVsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gZ2V0UnVsZU1vZHVsZShcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UnVsZU1vZHVsZShydWxlTmFtZTogQmVuY2htYXJrQ2FzZVtcInJ1bGVOYW1lXCJdKTogUnVsZS5SdWxlTW9kdWxlIHtcbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiB7XG4gICAgICByZXR1cm4gY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZTtcbiAgICB9XG4gICAgY2FzZSBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIjoge1xuICAgICAgcmV0dXJuIHByZWZlckludGVyZmFjZVR5cGVzUnVsZTtcbiAgICB9XG4gICAgY2FzZSBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCI6IHtcbiAgICAgIHJldHVybiBwcmVmZXJWaU1vY2tlZEltcG9ydFJ1bGU7XG4gICAgfVxuICAgIGNhc2UgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIjoge1xuICAgICAgcmV0dXJuIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCBiZW5jaG1hcmsgcnVsZTogJHtydWxlTmFtZX1gKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBiZW5jaG1hcmsgY29tbWFuZCBhbmQgcHJpbnRzIGVhY2ggc3VtbWFyeS5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBtYWluKDEpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1haW4oaXRlcmF0aW9uc092ZXJyaWRlID0gaXRlcmF0aW9ucyk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHN1bW1hcnkgb2YgcnVuQmVuY2htYXJrcyhpdGVyYXRpb25zT3ZlcnJpZGUpKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7Zm9ybWF0QmVuY2htYXJrU3VtbWFyeShzdW1tYXJ5KX1cXG5gKTtcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgYSBiZW5jaG1hcmsgY2FzZSBhbmQgcmV0dXJucyB0aGUgZWxhcHNlZCBtaWxsaXNlY29uZHMuXG4gKiBAcGFyYW0gYmVuY2htYXJrQ2FzZSBCZW5jaG1hcmsgZGVmaW5pdGlvbi5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3VtbWFyeSA9IHJ1bkJlbmNobWFyayhiZW5jaG1hcmtDYXNlc1swXSwgMSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcnVuQmVuY2htYXJrKFxuICBiZW5jaG1hcmtDYXNlOiBCZW5jaG1hcmtDYXNlLFxuICBpdGVyYXRpb25zT3ZlcnJpZGUgPSBpdGVyYXRpb25zLFxuKTogQmVuY2htYXJrU3VtbWFyeSB7XG4gIGNvbnN0IGxpbnRlciA9IG5ldyBMaW50ZXIoeyBjb25maWdUeXBlOiBcImZsYXRcIiB9KTtcbiAgY29uc3QgcGx1Z2luUnVsZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoW1xuICAgIFtiZW5jaG1hcmtDYXNlLnJ1bGVOYW1lLCBnZXRSdWxlTW9kdWxlKGJlbmNobWFya0Nhc2UucnVsZU5hbWUpXSxcbiAgXSkgYXMgUmVjb3JkPHN0cmluZywgUnVsZS5SdWxlTW9kdWxlPjtcbiAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBmb3IgKGxldCBpdGVyYXRpb24gPSAwOyBpdGVyYXRpb24gPCBpdGVyYXRpb25zT3ZlcnJpZGU7IGl0ZXJhdGlvbiArPSAxKSB7XG4gICAgdm9pZCBsaW50ZXIudmVyaWZ5KFxuICAgICAgYmVuY2htYXJrQ2FzZS5jb2RlLFxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsZXM6IFtcIioqLyoudHNcIl0sXG4gICAgICAgICAgbGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgICAgIGNvZGVwZXJmZWN0OiB7XG4gICAgICAgICAgICAgIHJ1bGVzOiBwbHVnaW5SdWxlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBydWxlczoge1xuICAgICAgICAgICAgW2Bjb2RlcGVyZmVjdC8ke2JlbmNobWFya0Nhc2UucnVsZU5hbWV9YF06IFwiZXJyb3JcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGJlbmNobWFya0Nhc2UuZmlsZW5hbWUsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZWxhcHNlZE1pbGxpc2Vjb25kczogTnVtYmVyKChwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0KS50b0ZpeGVkKDIpKSxcbiAgICBpdGVyYXRpb25zOiBpdGVyYXRpb25zT3ZlcnJpZGUsXG4gICAgcnVsZU5hbWU6IGJlbmNobWFya0Nhc2UucnVsZU5hbWUsXG4gIH07XG59XG5cbi8qKlxuICogUnVucyBhbGwgYmVuY2htYXJrIGNhc2VzIGFuZCByZXR1cm5zIHRoZWlyIHN1bW1hcmllcy5cbiAqIEBwYXJhbSBpdGVyYXRpb25zT3ZlcnJpZGUgT3B0aW9uYWwgaXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIHJ1bi5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3VtbWFyaWVzID0gcnVuQmVuY2htYXJrcygxKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBydW5CZW5jaG1hcmtzKGl0ZXJhdGlvbnNPdmVycmlkZSA9IGl0ZXJhdGlvbnMpOiBCZW5jaG1hcmtTdW1tYXJ5W10ge1xuICByZXR1cm4gYmVuY2htYXJrQ2FzZXMubWFwKChiZW5jaG1hcmtDYXNlKSA9PlxuICAgIHJ1bkJlbmNobWFyayhiZW5jaG1hcmtDYXNlLCBpdGVyYXRpb25zT3ZlcnJpZGUpLFxuICApO1xufVxuXG4vKiogQ3VycmVudCBDTEkgZW50cnkgZmlsZSB3aGVuIGludm9rZWQgZnJvbSB0aGUgdGVybWluYWwuICovXG5jb25zdCBbLCBjdXJyZW50RW50cnldID0gcHJvY2Vzcy5hcmd2O1xuXG4vKiogSXRlcmF0aW9uIGNvdW50IHVzZWQgYnkgdGhlIENMSSBlbnRyeSBwb2ludC4gKi9cbmNvbnN0IGNsaUl0ZXJhdGlvbnMgPSBOdW1iZXIoXG4gIHByb2Nlc3MuZW52W1wiQkVOQ0hNQVJLX1JVTEVfSVRFUkFUSU9OU1wiXSA/PyBpdGVyYXRpb25zLFxuKTtcblxuaWYgKFxuICBjdXJyZW50RW50cnkgIT09IHZvaWQgMCAmJlxuICBpbXBvcnQubWV0YS51cmwgPT09IHBhdGhUb0ZpbGVVUkwoY3VycmVudEVudHJ5KS5ocmVmXG4pIHtcbiAgbWFpbihcbiAgICBOdW1iZXIuaXNOYU4oY2xpSXRlcmF0aW9ucykgfHwgY2xpSXRlcmF0aW9ucyA8IDFcbiAgICAgID8gaXRlcmF0aW9uc1xuICAgICAgOiBjbGlJdGVyYXRpb25zLFxuICApO1xufVxuXG5leHBvcnQge1xuICBiZW5jaG1hcmtDYXNlcyxcbiAgZm9ybWF0QmVuY2htYXJrU3VtbWFyeSxcbiAgbWFpbixcbiAgcnVuQmVuY2htYXJrLFxuICBydW5CZW5jaG1hcmtzLFxufTtcbmV4cG9ydCB0eXBlIHsgQmVuY2htYXJrQ2FzZSwgQmVuY2htYXJrU3VtbWFyeSB9O1xuIl19
|
|
Binary file
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Rule } from "eslint";
|
|
2
|
+
/** Rule registry exposed by the package plugin. */
|
|
3
|
+
declare const codeperfectRules: {
|
|
4
|
+
readonly "assert-actual-expected-names": Rule.RuleModule;
|
|
5
|
+
readonly "barrel-files-exports-only": Rule.RuleModule;
|
|
6
|
+
readonly "consistent-barrel-files": Rule.RuleModule;
|
|
7
|
+
readonly "enforce-aaa-phase-purity": Rule.RuleModule;
|
|
8
|
+
readonly "enforce-aaa-structure": Rule.RuleModule;
|
|
9
|
+
readonly "no-interface-member-docs": Rule.RuleModule;
|
|
10
|
+
readonly "no-multiple-declarators": Rule.RuleModule;
|
|
11
|
+
readonly "no-reexports-outside-barrels": Rule.RuleModule;
|
|
12
|
+
readonly "prefer-interface-types": Rule.RuleModule;
|
|
13
|
+
readonly "prefer-vi-mocked-import": Rule.RuleModule;
|
|
14
|
+
readonly "require-aaa-sections": Rule.RuleModule;
|
|
15
|
+
readonly "require-act-result-capture": Rule.RuleModule;
|
|
16
|
+
readonly "require-example-language": Rule.RuleModule;
|
|
17
|
+
readonly "require-test-companion": Rule.RuleModule;
|
|
18
|
+
readonly "single-act-statement": Rule.RuleModule;
|
|
19
|
+
readonly "single-line-jsdoc": Rule.RuleModule;
|
|
20
|
+
};
|
|
21
|
+
/** ESLint plugin object exported by the package. */
|
|
22
|
+
declare const codeperfectPlugin: {
|
|
23
|
+
meta: {
|
|
24
|
+
name: string;
|
|
25
|
+
};
|
|
26
|
+
rules: {
|
|
27
|
+
readonly "assert-actual-expected-names": Rule.RuleModule;
|
|
28
|
+
readonly "barrel-files-exports-only": Rule.RuleModule;
|
|
29
|
+
readonly "consistent-barrel-files": Rule.RuleModule;
|
|
30
|
+
readonly "enforce-aaa-phase-purity": Rule.RuleModule;
|
|
31
|
+
readonly "enforce-aaa-structure": Rule.RuleModule;
|
|
32
|
+
readonly "no-interface-member-docs": Rule.RuleModule;
|
|
33
|
+
readonly "no-multiple-declarators": Rule.RuleModule;
|
|
34
|
+
readonly "no-reexports-outside-barrels": Rule.RuleModule;
|
|
35
|
+
readonly "prefer-interface-types": Rule.RuleModule;
|
|
36
|
+
readonly "prefer-vi-mocked-import": Rule.RuleModule;
|
|
37
|
+
readonly "require-aaa-sections": Rule.RuleModule;
|
|
38
|
+
readonly "require-act-result-capture": Rule.RuleModule;
|
|
39
|
+
readonly "require-example-language": Rule.RuleModule;
|
|
40
|
+
readonly "require-test-companion": Rule.RuleModule;
|
|
41
|
+
readonly "single-act-statement": Rule.RuleModule;
|
|
42
|
+
readonly "single-line-jsdoc": Rule.RuleModule;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export { codeperfectPlugin, codeperfectRules };
|
|
46
|
+
//# sourceMappingURL=codeperfect-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../src/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
|