@codeperfect/eslint-config 1.2.0 → 1.4.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/README.md +21 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
- package/dist/domain/config-composition.d.ts +8 -0
- package/dist/domain/config-composition.d.ts.map +1 -0
- package/dist/domain/config-composition.js +55 -0
- package/dist/domain/index.d.ts +3 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -2
- package/dist/{module-taxonomy.d.ts → domain/module-taxonomy.d.ts} +3 -3
- package/dist/domain/module-taxonomy.d.ts.map +1 -0
- package/dist/domain/module-taxonomy.js +22 -0
- package/dist/{types.d.ts → domain/types.d.ts} +31 -6
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/infrastructure/architecture/boundaries.d.ts +22 -0
- package/dist/infrastructure/architecture/boundaries.d.ts.map +1 -0
- package/dist/infrastructure/architecture/boundaries.js +175 -0
- package/dist/infrastructure/architecture/import-x.d.ts.map +1 -0
- package/dist/infrastructure/architecture/import-x.js +79 -0
- package/dist/infrastructure/architecture/index.d.ts +3 -0
- package/dist/infrastructure/architecture/index.d.ts.map +1 -0
- package/dist/infrastructure/architecture/index.js +3 -0
- package/dist/{config-factory.d.ts → infrastructure/config-factory.d.ts} +1 -1
- package/dist/infrastructure/config-factory.d.ts.map +1 -0
- package/dist/infrastructure/config-factory.js +44 -0
- package/dist/infrastructure/configs/index.d.ts +7 -0
- package/dist/infrastructure/configs/index.d.ts.map +1 -0
- package/dist/infrastructure/configs/index.js +7 -0
- package/dist/infrastructure/core/codeperfect.d.ts.map +1 -0
- package/dist/infrastructure/core/codeperfect.js +14 -0
- package/dist/infrastructure/core/eslint.d.ts.map +1 -0
- package/dist/infrastructure/core/eslint.js +62 -0
- package/dist/infrastructure/core/index.d.ts +5 -0
- package/dist/infrastructure/core/index.d.ts.map +1 -0
- package/dist/infrastructure/core/index.js +5 -0
- package/dist/infrastructure/core/resolver.d.ts.map +1 -0
- package/dist/infrastructure/core/resolver.js +27 -0
- package/dist/infrastructure/core/typescript.d.ts.map +1 -0
- package/dist/infrastructure/core/typescript.js +63 -0
- package/dist/{diagnostics.d.ts → infrastructure/diagnostics.d.ts} +13 -3
- package/dist/infrastructure/diagnostics.d.ts.map +1 -0
- package/dist/infrastructure/diagnostics.js +90 -0
- package/dist/infrastructure/docs/comments.d.ts.map +1 -0
- package/dist/infrastructure/docs/comments.js +30 -0
- package/dist/infrastructure/docs/index.d.ts +3 -0
- package/dist/infrastructure/docs/index.d.ts.map +1 -0
- package/dist/infrastructure/docs/index.js +3 -0
- package/dist/infrastructure/docs/jsdoc-config.d.ts +14 -0
- package/dist/infrastructure/docs/jsdoc-config.d.ts.map +1 -0
- package/dist/infrastructure/docs/jsdoc-config.js +126 -0
- package/dist/infrastructure/docs/jsdoc.d.ts.map +1 -0
- package/dist/infrastructure/docs/jsdoc.js +15 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +4 -0
- package/dist/{plugin-loaders.d.ts → infrastructure/plugin-loaders.d.ts} +2 -2
- package/dist/infrastructure/plugin-loaders.d.ts.map +1 -0
- package/dist/infrastructure/plugin-loaders.js +115 -0
- package/dist/infrastructure/plugin-state.d.ts +26 -0
- package/dist/infrastructure/plugin-state.d.ts.map +1 -0
- package/dist/infrastructure/plugin-state.js +54 -0
- package/dist/infrastructure/rxjs-x.d.ts.map +1 -0
- package/dist/infrastructure/rxjs-x.js +27 -0
- package/dist/infrastructure/style/index.d.ts +5 -0
- package/dist/infrastructure/style/index.d.ts.map +1 -0
- package/dist/infrastructure/style/index.js +5 -0
- package/dist/infrastructure/style/perfectionist.d.ts.map +1 -0
- package/dist/infrastructure/style/perfectionist.js +31 -0
- package/dist/infrastructure/style/prettier.d.ts.map +1 -0
- package/dist/infrastructure/style/prettier.js +15 -0
- package/dist/infrastructure/style/stylistic.d.ts.map +1 -0
- package/dist/infrastructure/style/stylistic.js +17 -0
- package/dist/infrastructure/style/unicorn.d.ts.map +1 -0
- package/dist/infrastructure/style/unicorn.js +15 -0
- package/dist/infrastructure/testing/index.d.ts +5 -0
- package/dist/infrastructure/testing/index.d.ts.map +1 -0
- package/dist/infrastructure/testing/index.js +5 -0
- package/dist/infrastructure/testing/jasmine.d.ts.map +1 -0
- package/dist/infrastructure/testing/jasmine.js +25 -0
- package/dist/infrastructure/testing/jest.d.ts.map +1 -0
- package/dist/infrastructure/testing/jest.js +27 -0
- package/dist/infrastructure/testing/playwright.d.ts.map +1 -0
- package/dist/infrastructure/testing/playwright.js +29 -0
- package/dist/infrastructure/testing/vitest.d.ts.map +1 -0
- package/dist/infrastructure/testing/vitest.js +33 -0
- package/dist/{utilities.d.ts → infrastructure/utilities.d.ts} +2 -13
- package/dist/infrastructure/utilities.d.ts.map +1 -0
- package/dist/infrastructure/utilities.js +112 -0
- package/package.json +43 -37
- package/dist/architecture/boundaries.d.ts +0 -17
- package/dist/architecture/boundaries.d.ts.map +0 -1
- package/dist/architecture/boundaries.js +0 -69
- package/dist/architecture/import-x.d.ts.map +0 -1
- package/dist/architecture/import-x.js +0 -80
- package/dist/architecture/index.d.ts +0 -3
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/index.js +0 -3
- package/dist/config-composition.d.ts +0 -6
- package/dist/config-composition.d.ts.map +0 -1
- package/dist/config-composition.js +0 -39
- package/dist/config-factory.d.ts.map +0 -1
- package/dist/config-factory.js +0 -42
- package/dist/configs/index.d.ts +0 -7
- package/dist/configs/index.d.ts.map +0 -1
- package/dist/configs/index.js +0 -7
- package/dist/core/codeperfect.d.ts.map +0 -1
- package/dist/core/codeperfect.js +0 -14
- package/dist/core/eslint.d.ts.map +0 -1
- package/dist/core/eslint.js +0 -58
- package/dist/core/index.d.ts +0 -5
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -5
- package/dist/core/resolver.d.ts.map +0 -1
- package/dist/core/resolver.js +0 -27
- package/dist/core/typescript.d.ts.map +0 -1
- package/dist/core/typescript.js +0 -63
- package/dist/diagnostics.d.ts.map +0 -1
- package/dist/diagnostics.js +0 -74
- package/dist/docs/comments.d.ts.map +0 -1
- package/dist/docs/comments.js +0 -30
- package/dist/docs/index.d.ts +0 -3
- package/dist/docs/index.d.ts.map +0 -1
- package/dist/docs/index.js +0 -3
- package/dist/docs/jsdoc.d.ts.map +0 -1
- package/dist/docs/jsdoc.js +0 -126
- package/dist/domain/rxjs-x.d.ts.map +0 -1
- package/dist/domain/rxjs-x.js +0 -27
- package/dist/module-taxonomy.d.ts.map +0 -1
- package/dist/module-taxonomy.js +0 -22
- package/dist/plugin-loaders.d.ts.map +0 -1
- package/dist/plugin-loaders.js +0 -115
- package/dist/style/index.d.ts +0 -5
- package/dist/style/index.d.ts.map +0 -1
- package/dist/style/index.js +0 -5
- package/dist/style/perfectionist.d.ts.map +0 -1
- package/dist/style/perfectionist.js +0 -31
- package/dist/style/prettier.d.ts.map +0 -1
- package/dist/style/prettier.js +0 -15
- package/dist/style/stylistic.d.ts.map +0 -1
- package/dist/style/stylistic.js +0 -17
- package/dist/style/unicorn.d.ts.map +0 -1
- package/dist/style/unicorn.js +0 -15
- package/dist/testing/index.d.ts +0 -5
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -5
- package/dist/testing/jasmine.d.ts.map +0 -1
- package/dist/testing/jasmine.js +0 -25
- package/dist/testing/jest.d.ts.map +0 -1
- package/dist/testing/jest.js +0 -27
- package/dist/testing/playwright.d.ts.map +0 -1
- package/dist/testing/playwright.js +0 -29
- package/dist/testing/vitest.d.ts.map +0 -1
- package/dist/testing/vitest.js +0 -33
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/utilities.d.ts.map +0 -1
- package/dist/utilities.js +0 -125
- /package/dist/{architecture → infrastructure/architecture}/import-x.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/codeperfect.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/eslint.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/resolver.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/typescript.d.ts +0 -0
- /package/dist/{docs → infrastructure/docs}/comments.d.ts +0 -0
- /package/dist/{docs → infrastructure/docs}/jsdoc.d.ts +0 -0
- /package/dist/{domain → infrastructure}/rxjs-x.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/perfectionist.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/prettier.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/stylistic.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/unicorn.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/jasmine.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/jest.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/playwright.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/vitest.d.ts +0 -0
package/README.md
CHANGED
|
@@ -38,10 +38,28 @@ Disable modules that do not apply to the repository:
|
|
|
38
38
|
import { config } from "@codeperfect/eslint-config";
|
|
39
39
|
|
|
40
40
|
export default config({
|
|
41
|
-
|
|
41
|
+
plugins: {
|
|
42
|
+
boundaries: false,
|
|
43
|
+
prettier: false,
|
|
44
|
+
},
|
|
42
45
|
});
|
|
43
46
|
```
|
|
44
47
|
|
|
48
|
+
Enable modules that are opt-in by default:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { config } from "@codeperfect/eslint-config";
|
|
52
|
+
|
|
53
|
+
export default config({
|
|
54
|
+
plugins: {
|
|
55
|
+
jasmine: true,
|
|
56
|
+
jest: true,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`jasmine` and `jest` are disabled by default. All other documented modules are enabled by default unless explicitly set to `false`.
|
|
62
|
+
|
|
45
63
|
Override final rule severities when the repository needs a narrower policy:
|
|
46
64
|
|
|
47
65
|
```typescript
|
|
@@ -118,8 +136,8 @@ This order is intentional and validated in tests.
|
|
|
118
136
|
| `import-x` | `eslint-plugin-import-x` | Optional import analysis module. |
|
|
119
137
|
| `comments` | `@eslint-community/eslint-plugin-eslint-comments` | Optional ESLint directive-comment rules. |
|
|
120
138
|
| `jsdoc` | `eslint-plugin-jsdoc` | Optional JSDoc rules and package-level JSDoc defaults. |
|
|
121
|
-
| `jasmine` | `eslint-plugin-jasmine` | Optional Jasmine rules.
|
|
122
|
-
| `jest` | `eslint-plugin-jest` | Optional Jest rules.
|
|
139
|
+
| `jasmine` | `eslint-plugin-jasmine` | Optional Jasmine rules. Disabled by default. |
|
|
140
|
+
| `jest` | `eslint-plugin-jest` | Optional Jest rules. Disabled by default. |
|
|
123
141
|
| `playwright` | `eslint-plugin-playwright` | Optional Playwright rules. |
|
|
124
142
|
| `vitest` | `@vitest/eslint-plugin` | Optional Vitest rules. |
|
|
125
143
|
| `rxjs-x` | `eslint-plugin-rxjs-x` | Optional RxJS rules. |
|
package/dist/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/config-composition.ts","../src/config-factory.ts","../src/diagnostics.ts","../src/index.ts","../src/
|
|
1
|
+
{"root":["../src/index.ts","../src/domain/config-composition.ts","../src/domain/index.ts","../src/domain/module-taxonomy.ts","../src/domain/types.ts","../src/infrastructure/config-factory.ts","../src/infrastructure/diagnostics.ts","../src/infrastructure/index.ts","../src/infrastructure/plugin-loaders.ts","../src/infrastructure/plugin-state.ts","../src/infrastructure/rxjs-x.ts","../src/infrastructure/utilities.ts","../src/infrastructure/architecture/boundaries.ts","../src/infrastructure/architecture/import-x.ts","../src/infrastructure/architecture/index.ts","../src/infrastructure/configs/index.ts","../src/infrastructure/core/codeperfect.ts","../src/infrastructure/core/eslint.ts","../src/infrastructure/core/index.ts","../src/infrastructure/core/resolver.ts","../src/infrastructure/core/typescript.ts","../src/infrastructure/docs/comments.ts","../src/infrastructure/docs/index.ts","../src/infrastructure/docs/jsdoc-config.ts","../src/infrastructure/docs/jsdoc.ts","../src/infrastructure/style/index.ts","../src/infrastructure/style/perfectionist.ts","../src/infrastructure/style/prettier.ts","../src/infrastructure/style/stylistic.ts","../src/infrastructure/style/unicorn.ts","../src/infrastructure/testing/index.ts","../src/infrastructure/testing/jasmine.ts","../src/infrastructure/testing/jest.ts","../src/infrastructure/testing/playwright.ts","../src/infrastructure/testing/vitest.ts","../conventional-changelog-conventionalcommits.d.ts","../eslint-plugin-jasmine.d.ts"],"version":"6.0.3"}
|
|
Binary file
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Expected config names when default-enabled modules are composed in order. */
|
|
2
|
+
declare const defaultCompositionNames: readonly ["core-codeperfect", "core-eslint", "core-resolver", "core-typescript", "architecture-import-x", "docs-comments", "docs-jsdoc", "testing-playwright", "testing-vitest", "domain-rxjs", "style-stylistic", "style-perfectionist", "style-unicorn", "style-prettier", "architecture-boundaries"];
|
|
3
|
+
/** Expected config names when all documented modules are enabled in order. */
|
|
4
|
+
declare const fullCompositionNames: readonly ["core-codeperfect", "core-eslint", "core-resolver", "core-typescript", "architecture-import-x", "docs-comments", "docs-jsdoc", "testing-jasmine", "testing-jest", "testing-playwright", "testing-vitest", "domain-rxjs", "style-stylistic", "style-perfectionist", "style-unicorn", "style-prettier", "architecture-boundaries"];
|
|
5
|
+
/** Expected config names when selected optional modules are disabled. */
|
|
6
|
+
declare const reducedCompositionNames: readonly ["core-codeperfect", "core-eslint", "core-resolver", "core-typescript", "architecture-import-x", "docs-comments", "docs-jsdoc", "testing-playwright", "domain-rxjs", "style-stylistic", "style-perfectionist", "style-unicorn"];
|
|
7
|
+
export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, };
|
|
8
|
+
//# sourceMappingURL=config-composition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-composition.d.ts","sourceRoot":"","sources":["../../src/domain/config-composition.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,QAAA,MAAM,uBAAuB,ySAgBnB,CAAC;AAEX,8EAA8E;AAC9E,QAAA,MAAM,oBAAoB,4UAkBhB,CAAC;AAEX,yEAAyE;AACzE,QAAA,MAAM,uBAAuB,0OAanB,CAAC;AAEX,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** Expected config names when default-enabled modules are composed in order. */
|
|
2
|
+
const defaultCompositionNames = [
|
|
3
|
+
"core-codeperfect",
|
|
4
|
+
"core-eslint",
|
|
5
|
+
"core-resolver",
|
|
6
|
+
"core-typescript",
|
|
7
|
+
"architecture-import-x",
|
|
8
|
+
"docs-comments",
|
|
9
|
+
"docs-jsdoc",
|
|
10
|
+
"testing-playwright",
|
|
11
|
+
"testing-vitest",
|
|
12
|
+
"domain-rxjs",
|
|
13
|
+
"style-stylistic",
|
|
14
|
+
"style-perfectionist",
|
|
15
|
+
"style-unicorn",
|
|
16
|
+
"style-prettier",
|
|
17
|
+
"architecture-boundaries",
|
|
18
|
+
];
|
|
19
|
+
/** Expected config names when all documented modules are enabled in order. */
|
|
20
|
+
const fullCompositionNames = [
|
|
21
|
+
"core-codeperfect",
|
|
22
|
+
"core-eslint",
|
|
23
|
+
"core-resolver",
|
|
24
|
+
"core-typescript",
|
|
25
|
+
"architecture-import-x",
|
|
26
|
+
"docs-comments",
|
|
27
|
+
"docs-jsdoc",
|
|
28
|
+
"testing-jasmine",
|
|
29
|
+
"testing-jest",
|
|
30
|
+
"testing-playwright",
|
|
31
|
+
"testing-vitest",
|
|
32
|
+
"domain-rxjs",
|
|
33
|
+
"style-stylistic",
|
|
34
|
+
"style-perfectionist",
|
|
35
|
+
"style-unicorn",
|
|
36
|
+
"style-prettier",
|
|
37
|
+
"architecture-boundaries",
|
|
38
|
+
];
|
|
39
|
+
/** Expected config names when selected optional modules are disabled. */
|
|
40
|
+
const reducedCompositionNames = [
|
|
41
|
+
"core-codeperfect",
|
|
42
|
+
"core-eslint",
|
|
43
|
+
"core-resolver",
|
|
44
|
+
"core-typescript",
|
|
45
|
+
"architecture-import-x",
|
|
46
|
+
"docs-comments",
|
|
47
|
+
"docs-jsdoc",
|
|
48
|
+
"testing-playwright",
|
|
49
|
+
"domain-rxjs",
|
|
50
|
+
"style-stylistic",
|
|
51
|
+
"style-perfectionist",
|
|
52
|
+
"style-unicorn",
|
|
53
|
+
];
|
|
54
|
+
export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, };
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RvbWFpbi9jb25maWctY29tcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7Q0FDakIsQ0FBQztBQUVYLDhFQUE4RTtBQUM5RSxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7Q0FDakIsQ0FBQztBQUVYLHlFQUF5RTtBQUN6RSxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtDQUNQLENBQUM7QUFFWCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNwQix1QkFBdUIsR0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBFeHBlY3RlZCBjb25maWcgbmFtZXMgd2hlbiBkZWZhdWx0LWVuYWJsZWQgbW9kdWxlcyBhcmUgY29tcG9zZWQgaW4gb3JkZXIuICovXG5jb25zdCBkZWZhdWx0Q29tcG9zaXRpb25OYW1lcyA9IFtcbiAgXCJjb3JlLWNvZGVwZXJmZWN0XCIsXG4gIFwiY29yZS1lc2xpbnRcIixcbiAgXCJjb3JlLXJlc29sdmVyXCIsXG4gIFwiY29yZS10eXBlc2NyaXB0XCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWltcG9ydC14XCIsXG4gIFwiZG9jcy1jb21tZW50c1wiLFxuICBcImRvY3MtanNkb2NcIixcbiAgXCJ0ZXN0aW5nLXBsYXl3cmlnaHRcIixcbiAgXCJ0ZXN0aW5nLXZpdGVzdFwiLFxuICBcImRvbWFpbi1yeGpzXCIsXG4gIFwic3R5bGUtc3R5bGlzdGljXCIsXG4gIFwic3R5bGUtcGVyZmVjdGlvbmlzdFwiLFxuICBcInN0eWxlLXVuaWNvcm5cIixcbiAgXCJzdHlsZS1wcmV0dGllclwiLFxuICBcImFyY2hpdGVjdHVyZS1ib3VuZGFyaWVzXCIsXG5dIGFzIGNvbnN0O1xuXG4vKiogRXhwZWN0ZWQgY29uZmlnIG5hbWVzIHdoZW4gYWxsIGRvY3VtZW50ZWQgbW9kdWxlcyBhcmUgZW5hYmxlZCBpbiBvcmRlci4gKi9cbmNvbnN0IGZ1bGxDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtY29kZXBlcmZlY3RcIixcbiAgXCJjb3JlLWVzbGludFwiLFxuICBcImNvcmUtcmVzb2x2ZXJcIixcbiAgXCJjb3JlLXR5cGVzY3JpcHRcIixcbiAgXCJhcmNoaXRlY3R1cmUtaW1wb3J0LXhcIixcbiAgXCJkb2NzLWNvbW1lbnRzXCIsXG4gIFwiZG9jcy1qc2RvY1wiLFxuICBcInRlc3RpbmctamFzbWluZVwiLFxuICBcInRlc3RpbmctamVzdFwiLFxuICBcInRlc3RpbmctcGxheXdyaWdodFwiLFxuICBcInRlc3Rpbmctdml0ZXN0XCIsXG4gIFwiZG9tYWluLXJ4anNcIixcbiAgXCJzdHlsZS1zdHlsaXN0aWNcIixcbiAgXCJzdHlsZS1wZXJmZWN0aW9uaXN0XCIsXG4gIFwic3R5bGUtdW5pY29yblwiLFxuICBcInN0eWxlLXByZXR0aWVyXCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWJvdW5kYXJpZXNcIixcbl0gYXMgY29uc3Q7XG5cbi8qKiBFeHBlY3RlZCBjb25maWcgbmFtZXMgd2hlbiBzZWxlY3RlZCBvcHRpb25hbCBtb2R1bGVzIGFyZSBkaXNhYmxlZC4gKi9cbmNvbnN0IHJlZHVjZWRDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtY29kZXBlcmZlY3RcIixcbiAgXCJjb3JlLWVzbGludFwiLFxuICBcImNvcmUtcmVzb2x2ZXJcIixcbiAgXCJjb3JlLXR5cGVzY3JpcHRcIixcbiAgXCJhcmNoaXRlY3R1cmUtaW1wb3J0LXhcIixcbiAgXCJkb2NzLWNvbW1lbnRzXCIsXG4gIFwiZG9jcy1qc2RvY1wiLFxuICBcInRlc3RpbmctcGxheXdyaWdodFwiLFxuICBcImRvbWFpbi1yeGpzXCIsXG4gIFwic3R5bGUtc3R5bGlzdGljXCIsXG4gIFwic3R5bGUtcGVyZmVjdGlvbmlzdFwiLFxuICBcInN0eWxlLXVuaWNvcm5cIixcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB7XG4gIGRlZmF1bHRDb21wb3NpdGlvbk5hbWVzLFxuICBmdWxsQ29tcG9zaXRpb25OYW1lcyxcbiAgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMsXG59O1xuIl19
|
package/dist/domain/index.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, } from "./config-composition.js";
|
|
2
|
+
export { moduleTaxonomy } from "./module-taxonomy.js";
|
|
3
|
+
export type { BoundariesConfig, BoundariesConfigExtension, BoundariesElementTypesOptions, BoundariesElementTypesRuleEntry, ConfigOptions, PluginName, PluginStateOverrides, } from "./types.js";
|
|
2
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,aAAa,EACb,UAAU,EACV,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
|
package/dist/domain/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, } from "./config-composition.js";
|
|
2
|
+
export { moduleTaxonomy } from "./module-taxonomy.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixHQUN4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGRlZmF1bHRDb21wb3NpdGlvbk5hbWVzLFxuICBmdWxsQ29tcG9zaXRpb25OYW1lcyxcbiAgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMsXG59IGZyb20gXCIuL2NvbmZpZy1jb21wb3NpdGlvblwiO1xuZXhwb3J0IHsgbW9kdWxlVGF4b25vbXkgfSBmcm9tIFwiLi9tb2R1bGUtdGF4b25vbXlcIjtcbmV4cG9ydCB0eXBlIHtcbiAgQm91bmRhcmllc0NvbmZpZyxcbiAgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbixcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIENvbmZpZ09wdGlvbnMsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { PluginName } from "./types";
|
|
1
|
+
import type { PluginName } from "./types.js";
|
|
2
2
|
/** Taxonomy categories for config modules. */
|
|
3
|
-
type ModuleCategory = "architecture" | "core" | "documentation" | "domain" | "repository-architecture" | "style" | "testing";
|
|
3
|
+
type ModuleCategory = "architecture" | "core" | "documentation" | "domain" | "infrastructure" | "repository-architecture" | "style" | "testing";
|
|
4
4
|
/** Entry describing a documented config module. */
|
|
5
5
|
interface ModuleTaxonomyEntry {
|
|
6
6
|
/** Category owning the module. */
|
|
@@ -43,7 +43,7 @@ declare const moduleTaxonomy: readonly [{
|
|
|
43
43
|
readonly category: "testing";
|
|
44
44
|
readonly pluginName: "vitest";
|
|
45
45
|
}, {
|
|
46
|
-
readonly category: "
|
|
46
|
+
readonly category: "infrastructure";
|
|
47
47
|
readonly pluginName: "rxjs-x";
|
|
48
48
|
}, {
|
|
49
49
|
readonly category: "style";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-taxonomy.d.ts","sourceRoot":"","sources":["../../src/domain/module-taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,8CAA8C;AAC9C,KAAK,cAAc,GACf,cAAc,GACd,MAAM,GACN,eAAe,GACf,QAAQ,GACR,gBAAgB,GAChB,yBAAyB,GACzB,OAAO,GACP,SAAS,CAAC;AAEd,mDAAmD;AACnD,UAAU,mBAAmB;IAC3B,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;IAEzB,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,iDAAiD;AACjD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB+B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Ordered module taxonomy matching RFC-0003. */
|
|
2
|
+
const moduleTaxonomy = [
|
|
3
|
+
{ category: "core", pluginName: "codeperfect" },
|
|
4
|
+
{ category: "core", pluginName: "eslint" },
|
|
5
|
+
{ category: "core", pluginName: "resolver" },
|
|
6
|
+
{ category: "core", pluginName: "typescript" },
|
|
7
|
+
{ category: "architecture", pluginName: "import-x" },
|
|
8
|
+
{ category: "documentation", pluginName: "comments" },
|
|
9
|
+
{ category: "documentation", pluginName: "jsdoc" },
|
|
10
|
+
{ category: "testing", pluginName: "jasmine" },
|
|
11
|
+
{ category: "testing", pluginName: "jest" },
|
|
12
|
+
{ category: "testing", pluginName: "playwright" },
|
|
13
|
+
{ category: "testing", pluginName: "vitest" },
|
|
14
|
+
{ category: "infrastructure", pluginName: "rxjs-x" },
|
|
15
|
+
{ category: "style", pluginName: "stylistic" },
|
|
16
|
+
{ category: "style", pluginName: "perfectionist" },
|
|
17
|
+
{ category: "style", pluginName: "unicorn" },
|
|
18
|
+
{ category: "style", pluginName: "prettier" },
|
|
19
|
+
{ category: "repository-architecture", pluginName: "boundaries" },
|
|
20
|
+
];
|
|
21
|
+
export { moduleTaxonomy };
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRheG9ub215LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RvbWFpbi9tb2R1bGUtdGF4b25vbXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JBLGlEQUFpRDtBQUNqRCxNQUFNLGNBQWMsR0FBRztJQUNyQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRTtJQUMvQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUMxQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUM1QyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtJQUM5QyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUNwRCxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUNyRCxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRTtJQUNsRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtJQUM5QyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUMzQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtJQUNqRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUM3QyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQ3BELEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0lBQ2xELEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQzdDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUU7Q0FDaEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbk5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogVGF4b25vbXkgY2F0ZWdvcmllcyBmb3IgY29uZmlnIG1vZHVsZXMuICovXG50eXBlIE1vZHVsZUNhdGVnb3J5ID1cbiAgfCBcImFyY2hpdGVjdHVyZVwiXG4gIHwgXCJjb3JlXCJcbiAgfCBcImRvY3VtZW50YXRpb25cIlxuICB8IFwiZG9tYWluXCJcbiAgfCBcImluZnJhc3RydWN0dXJlXCJcbiAgfCBcInJlcG9zaXRvcnktYXJjaGl0ZWN0dXJlXCJcbiAgfCBcInN0eWxlXCJcbiAgfCBcInRlc3RpbmdcIjtcblxuLyoqIEVudHJ5IGRlc2NyaWJpbmcgYSBkb2N1bWVudGVkIGNvbmZpZyBtb2R1bGUuICovXG5pbnRlcmZhY2UgTW9kdWxlVGF4b25vbXlFbnRyeSB7XG4gIC8qKiBDYXRlZ29yeSBvd25pbmcgdGhlIG1vZHVsZS4gKi9cbiAgY2F0ZWdvcnk6IE1vZHVsZUNhdGVnb3J5O1xuXG4gIC8qKiBQdWJsaWMgbW9kdWxlIG5hbWUgdXNlZCBpbiBjb25maWcgb3B0aW9ucyBhbmQgZGlhZ25vc3RpY3MuICovXG4gIHBsdWdpbk5hbWU6IFBsdWdpbk5hbWU7XG59XG5cbi8qKiBPcmRlcmVkIG1vZHVsZSB0YXhvbm9teSBtYXRjaGluZyBSRkMtMDAwMy4gKi9cbmNvbnN0IG1vZHVsZVRheG9ub215ID0gW1xuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJjb2RlcGVyZmVjdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcImVzbGludFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcInJlc29sdmVyXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJjb3JlXCIsIHBsdWdpbk5hbWU6IFwidHlwZXNjcmlwdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiYXJjaGl0ZWN0dXJlXCIsIHBsdWdpbk5hbWU6IFwiaW1wb3J0LXhcIiB9LFxuICB7IGNhdGVnb3J5OiBcImRvY3VtZW50YXRpb25cIiwgcGx1Z2luTmFtZTogXCJjb21tZW50c1wiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiZG9jdW1lbnRhdGlvblwiLCBwbHVnaW5OYW1lOiBcImpzZG9jXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwiamFzbWluZVwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcImplc3RcIiB9LFxuICB7IGNhdGVnb3J5OiBcInRlc3RpbmdcIiwgcGx1Z2luTmFtZTogXCJwbGF5d3JpZ2h0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwidml0ZXN0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJpbmZyYXN0cnVjdHVyZVwiLCBwbHVnaW5OYW1lOiBcInJ4anMteFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwic3R5bGVcIiwgcGx1Z2luTmFtZTogXCJzdHlsaXN0aWNcIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwicGVyZmVjdGlvbmlzdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwic3R5bGVcIiwgcGx1Z2luTmFtZTogXCJ1bmljb3JuXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJzdHlsZVwiLCBwbHVnaW5OYW1lOiBcInByZXR0aWVyXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJyZXBvc2l0b3J5LWFyY2hpdGVjdHVyZVwiLCBwbHVnaW5OYW1lOiBcImJvdW5kYXJpZXNcIiB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgTW9kdWxlVGF4b25vbXlFbnRyeVtdO1xuXG5leHBvcnQgeyBtb2R1bGVUYXhvbm9teSB9O1xuZXhwb3J0IHR5cGUgeyBNb2R1bGVDYXRlZ29yeSwgTW9kdWxlVGF4b25vbXlFbnRyeSB9O1xuIl19
|
|
@@ -5,20 +5,43 @@ type ArchitecturePluginName = "boundaries" | "import-x";
|
|
|
5
5
|
/** Type definition for rule data. */
|
|
6
6
|
interface BoundariesConfig {
|
|
7
7
|
/** Repository-owned element descriptors for boundaries analysis. */
|
|
8
|
-
elements
|
|
8
|
+
elements?: ElementDescriptors;
|
|
9
9
|
/** Repository-owned dependency direction rules for boundaries analysis. */
|
|
10
|
-
elementTypes
|
|
10
|
+
elementTypes?: BoundariesElementTypesRuleEntry;
|
|
11
|
+
/** Optional additive extensions applied after the repository defaults. */
|
|
12
|
+
extend?: BoundariesConfigExtension;
|
|
11
13
|
/** Files included in repository-specific boundaries analysis. */
|
|
12
|
-
files
|
|
14
|
+
files?: readonly string[];
|
|
13
15
|
/** Optional ignore globs excluded from repository-specific boundaries analysis. */
|
|
14
16
|
ignores?: readonly string[];
|
|
15
17
|
}
|
|
18
|
+
/** Type definition for additive boundaries extension fields. */
|
|
19
|
+
interface BoundariesConfigExtension {
|
|
20
|
+
/** Additional repository-owned element descriptors appended to the defaults. */
|
|
21
|
+
elements?: ElementDescriptors;
|
|
22
|
+
/**
|
|
23
|
+
* Additional dependency direction rules appended to the default rule set.
|
|
24
|
+
* Only additive dependency rules are supported here.
|
|
25
|
+
*/
|
|
26
|
+
elementTypes?: Pick<BoundariesElementTypesOptions, "rules">;
|
|
27
|
+
/** Additional files appended to the default file globs. */
|
|
28
|
+
files?: readonly string[];
|
|
29
|
+
/** Additional ignore globs appended to the default ignore list. */
|
|
30
|
+
ignores?: readonly string[];
|
|
31
|
+
}
|
|
32
|
+
/** Dependency rule options object used by the boundaries plugin. */
|
|
33
|
+
type BoundariesElementTypesOptions = DependenciesRuleOptions;
|
|
34
|
+
/** Rule entry shape used for repository-owned boundaries dependency rules. */
|
|
35
|
+
type BoundariesElementTypesRuleEntry = [
|
|
36
|
+
Linter.RuleSeverity,
|
|
37
|
+
BoundariesElementTypesOptions
|
|
38
|
+
];
|
|
16
39
|
/** Type definition for rule data. */
|
|
17
40
|
interface ConfigOptions {
|
|
18
41
|
/** Repository-owned architecture input for the optional `boundaries` module. */
|
|
19
42
|
boundaries?: BoundariesConfig;
|
|
20
|
-
/**
|
|
21
|
-
|
|
43
|
+
/** Explicit plugin state overrides keyed by public plugin name. */
|
|
44
|
+
plugins?: PluginStateOverrides;
|
|
22
45
|
/**
|
|
23
46
|
* Rules to disable or override.
|
|
24
47
|
* Use 'off' to disable, or provide custom configuration.
|
|
@@ -33,9 +56,11 @@ type DocumentationPluginName = "comments" | "jsdoc";
|
|
|
33
56
|
type DomainPluginName = "rxjs-x";
|
|
34
57
|
/** Type definition for rule data. */
|
|
35
58
|
type PluginName = ArchitecturePluginName | CorePluginName | DocumentationPluginName | DomainPluginName | StylePluginName | TestingPluginName;
|
|
59
|
+
/** Type definition for explicit plugin state overrides. */
|
|
60
|
+
type PluginStateOverrides = Partial<Record<PluginName, boolean>>;
|
|
36
61
|
/** Type definition for rule data. */
|
|
37
62
|
type StylePluginName = "perfectionist" | "prettier" | "stylistic" | "unicorn";
|
|
38
63
|
/** Type definition for rule data. */
|
|
39
64
|
type TestingPluginName = "jasmine" | "jest" | "playwright" | "vitest";
|
|
40
|
-
export type { BoundariesConfig, ConfigOptions, PluginName };
|
|
65
|
+
export type { BoundariesConfig, BoundariesConfigExtension, BoundariesElementTypesOptions, BoundariesElementTypesRuleEntry, ConfigOptions, PluginName, PluginStateOverrides, };
|
|
41
66
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,gEAAgE;AAChE,UAAU,yBAAyB;IACjC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAE5D,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1B,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,oEAAoE;AACpE,KAAK,6BAA6B,GAAG,uBAAuB,CAAC;AAE7D,8EAA8E;AAC9E,KAAK,+BAA+B,GAAG;IACrC,MAAM,CAAC,YAAY;IACnB,6BAA6B;CAC9B,CAAC;AAEF,qCAAqC;AACrC,UAAU,aAAa;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,mEAAmE;IACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAE/B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC5B;AAED,qCAAqC;AACrC,KAAK,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3E,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,2DAA2D;AAC3D,KAAK,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjE,qCAAqC;AACrC,KAAK,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,aAAa,EACb,UAAU,EACV,oBAAoB,GACrB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHtcbiAgRGVwZW5kZW5jaWVzUnVsZU9wdGlvbnMsXG4gIEVsZW1lbnREZXNjcmlwdG9ycyxcbn0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIEFyY2hpdGVjdHVyZVBsdWdpbk5hbWUgPSBcImJvdW5kYXJpZXNcIiB8IFwiaW1wb3J0LXhcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEJvdW5kYXJpZXNDb25maWcge1xuICAvKiogUmVwb3NpdG9yeS1vd25lZCBlbGVtZW50IGRlc2NyaXB0b3JzIGZvciBib3VuZGFyaWVzIGFuYWx5c2lzLiAqL1xuICBlbGVtZW50cz86IEVsZW1lbnREZXNjcmlwdG9ycztcblxuICAvKiogUmVwb3NpdG9yeS1vd25lZCBkZXBlbmRlbmN5IGRpcmVjdGlvbiBydWxlcyBmb3IgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgZWxlbWVudFR5cGVzPzogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeTtcblxuICAvKiogT3B0aW9uYWwgYWRkaXRpdmUgZXh0ZW5zaW9ucyBhcHBsaWVkIGFmdGVyIHRoZSByZXBvc2l0b3J5IGRlZmF1bHRzLiAqL1xuICBleHRlbmQ/OiBCb3VuZGFyaWVzQ29uZmlnRXh0ZW5zaW9uO1xuXG4gIC8qKiBGaWxlcyBpbmNsdWRlZCBpbiByZXBvc2l0b3J5LXNwZWNpZmljIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGZpbGVzPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqIE9wdGlvbmFsIGlnbm9yZSBnbG9icyBleGNsdWRlZCBmcm9tIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBhZGRpdGl2ZSBib3VuZGFyaWVzIGV4dGVuc2lvbiBmaWVsZHMuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbiB7XG4gIC8qKiBBZGRpdGlvbmFsIHJlcG9zaXRvcnktb3duZWQgZWxlbWVudCBkZXNjcmlwdG9ycyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdHMuICovXG4gIGVsZW1lbnRzPzogRWxlbWVudERlc2NyaXB0b3JzO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGRlcGVuZGVuY3kgZGlyZWN0aW9uIHJ1bGVzIGFwcGVuZGVkIHRvIHRoZSBkZWZhdWx0IHJ1bGUgc2V0LlxuICAgKiBPbmx5IGFkZGl0aXZlIGRlcGVuZGVuY3kgcnVsZXMgYXJlIHN1cHBvcnRlZCBoZXJlLlxuICAgKi9cbiAgZWxlbWVudFR5cGVzPzogUGljazxCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucywgXCJydWxlc1wiPjtcblxuICAvKiogQWRkaXRpb25hbCBmaWxlcyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdCBmaWxlIGdsb2JzLiAqL1xuICBmaWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBBZGRpdGlvbmFsIGlnbm9yZSBnbG9icyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdCBpZ25vcmUgbGlzdC4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogRGVwZW5kZW5jeSBydWxlIG9wdGlvbnMgb2JqZWN0IHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xudHlwZSBCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucyA9IERlcGVuZGVuY2llc1J1bGVPcHRpb25zO1xuXG4vKiogUnVsZSBlbnRyeSBzaGFwZSB1c2VkIGZvciByZXBvc2l0b3J5LW93bmVkIGJvdW5kYXJpZXMgZGVwZW5kZW5jeSBydWxlcy4gKi9cbnR5cGUgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgTGludGVyLlJ1bGVTZXZlcml0eSxcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG5dO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dCBmb3IgdGhlIG9wdGlvbmFsIGBib3VuZGFyaWVzYCBtb2R1bGUuICovXG4gIGJvdW5kYXJpZXM/OiBCb3VuZGFyaWVzQ29uZmlnO1xuXG4gIC8qKiBFeHBsaWNpdCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzIGtleWVkIGJ5IHB1YmxpYyBwbHVnaW4gbmFtZS4gKi9cbiAgcGx1Z2lucz86IFBsdWdpblN0YXRlT3ZlcnJpZGVzO1xuXG4gIC8qKlxuICAgKiBSdWxlcyB0byBkaXNhYmxlIG9yIG92ZXJyaWRlLlxuICAgKiBVc2UgJ29mZicgdG8gZGlzYWJsZSwgb3IgcHJvdmlkZSBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJ1bGVzPzogTGludGVyLlJ1bGVzUmVjb3JkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvcmVQbHVnaW5OYW1lID0gXCJjb2RlcGVyZmVjdFwiIHwgXCJlc2xpbnRcIiB8IFwicmVzb2x2ZXJcIiB8IFwidHlwZXNjcmlwdFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvY3VtZW50YXRpb25QbHVnaW5OYW1lID0gXCJjb21tZW50c1wiIHwgXCJqc2RvY1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvbWFpblBsdWdpbk5hbWUgPSBcInJ4anMteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFBsdWdpbk5hbWUgPVxuICB8IEFyY2hpdGVjdHVyZVBsdWdpbk5hbWVcbiAgfCBDb3JlUGx1Z2luTmFtZVxuICB8IERvY3VtZW50YXRpb25QbHVnaW5OYW1lXG4gIHwgRG9tYWluUGx1Z2luTmFtZVxuICB8IFN0eWxlUGx1Z2luTmFtZVxuICB8IFRlc3RpbmdQbHVnaW5OYW1lO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBleHBsaWNpdCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzLiAqL1xudHlwZSBQbHVnaW5TdGF0ZU92ZXJyaWRlcyA9IFBhcnRpYWw8UmVjb3JkPFBsdWdpbk5hbWUsIGJvb2xlYW4+PjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBTdHlsZVBsdWdpbk5hbWUgPSBcInBlcmZlY3Rpb25pc3RcIiB8IFwicHJldHRpZXJcIiB8IFwic3R5bGlzdGljXCIgfCBcInVuaWNvcm5cIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBUZXN0aW5nUGx1Z2luTmFtZSA9IFwiamFzbWluZVwiIHwgXCJqZXN0XCIgfCBcInBsYXl3cmlnaHRcIiB8IFwidml0ZXN0XCI7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQm91bmRhcmllc0NvbmZpZyxcbiAgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbixcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIENvbmZpZ09wdGlvbnMsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufTtcbiJdfQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { config } from "./
|
|
2
|
-
export type { BoundariesConfig, ConfigOptions } from "./
|
|
1
|
+
export { config, defaultBoundariesConfig } from "./infrastructure/index.js";
|
|
2
|
+
export type { BoundariesConfig, ConfigOptions, PluginStateOverrides, } from "./infrastructure/index.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { config } from "./
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { config, defaultBoundariesConfig } from "./infrastructure/index.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29uZmlnLCBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZyB9IGZyb20gXCIuL2luZnJhc3RydWN0dXJlXCI7XG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNDb25maWcsXG4gIENvbmZpZ09wdGlvbnMsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9pbmZyYXN0cnVjdHVyZVwiO1xuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Linter } from "eslint";
|
|
2
|
+
import type { BoundariesConfig } from "../../domain/index.js";
|
|
3
|
+
/** Resolved boundaries config used internally after defaults are applied. */
|
|
4
|
+
type ResolvedBoundariesConfig = Omit<Required<BoundariesConfig>, "extend">;
|
|
5
|
+
/** Repository default boundaries topology aligned with Clean Architecture. */
|
|
6
|
+
declare const defaultBoundariesConfig: ResolvedBoundariesConfig;
|
|
7
|
+
/**
|
|
8
|
+
* Load boundaries plugin configuration using the default Clean Architecture
|
|
9
|
+
* topology, with optional per-field overrides and additive extensions.
|
|
10
|
+
* @param config Input config value.
|
|
11
|
+
* @returns Return value output.
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const configs = boundaries({
|
|
15
|
+
* extend: { ignores: ["fixtures/example.ts"] },
|
|
16
|
+
* files: ["packages/example/src/index.ts"],
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
declare function boundaries(config?: BoundariesConfig): Linter.Config[];
|
|
21
|
+
export { boundaries, defaultBoundariesConfig };
|
|
22
|
+
//# sourceMappingURL=boundaries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/boundaries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAUrC,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,cAAc,CAAC;AAEtB,6EAA6E;AAC7E,KAAK,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;AAmD3E,8EAA8E;AAC9E,QAAA,MAAM,uBAAuB,EAAE,wBAK9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAS,UAAU,CAAC,MAAM,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,CAsBlE;AAmJD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { createConfig, strict } from "eslint-plugin-boundaries/config";
|
|
2
|
+
import { defineConfig } from "eslint/config";
|
|
3
|
+
/** Default repository element descriptors used by the boundaries plugin. */
|
|
4
|
+
const defaultElements = [
|
|
5
|
+
{ mode: "full", pattern: "src/index.ts", type: "entrypoint" },
|
|
6
|
+
{ basePattern: "src", pattern: "application", type: "application" },
|
|
7
|
+
{
|
|
8
|
+
basePattern: "src",
|
|
9
|
+
pattern: "infrastructure",
|
|
10
|
+
type: "infrastructure",
|
|
11
|
+
},
|
|
12
|
+
{ basePattern: "src", pattern: "domain", type: "domain" },
|
|
13
|
+
];
|
|
14
|
+
/** Default repository dependency rules used by the boundaries plugin. */
|
|
15
|
+
const defaultElementTypes = [
|
|
16
|
+
"error",
|
|
17
|
+
{
|
|
18
|
+
default: "disallow",
|
|
19
|
+
rules: [
|
|
20
|
+
{
|
|
21
|
+
allow: { to: { type: ["application", "infrastructure"] } },
|
|
22
|
+
from: { type: "entrypoint" },
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
allow: { to: { type: "domain" } },
|
|
26
|
+
from: { type: "application" },
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
allow: { to: { type: ["application", "domain"] } },
|
|
30
|
+
from: { type: "infrastructure" },
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
/** Default source file globs included in repository boundaries checks. */
|
|
36
|
+
const defaultFiles = ["src/**/*.ts"];
|
|
37
|
+
/** Default source file globs excluded from repository boundaries checks. */
|
|
38
|
+
const defaultIgnores = ["src/**/*.spec.ts"];
|
|
39
|
+
/** Repository default boundaries topology aligned with Clean Architecture. */
|
|
40
|
+
const defaultBoundariesConfig = {
|
|
41
|
+
elements: defaultElements,
|
|
42
|
+
elementTypes: defaultElementTypes,
|
|
43
|
+
files: defaultFiles,
|
|
44
|
+
ignores: defaultIgnores,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Load boundaries plugin configuration using the default Clean Architecture
|
|
48
|
+
* topology, with optional per-field overrides and additive extensions.
|
|
49
|
+
* @param config Input config value.
|
|
50
|
+
* @returns Return value output.
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const configs = boundaries({
|
|
54
|
+
* extend: { ignores: ["fixtures/example.ts"] },
|
|
55
|
+
* files: ["packages/example/src/index.ts"],
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function boundaries(config = {}) {
|
|
60
|
+
const { elements, elementTypes, files, ignores } = resolveBoundariesConfig(config);
|
|
61
|
+
const settings = {
|
|
62
|
+
...strict.settings,
|
|
63
|
+
"boundaries/elements": elements,
|
|
64
|
+
};
|
|
65
|
+
const rules = {
|
|
66
|
+
...strict.rules,
|
|
67
|
+
"boundaries/dependencies": elementTypes,
|
|
68
|
+
};
|
|
69
|
+
const configObject = createConfig({
|
|
70
|
+
files: [...files],
|
|
71
|
+
ignores: [...ignores],
|
|
72
|
+
rules,
|
|
73
|
+
settings,
|
|
74
|
+
});
|
|
75
|
+
return defineConfig(configObject);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Clone the element-types rule entry so callers do not mutate shared defaults.
|
|
79
|
+
* @param value Rule entry to clone.
|
|
80
|
+
* @returns The cloned rule entry.
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* cloneElementTypes(defaultBoundariesConfig.elementTypes);
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
function cloneElementTypes(value) {
|
|
87
|
+
const [severity, options] = value;
|
|
88
|
+
return [severity, { ...options, rules: [...(options.rules ?? [])] }];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Merge the normalized base dependency rules with any additive extension rules.
|
|
92
|
+
* @param baseRules The normalized base dependency rules.
|
|
93
|
+
* @param extensionRules Additional extension rules.
|
|
94
|
+
* @returns The merged dependency rules.
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* mergeDependencyRules([], []);
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
function mergeDependencyRules(baseRules, extensionRules) {
|
|
101
|
+
const mergedRules = [];
|
|
102
|
+
for (const rule of baseRules) {
|
|
103
|
+
mergedRules.push(rule);
|
|
104
|
+
}
|
|
105
|
+
for (const rule of extensionRules) {
|
|
106
|
+
mergedRules.push(rule);
|
|
107
|
+
}
|
|
108
|
+
return mergedRules;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Resolve one array field by applying an override first, then appending any
|
|
112
|
+
* additive extensions.
|
|
113
|
+
* @template T Array item type.
|
|
114
|
+
* @param defaults Repository defaults.
|
|
115
|
+
* @param override Optional override that replaces the defaults.
|
|
116
|
+
* @param extension Optional additive extension appended to the base value.
|
|
117
|
+
* @returns The resolved array field.
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* resolveArrayField(["src/index.ts"], ["packages/example.ts"], ["fixtures/example.ts"]);
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
function resolveArrayField(defaults, override, extension) {
|
|
124
|
+
const baseValue = override ?? defaults;
|
|
125
|
+
return extension === void 0 ? [...baseValue] : [...baseValue, ...extension];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Resolve the repo default boundaries topology with optional overrides and
|
|
129
|
+
* additive extensions.
|
|
130
|
+
* @param config Input config value.
|
|
131
|
+
* @returns Return value output.
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* resolveBoundariesConfig({ extend: { ignores: ["fixtures/example.ts"] } });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
function resolveBoundariesConfig(config) {
|
|
138
|
+
const { extend, ...overrides } = config;
|
|
139
|
+
return {
|
|
140
|
+
...defaultBoundariesConfig,
|
|
141
|
+
elements: resolveArrayField(defaultBoundariesConfig.elements, overrides.elements, extend?.elements),
|
|
142
|
+
elementTypes: resolveElementTypes(defaultBoundariesConfig.elementTypes, overrides.elementTypes, extend?.elementTypes),
|
|
143
|
+
files: resolveArrayField(defaultBoundariesConfig.files, overrides.files, extend?.files),
|
|
144
|
+
ignores: resolveArrayField(defaultBoundariesConfig.ignores, overrides.ignores, extend?.ignores),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Resolve the boundaries element-types rule entry with optional replacement and
|
|
149
|
+
* additive rule extensions.
|
|
150
|
+
* @param defaults Repository default element-types rule entry.
|
|
151
|
+
* @param override Optional full replacement rule entry.
|
|
152
|
+
* @param extension Optional additional rules appended to the base rule set.
|
|
153
|
+
* @returns The resolved element-types rule entry.
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* resolveElementTypes(defaultBoundariesConfig.elementTypes, undefined, { rules: [] });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
function resolveElementTypes(defaults, override, extension) {
|
|
160
|
+
const baseValue = override ?? defaults;
|
|
161
|
+
if (extension === void 0) {
|
|
162
|
+
return cloneElementTypes(baseValue);
|
|
163
|
+
}
|
|
164
|
+
const [severity, options] = cloneElementTypes(baseValue);
|
|
165
|
+
const extensionRules = extension.rules ?? [];
|
|
166
|
+
return [
|
|
167
|
+
severity,
|
|
168
|
+
{
|
|
169
|
+
...options,
|
|
170
|
+
rules: mergeDependencyRules(options.rules, extensionRules),
|
|
171
|
+
},
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
export { boundaries, defaultBoundariesConfig };
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9hcmNoaXRlY3R1cmUvYm91bmRhcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQjdDLDRFQUE0RTtBQUM1RSxNQUFNLGVBQWUsR0FBdUI7SUFDMUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUM3RCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ25FO1FBQ0UsV0FBVyxFQUFFLEtBQUs7UUFDbEIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0QsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtDQUMxRCxDQUFDO0FBRUYseUVBQXlFO0FBQ3pFLE1BQU0sbUJBQW1CLEdBQW9DO0lBQzNELE9BQU87SUFDUDtRQUNFLE9BQU8sRUFBRSxVQUFVO1FBQ25CLEtBQUssRUFBRTtZQUNMO2dCQUNFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFELElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxhQUFh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b250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29uZmlnT2JqZWN0IH0gZnJvbSBcIkBlc2xpbnQvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEVsZW1lbnREZXNjcmlwdG9ycyxcbiAgUnVsZXMsXG4gIFNldHRpbmdzLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbmZpZywgc3RyaWN0IH0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgQm91bmRhcmllc0NvbmZpZyxcbiAgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbixcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSxcbn0gZnJvbSBcIi4uLy4uL2RvbWFpblwiO1xuXG4vKiogUmVzb2x2ZWQgYm91bmRhcmllcyBjb25maWcgdXNlZCBpbnRlcm5hbGx5IGFmdGVyIGRlZmF1bHRzIGFyZSBhcHBsaWVkLiAqL1xudHlwZSBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcgPSBPbWl0PFJlcXVpcmVkPEJvdW5kYXJpZXNDb25maWc+LCBcImV4dGVuZFwiPjtcblxuLyoqIEludGVybmFsIGVsZW1lbnQtdHlwZXMgdHVwbGUgd2l0aCBhIG5vcm1hbGl6ZWQgcnVsZXMgYXJyYXkuICovXG50eXBlIFJlc29sdmVkQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVswXSxcbiAgT21pdDxCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdLCBcInJ1bGVzXCI+ICYge1xuICAgIC8qKiBOb3JtYWxpemVkIGRlcGVuZGVuY3kgcnVsZXMgYXJyYXkgd2l0aCBubyB1bmRlZmluZWQgYnJhbmNoIHJlbWFpbmluZy4gKi9cbiAgICBydWxlczogTm9uTnVsbGFibGU8Qm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVsxXVtcInJ1bGVzXCJdPjtcbiAgfSxcbl07XG5cbi8qKiBEZWZhdWx0IHJlcG9zaXRvcnkgZWxlbWVudCBkZXNjcmlwdG9ycyB1c2VkIGJ5IHRoZSBib3VuZGFyaWVzIHBsdWdpbi4gKi9cbmNvbnN0IGRlZmF1bHRFbGVtZW50czogRWxlbWVudERlc2NyaXB0b3JzID0gW1xuICB7IG1vZGU6IFwiZnVsbFwiLCBwYXR0ZXJuOiBcInNyYy9pbmRleC50c1wiLCB0eXBlOiBcImVudHJ5cG9pbnRcIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcInNyY1wiLCBwYXR0ZXJuOiBcImFwcGxpY2F0aW9uXCIsIHR5cGU6IFwiYXBwbGljYXRpb25cIiB9LFxuICB7XG4gICAgYmFzZVBhdHRlcm46IFwic3JjXCIsXG4gICAgcGF0dGVybjogXCJpbmZyYXN0cnVjdHVyZVwiLFxuICAgIHR5cGU6IFwiaW5mcmFzdHJ1Y3R1cmVcIixcbiAgfSxcbiAgeyBiYXNlUGF0dGVybjogXCJzcmNcIiwgcGF0dGVybjogXCJkb21haW5cIiwgdHlwZTogXCJkb21haW5cIiB9LFxuXTtcblxuLyoqIERlZmF1bHQgcmVwb3NpdG9yeSBkZXBlbmRlbmN5IHJ1bGVzIHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xuY29uc3QgZGVmYXVsdEVsZW1lbnRUeXBlczogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgXCJlcnJvclwiLFxuICB7XG4gICAgZGVmYXVsdDogXCJkaXNhbGxvd1wiLFxuICAgIHJ1bGVzOiBbXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IHR5cGU6IFtcImFwcGxpY2F0aW9uXCIsIFwiaW5mcmFzdHJ1Y3R1cmVcIl0gfSB9LFxuICAgICAgICBmcm9tOiB7IHR5cGU6IFwiZW50cnlwb2ludFwiIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbGxvdzogeyB0bzogeyB0eXBlOiBcImRvbWFpblwiIH0gfSxcbiAgICAgICAgZnJvbTogeyB0eXBlOiBcImFwcGxpY2F0aW9uXCIgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IHR5cGU6IFtcImFwcGxpY2F0aW9uXCIsIFwiZG9tYWluXCJdIH0gfSxcbiAgICAgICAgZnJvbTogeyB0eXBlOiBcImluZnJhc3RydWN0dXJlXCIgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8qKiBEZWZhdWx0IHNvdXJjZSBmaWxlIGdsb2JzIGluY2x1ZGVkIGluIHJlcG9zaXRvcnkgYm91bmRhcmllcyBjaGVja3MuICovXG5jb25zdCBkZWZhdWx0RmlsZXMgPSBbXCJzcmMvKiovKi50c1wiXTtcblxuLyoqIERlZmF1bHQgc291cmNlIGZpbGUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgZGVmYXVsdElnbm9yZXMgPSBbXCJzcmMvKiovKi5zcGVjLnRzXCJdO1xuXG4vKiogUmVwb3NpdG9yeSBkZWZhdWx0IGJvdW5kYXJpZXMgdG9wb2xvZ3kgYWxpZ25lZCB3aXRoIENsZWFuIEFyY2hpdGVjdHVyZS4gKi9cbmNvbnN0IGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnOiBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcgPSB7XG4gIGVsZW1lbnRzOiBkZWZhdWx0RWxlbWVudHMsXG4gIGVsZW1lbnRUeXBlczogZGVmYXVsdEVsZW1lbnRUeXBlcyxcbiAgZmlsZXM6IGRlZmF1bHRGaWxlcyxcbiAgaWdub3JlczogZGVmYXVsdElnbm9yZXMsXG59O1xuXG4vKipcbiAqIExvYWQgYm91bmRhcmllcyBwbHVnaW4gY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZGVmYXVsdCBDbGVhbiBBcmNoaXRlY3R1cmVcbiAqIHRvcG9sb2d5LCB3aXRoIG9wdGlvbmFsIHBlci1maWVsZCBvdmVycmlkZXMgYW5kIGFkZGl0aXZlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gY29uZmlnIElucHV0IGNvbmZpZyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlncyA9IGJvdW5kYXJpZXMoe1xuICogICBleHRlbmQ6IHsgaWdub3JlczogW1wiZml4dHVyZXMvZXhhbXBsZS50c1wiXSB9LFxuICogICBmaWxlczogW1wicGFja2FnZXMvZXhhbXBsZS9zcmMvaW5kZXgudHNcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBib3VuZGFyaWVzKGNvbmZpZzogQm91bmRhcmllc0NvbmZpZyA9IHt9KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgY29uc3QgeyBlbGVtZW50cywgZWxlbWVudFR5cGVzLCBmaWxlcywgaWdub3JlcyB9ID1cbiAgICByZXNvbHZlQm91bmRhcmllc0NvbmZpZyhjb25maWcpO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5ncyA9IHtcbiAgICAuLi5zdHJpY3Quc2V0dGluZ3MsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnRzXCI6IGVsZW1lbnRzLFxuICB9O1xuXG4gIGNvbnN0IHJ1bGVzOiBSdWxlcyA9IHtcbiAgICAuLi5zdHJpY3QucnVsZXMsXG4gICAgXCJib3VuZGFyaWVzL2RlcGVuZGVuY2llc1wiOiBlbGVtZW50VHlwZXMsXG4gIH07XG5cbiAgY29uc3QgY29uZmlnT2JqZWN0ID0gY3JlYXRlQ29uZmlnKHtcbiAgICBmaWxlczogWy4uLmZpbGVzXSxcbiAgICBpZ25vcmVzOiBbLi4uaWdub3Jlc10sXG4gICAgcnVsZXMsXG4gICAgc2V0dGluZ3MsXG4gIH0pIGFzIENvbmZpZ09iamVjdDtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ09iamVjdCk7XG59XG5cbi8qKlxuICogQ2xvbmUgdGhlIGVsZW1lbnQtdHlwZXMgcnVsZSBlbnRyeSBzbyBjYWxsZXJzIGRvIG5vdCBtdXRhdGUgc2hhcmVkIGRlZmF1bHRzLlxuICogQHBhcmFtIHZhbHVlIFJ1bGUgZW50cnkgdG8gY2xvbmUuXG4gKiBAcmV0dXJucyBUaGUgY2xvbmVkIHJ1bGUgZW50cnkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xvbmVFbGVtZW50VHlwZXMoZGVmYXVsdEJvdW5kYXJpZXNDb25maWcuZWxlbWVudFR5cGVzKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRUeXBlcyhcbiAgdmFsdWU6IEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4pOiBSZXNvbHZlZEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnkge1xuICBjb25zdCBbc2V2ZXJpdHksIG9wdGlvbnNdID0gdmFsdWU7XG5cbiAgcmV0dXJuIFtzZXZlcml0eSwgeyAuLi5vcHRpb25zLCBydWxlczogWy4uLihvcHRpb25zLnJ1bGVzID8/IFtdKV0gfV07XG59XG5cbi8qKlxuICogTWVyZ2UgdGhlIG5vcm1hbGl6ZWQgYmFzZSBkZXBlbmRlbmN5IHJ1bGVzIHdpdGggYW55IGFkZGl0aXZlIGV4dGVuc2lvbiBydWxlcy5cbiAqIEBwYXJhbSBiYXNlUnVsZXMgVGhlIG5vcm1hbGl6ZWQgYmFzZSBkZXBlbmRlbmN5IHJ1bGVzLlxuICogQHBhcmFtIGV4dGVuc2lvblJ1bGVzIEFkZGl0aW9uYWwgZXh0ZW5zaW9uIHJ1bGVzLlxuICogQHJldHVybnMgVGhlIG1lcmdlZCBkZXBlbmRlbmN5IHJ1bGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1lcmdlRGVwZW5kZW5jeVJ1bGVzKFtdLCBbXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEZXBlbmRlbmN5UnVsZXMoXG4gIGJhc2VSdWxlczogTm9uTnVsbGFibGU8Qm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVsxXVtcInJ1bGVzXCJdPixcbiAgZXh0ZW5zaW9uUnVsZXM6IE5vbk51bGxhYmxlPEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnlbMV1bXCJydWxlc1wiXT4sXG4pOiBOb25OdWxsYWJsZTxCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdW1wicnVsZXNcIl0+IHtcbiAgY29uc3QgbWVyZ2VkUnVsZXM6IE5vbk51bGxhYmxlPEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnlbMV1bXCJydWxlc1wiXT4gPVxuICAgIFtdO1xuXG4gIGZvciAoY29uc3QgcnVsZSBvZiBiYXNlUnVsZXMpIHtcbiAgICBtZXJnZWRSdWxlcy5wdXNoKHJ1bGUpO1xuICB9XG5cbiAgZm9yIChjb25zdCBydWxlIG9mIGV4dGVuc2lvblJ1bGVzKSB7XG4gICAgbWVyZ2VkUnVsZXMucHVzaChydWxlKTtcbiAgfVxuXG4gIHJldHVybiBtZXJnZWRSdWxlcztcbn1cblxuLyoqXG4gKiBSZXNvbHZlIG9uZSBhcnJheSBmaWVsZCBieSBhcHBseWluZyBhbiBvdmVycmlkZSBmaXJzdCwgdGhlbiBhcHBlbmRpbmcgYW55XG4gKiBhZGRpdGl2ZSBleHRlbnNpb25zLlxuICogQHRlbXBsYXRlIFQgQXJyYXkgaXRlbSB0eXBlLlxuICogQHBhcmFtIGRlZmF1bHRzIFJlcG9zaXRvcnkgZGVmYXVsdHMuXG4gKiBAcGFyYW0gb3ZlcnJpZGUgT3B0aW9uYWwgb3ZlcnJpZGUgdGhhdCByZXBsYWNlcyB0aGUgZGVmYXVsdHMuXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIE9wdGlvbmFsIGFkZGl0aXZlIGV4dGVuc2lvbiBhcHBlbmRlZCB0byB0aGUgYmFzZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBhcnJheSBmaWVsZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXNvbHZlQXJyYXlGaWVsZChbXCJzcmMvaW5kZXgudHNcIl0sIFtcInBhY2thZ2VzL2V4YW1wbGUudHNcIl0sIFtcImZpeHR1cmVzL2V4YW1wbGUudHNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVBcnJheUZpZWxkPFQ+KFxuICBkZWZhdWx0czogcmVhZG9ubHkgVFtdLFxuICBvdmVycmlkZTogcmVhZG9ubHkgVFtdIHwgdW5kZWZpbmVkLFxuICBleHRlbnNpb246IHJlYWRvbmx5IFRbXSB8IHVuZGVmaW5lZCxcbik6IFRbXSB7XG4gIGNvbnN0IGJhc2VWYWx1ZSA9IG92ZXJyaWRlID8/IGRlZmF1bHRzO1xuXG4gIHJldHVybiBleHRlbnNpb24gPT09IHZvaWQgMCA/IFsuLi5iYXNlVmFsdWVdIDogWy4uLmJhc2VWYWx1ZSwgLi4uZXh0ZW5zaW9uXTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSByZXBvIGRlZmF1bHQgYm91bmRhcmllcyB0b3BvbG9neSB3aXRoIG9wdGlvbmFsIG92ZXJyaWRlcyBhbmRcbiAqIGFkZGl0aXZlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gY29uZmlnIElucHV0IGNvbmZpZyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVzb2x2ZUJvdW5kYXJpZXNDb25maWcoeyBleHRlbmQ6IHsgaWdub3JlczogW1wiZml4dHVyZXMvZXhhbXBsZS50c1wiXSB9IH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVCb3VuZGFyaWVzQ29uZmlnKFxuICBjb25maWc6IEJvdW5kYXJpZXNDb25maWcsXG4pOiBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcge1xuICBjb25zdCB7IGV4dGVuZCwgLi4ub3ZlcnJpZGVzIH0gPSBjb25maWc7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0Qm91bmRhcmllc0NvbmZpZyxcbiAgICBlbGVtZW50czogcmVzb2x2ZUFycmF5RmllbGQoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5lbGVtZW50cyxcbiAgICAgIG92ZXJyaWRlcy5lbGVtZW50cyxcbiAgICAgIGV4dGVuZD8uZWxlbWVudHMsXG4gICAgKSxcbiAgICBlbGVtZW50VHlwZXM6IHJlc29sdmVFbGVtZW50VHlwZXMoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5lbGVtZW50VHlwZXMsXG4gICAgICBvdmVycmlkZXMuZWxlbWVudFR5cGVzLFxuICAgICAgZXh0ZW5kPy5lbGVtZW50VHlwZXMsXG4gICAgKSxcbiAgICBmaWxlczogcmVzb2x2ZUFycmF5RmllbGQoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5maWxlcyxcbiAgICAgIG92ZXJyaWRlcy5maWxlcyxcbiAgICAgIGV4dGVuZD8uZmlsZXMsXG4gICAgKSxcbiAgICBpZ25vcmVzOiByZXNvbHZlQXJyYXlGaWVsZChcbiAgICAgIGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnLmlnbm9yZXMsXG4gICAgICBvdmVycmlkZXMuaWdub3JlcyxcbiAgICAgIGV4dGVuZD8uaWdub3JlcyxcbiAgICApLFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIGJvdW5kYXJpZXMgZWxlbWVudC10eXBlcyBydWxlIGVudHJ5IHdpdGggb3B0aW9uYWwgcmVwbGFjZW1lbnQgYW5kXG4gKiBhZGRpdGl2ZSBydWxlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gZGVmYXVsdHMgUmVwb3NpdG9yeSBkZWZhdWx0IGVsZW1lbnQtdHlwZXMgcnVsZSBlbnRyeS5cbiAqIEBwYXJhbSBvdmVycmlkZSBPcHRpb25hbCBmdWxsIHJlcGxhY2VtZW50IHJ1bGUgZW50cnkuXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIE9wdGlvbmFsIGFkZGl0aW9uYWwgcnVsZXMgYXBwZW5kZWQgdG8gdGhlIGJhc2UgcnVsZSBzZXQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgZWxlbWVudC10eXBlcyBydWxlIGVudHJ5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlc29sdmVFbGVtZW50VHlwZXMoZGVmYXVsdEJvdW5kYXJpZXNDb25maWcuZWxlbWVudFR5cGVzLCB1bmRlZmluZWQsIHsgcnVsZXM6IFtdIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVFbGVtZW50VHlwZXMoXG4gIGRlZmF1bHRzOiBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5LFxuICBvdmVycmlkZTogQm91bmRhcmllc0NvbmZpZ1tcImVsZW1lbnRUeXBlc1wiXSxcbiAgZXh0ZW5zaW9uOiBCb3VuZGFyaWVzQ29uZmlnRXh0ZW5zaW9uW1wiZWxlbWVudFR5cGVzXCJdLFxuKTogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSB7XG4gIGNvbnN0IGJhc2VWYWx1ZSA9IG92ZXJyaWRlID8/IGRlZmF1bHRzO1xuXG4gIGlmIChleHRlbnNpb24gPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjbG9uZUVsZW1lbnRUeXBlcyhiYXNlVmFsdWUpO1xuICB9XG5cbiAgY29uc3QgW3NldmVyaXR5LCBvcHRpb25zXSA9IGNsb25lRWxlbWVudFR5cGVzKGJhc2VWYWx1ZSk7XG4gIGNvbnN0IGV4dGVuc2lvblJ1bGVzOiBOb25OdWxsYWJsZTxcbiAgICBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdW1wicnVsZXNcIl1cbiAgPiA9IGV4dGVuc2lvbi5ydWxlcyA/PyBbXTtcblxuICByZXR1cm4gW1xuICAgIHNldmVyaXR5LFxuICAgIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBydWxlczogbWVyZ2VEZXBlbmRlbmN5UnVsZXMob3B0aW9ucy5ydWxlcywgZXh0ZW5zaW9uUnVsZXMpLFxuICAgIH0sXG4gIF07XG59XG5cbmV4cG9ydCB7IGJvdW5kYXJpZXMsIGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnIH07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoDrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAmCjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|