oxlint-architecture-rules 0.1.0-beta.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/build/dts/adapters/cli/main.d.ts +3 -0
- package/build/dts/adapters/cli/main.d.ts.map +1 -0
- package/build/dts/adapters/cli/run.d.ts +19 -0
- package/build/dts/adapters/cli/run.d.ts.map +1 -0
- package/build/dts/adapters/cli/source-facts.d.ts +9 -0
- package/build/dts/adapters/cli/source-facts.d.ts.map +1 -0
- package/build/dts/adapters/cli/source-files.d.ts +2 -0
- package/build/dts/adapters/cli/source-files.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/config-loader.d.ts +23 -0
- package/build/dts/adapters/oxlint/config-loader.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/exports-rule.d.ts +4 -0
- package/build/dts/adapters/oxlint/exports-rule.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/imports-rule.d.ts +4 -0
- package/build/dts/adapters/oxlint/imports-rule.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/members-rule.d.ts +4 -0
- package/build/dts/adapters/oxlint/members-rule.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/oxlint-api.d.ts +19 -0
- package/build/dts/adapters/oxlint/oxlint-api.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/plugin.d.ts +15 -0
- package/build/dts/adapters/oxlint/plugin.d.ts.map +1 -0
- package/build/dts/adapters/oxlint/structure-rule.d.ts +4 -0
- package/build/dts/adapters/oxlint/structure-rule.d.ts.map +1 -0
- package/build/dts/core/baseline.d.ts +16 -0
- package/build/dts/core/baseline.d.ts.map +1 -0
- package/build/dts/core/exports.d.ts +39 -0
- package/build/dts/core/exports.d.ts.map +1 -0
- package/build/dts/core/imports.d.ts +27 -0
- package/build/dts/core/imports.d.ts.map +1 -0
- package/build/dts/core/members.d.ts +28 -0
- package/build/dts/core/members.d.ts.map +1 -0
- package/build/dts/core/patterns.d.ts +19 -0
- package/build/dts/core/patterns.d.ts.map +1 -0
- package/build/dts/core/structure.d.ts +48 -0
- package/build/dts/core/structure.d.ts.map +1 -0
- package/build/dts/domain/architecture-config.d.ts +177 -0
- package/build/dts/domain/architecture-config.d.ts.map +1 -0
- package/build/dts/domain/architecture-error.d.ts +27 -0
- package/build/dts/domain/architecture-error.d.ts.map +1 -0
- package/build/dts/domain/violation.d.ts +11 -0
- package/build/dts/domain/violation.d.ts.map +1 -0
- package/build/dts/index.d.ts +10 -0
- package/build/dts/index.d.ts.map +1 -0
- package/build/dts/infrastructure/file-system-fake.d.ts +3 -0
- package/build/dts/infrastructure/file-system-fake.d.ts.map +1 -0
- package/build/dts/infrastructure/file-system-live.d.ts +3 -0
- package/build/dts/infrastructure/file-system-live.d.ts.map +1 -0
- package/build/dts/infrastructure/module-resolver-fake.d.ts +3 -0
- package/build/dts/infrastructure/module-resolver-fake.d.ts.map +1 -0
- package/build/dts/infrastructure/module-resolver-live.d.ts +4 -0
- package/build/dts/infrastructure/module-resolver-live.d.ts.map +1 -0
- package/build/dts/manifest/compile.d.ts +16 -0
- package/build/dts/manifest/compile.d.ts.map +1 -0
- package/build/dts/manifest/glob.d.ts +14 -0
- package/build/dts/manifest/glob.d.ts.map +1 -0
- package/build/dts/manifest/manifest.d.ts +96 -0
- package/build/dts/manifest/manifest.d.ts.map +1 -0
- package/build/dts/ports/file-system.d.ts +4 -0
- package/build/dts/ports/file-system.d.ts.map +1 -0
- package/build/dts/ports/module-resolver.d.ts +11 -0
- package/build/dts/ports/module-resolver.d.ts.map +1 -0
- package/build/esm/adapters/cli/main.js +17 -0
- package/build/esm/adapters/cli/main.js.map +1 -0
- package/build/esm/adapters/cli/run.js +188 -0
- package/build/esm/adapters/cli/run.js.map +1 -0
- package/build/esm/adapters/cli/source-facts.js +117 -0
- package/build/esm/adapters/cli/source-facts.js.map +1 -0
- package/build/esm/adapters/cli/source-files.js +40 -0
- package/build/esm/adapters/cli/source-files.js.map +1 -0
- package/build/esm/adapters/oxlint/config-loader.js +81 -0
- package/build/esm/adapters/oxlint/config-loader.js.map +1 -0
- package/build/esm/adapters/oxlint/exports-rule.js +104 -0
- package/build/esm/adapters/oxlint/exports-rule.js.map +1 -0
- package/build/esm/adapters/oxlint/imports-rule.js +55 -0
- package/build/esm/adapters/oxlint/imports-rule.js.map +1 -0
- package/build/esm/adapters/oxlint/members-rule.js +75 -0
- package/build/esm/adapters/oxlint/members-rule.js.map +1 -0
- package/build/esm/adapters/oxlint/oxlint-api.js +7 -0
- package/build/esm/adapters/oxlint/oxlint-api.js.map +1 -0
- package/build/esm/adapters/oxlint/plugin.js +23 -0
- package/build/esm/adapters/oxlint/plugin.js.map +1 -0
- package/build/esm/adapters/oxlint/structure-rule.js +37 -0
- package/build/esm/adapters/oxlint/structure-rule.js.map +1 -0
- package/build/esm/core/baseline.js +30 -0
- package/build/esm/core/baseline.js.map +1 -0
- package/build/esm/core/exports.js +96 -0
- package/build/esm/core/exports.js.map +1 -0
- package/build/esm/core/imports.js +85 -0
- package/build/esm/core/imports.js.map +1 -0
- package/build/esm/core/members.js +84 -0
- package/build/esm/core/members.js.map +1 -0
- package/build/esm/core/patterns.js +78 -0
- package/build/esm/core/patterns.js.map +1 -0
- package/build/esm/core/structure.js +256 -0
- package/build/esm/core/structure.js.map +1 -0
- package/build/esm/domain/architecture-config.js +172 -0
- package/build/esm/domain/architecture-config.js.map +1 -0
- package/build/esm/domain/architecture-error.js +29 -0
- package/build/esm/domain/architecture-error.js.map +1 -0
- package/build/esm/domain/violation.js +8 -0
- package/build/esm/domain/violation.js.map +1 -0
- package/build/esm/index.js +8 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/infrastructure/file-system-fake.js +5 -0
- package/build/esm/infrastructure/file-system-fake.js.map +1 -0
- package/build/esm/infrastructure/file-system-live.js +19 -0
- package/build/esm/infrastructure/file-system-live.js.map +1 -0
- package/build/esm/infrastructure/module-resolver-fake.js +23 -0
- package/build/esm/infrastructure/module-resolver-fake.js.map +1 -0
- package/build/esm/infrastructure/module-resolver-live.js +71 -0
- package/build/esm/infrastructure/module-resolver-live.js.map +1 -0
- package/build/esm/manifest/compile.js +503 -0
- package/build/esm/manifest/compile.js.map +1 -0
- package/build/esm/manifest/glob.js +77 -0
- package/build/esm/manifest/glob.js.map +1 -0
- package/build/esm/manifest/manifest.js +120 -0
- package/build/esm/manifest/manifest.js.map +1 -0
- package/build/esm/ports/file-system.js +2 -0
- package/build/esm/ports/file-system.js.map +1 -0
- package/build/esm/ports/module-resolver.js +2 -0
- package/build/esm/ports/module-resolver.js.map +1 -0
- package/package.json +73 -0
- package/src/adapters/cli/main.ts +20 -0
- package/src/adapters/cli/run.ts +270 -0
- package/src/adapters/cli/source-facts.ts +137 -0
- package/src/adapters/cli/source-files.ts +42 -0
- package/src/adapters/oxlint/config-loader.ts +136 -0
- package/src/adapters/oxlint/exports-rule.ts +144 -0
- package/src/adapters/oxlint/imports-rule.ts +67 -0
- package/src/adapters/oxlint/members-rule.ts +114 -0
- package/src/adapters/oxlint/oxlint-api.ts +25 -0
- package/src/adapters/oxlint/plugin.ts +35 -0
- package/src/adapters/oxlint/structure-rule.ts +39 -0
- package/src/core/baseline.ts +62 -0
- package/src/core/exports.ts +164 -0
- package/src/core/imports.ts +138 -0
- package/src/core/members.ts +131 -0
- package/src/core/patterns.ts +122 -0
- package/src/core/structure.ts +348 -0
- package/src/domain/architecture-config.ts +206 -0
- package/src/domain/architecture-error.ts +43 -0
- package/src/domain/violation.ts +24 -0
- package/src/index.ts +28 -0
- package/src/infrastructure/file-system-fake.ts +6 -0
- package/src/infrastructure/file-system-live.ts +20 -0
- package/src/infrastructure/module-resolver-fake.ts +29 -0
- package/src/infrastructure/module-resolver-live.ts +100 -0
- package/src/manifest/compile.ts +736 -0
- package/src/manifest/glob.ts +108 -0
- package/src/manifest/manifest.ts +178 -0
- package/src/ports/file-system.ts +5 -0
- package/src/ports/module-resolver.ts +23 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Data Quail
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/main.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import { type Violation } from "../../domain/violation.js";
|
|
3
|
+
import { type LoadedPolicy } from "../oxlint/config-loader.js";
|
|
4
|
+
export type CliFailure = {
|
|
5
|
+
readonly _tag: "CliFailure";
|
|
6
|
+
readonly message: string;
|
|
7
|
+
};
|
|
8
|
+
export type Findings = {
|
|
9
|
+
readonly violations: ReadonlyArray<Violation>;
|
|
10
|
+
readonly unresolved: ReadonlyArray<string>;
|
|
11
|
+
readonly files: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const collectFindings: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Findings;
|
|
14
|
+
export declare const check: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
15
|
+
export declare const writeBaseline: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
16
|
+
export declare const explain: (policy: LoadedPolicy, file: string) => Effect.Effect<void, CliFailure>;
|
|
17
|
+
export declare const run: (repoRoot: string, argv: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
18
|
+
export declare const fingerprint: (violation: Violation) => string;
|
|
19
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAgBxC,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,4BAA4B,CAAC;AAgB3E,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAInF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,KAAG,QA6CpF,CAAC;AAyBF,eAAO,MAAM,KAAK,GAChB,QAAQ,YAAY,EACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAiC7B,CAAC;AAEL,eAAO,MAAM,aAAa,GACxB,QAAQ,YAAY,EACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAkB7B,CAAC;AAIL,eAAO,MAAM,OAAO,GAAI,QAAQ,YAAY,EAAE,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CA0DvF,CAAC;AAEL,eAAO,MAAM,GAAG,GACd,UAAU,MAAM,EAChB,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAyB7B,CAAC;AAEL,eAAO,MAAM,WAAW,kCAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Binding } from "../../core/exports.js";
|
|
2
|
+
import type { MemberSite } from "../../core/members.js";
|
|
3
|
+
export type SourceFacts = {
|
|
4
|
+
readonly specifiers: ReadonlyArray<string>;
|
|
5
|
+
readonly bindings: ReadonlyMap<string, ReadonlyArray<Binding>>;
|
|
6
|
+
readonly memberSites: ReadonlyArray<MemberSite>;
|
|
7
|
+
};
|
|
8
|
+
export declare const sourceFactsOf: (repoRoot: string, file: string) => SourceFacts;
|
|
9
|
+
//# sourceMappingURL=source-facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-facts.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/source-facts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQxD,MAAM,MAAM,WAAW,GAAG;IAGxB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE3C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD,CAAC;AAmDF,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,WAgE9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/source-files.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,aAAa,CAAC,MAAM,CAkBtB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type BaselineFilter } from "../../core/baseline.js";
|
|
2
|
+
import { type CompiledExportRule } from "../../core/exports.js";
|
|
3
|
+
import { type CompiledImportRule } from "../../core/imports.js";
|
|
4
|
+
import { type CompiledMemberRule } from "../../core/members.js";
|
|
5
|
+
import { type CompiledStructure } from "../../core/structure.js";
|
|
6
|
+
import { type Manifest } from "../../manifest/manifest.js";
|
|
7
|
+
import type { FileSystem } from "../../ports/file-system.js";
|
|
8
|
+
import type { ModuleResolver } from "../../ports/module-resolver.js";
|
|
9
|
+
export type LoadedPolicy = {
|
|
10
|
+
readonly repoRoot: string;
|
|
11
|
+
readonly config: Manifest;
|
|
12
|
+
readonly importRules: ReadonlyArray<CompiledImportRule>;
|
|
13
|
+
readonly exportRules: ReadonlyArray<CompiledExportRule>;
|
|
14
|
+
readonly memberRules: ReadonlyArray<CompiledMemberRule>;
|
|
15
|
+
readonly structure: CompiledStructure;
|
|
16
|
+
readonly fileSystem: FileSystem;
|
|
17
|
+
readonly baseline: BaselineFilter;
|
|
18
|
+
readonly resolver: ModuleResolver;
|
|
19
|
+
readonly ignoreUnresolved: ReadonlyArray<RegExp>;
|
|
20
|
+
};
|
|
21
|
+
export declare const DEFAULT_CONFIG_FILENAME = "architecture.config.mjs";
|
|
22
|
+
export declare const loadPolicy: (repoRoot: string, configFilename?: string) => Promise<LoadedPolicy>;
|
|
23
|
+
//# sourceMappingURL=config-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAClD,CAAC;AAYF,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAKjE,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,iBAAgB,MAAgC,KAC/C,OAAO,CAAC,YAAY,CA8DtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports-rule.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/exports-rule.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAEL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AAuDzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAwErD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports-rule.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/imports-rule.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,KAAK,UAAU,EAKhB,MAAM,iBAAiB,CAAC;AAOzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAgDrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members-rule.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/members-rule.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AA8CzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAuDrD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RuleTester } from "oxlint/plugins-dev";
|
|
2
|
+
export type OxlintRule = Parameters<RuleTester["run"]>[1];
|
|
3
|
+
export type RuleContext = Parameters<Extract<OxlintRule, {
|
|
4
|
+
createOnce: unknown;
|
|
5
|
+
}>["createOnce"]>[0];
|
|
6
|
+
type Diagnostic = Parameters<RuleContext["report"]>[0];
|
|
7
|
+
export type ReportableNode = Extract<Diagnostic, {
|
|
8
|
+
node: unknown;
|
|
9
|
+
}>["node"];
|
|
10
|
+
export type Fixer = Parameters<NonNullable<Diagnostic["fix"]>>[0];
|
|
11
|
+
export type SourceNode = ReportableNode & {
|
|
12
|
+
readonly source?: {
|
|
13
|
+
readonly value?: unknown;
|
|
14
|
+
} | null;
|
|
15
|
+
};
|
|
16
|
+
export declare const toRepoRelative: (repoRoot: string, filename: string) => string;
|
|
17
|
+
export declare const specifierOf: (node: SourceNode) => string | null;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=oxlint-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oxlint-api.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/oxlint-api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,KAAK,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MACP,CAAC;AAE9D,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,KAAG,MAAM,GAAG,IAGvD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OxlintRule } from "./oxlint-api.js";
|
|
2
|
+
export declare const rules: {
|
|
3
|
+
readonly imports: OxlintRule;
|
|
4
|
+
readonly exports: OxlintRule;
|
|
5
|
+
readonly members: OxlintRule;
|
|
6
|
+
readonly structure: OxlintRule;
|
|
7
|
+
};
|
|
8
|
+
declare const plugin: {
|
|
9
|
+
readonly meta: {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
};
|
|
12
|
+
readonly rules: typeof rules;
|
|
13
|
+
};
|
|
14
|
+
export default plugin;
|
|
15
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAalD,eAAO,MAAM,KAAK,EAAE;IAClB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAMhC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAA;CAGrF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure-rule.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/structure-rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,iBAAiB,CAAC;AAEpF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,YAAY,KAAG,UAiCvD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Violation } from "../domain/violation.js";
|
|
2
|
+
export type Baseline = {
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly entries: ReadonlyArray<string>;
|
|
5
|
+
};
|
|
6
|
+
export declare const EMPTY_BASELINE: Baseline;
|
|
7
|
+
export declare const baselineOf: (violations: Iterable<Violation>) => Baseline;
|
|
8
|
+
export declare const decodeBaseline: (raw: unknown) => Baseline;
|
|
9
|
+
export declare const serializeBaseline: (baseline: Baseline) => string;
|
|
10
|
+
export type BaselineFilter = {
|
|
11
|
+
readonly isBaselined: (violation: Violation) => boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const makeBaselineFilter: (baseline: Baseline) => BaselineFilter;
|
|
14
|
+
export declare const staleEntriesOf: (baseline: Baseline, violations: Iterable<Violation>) => ReadonlyArray<string>;
|
|
15
|
+
export declare const unbaselined: (baseline: Baseline, violations: Iterable<Violation>) => ReadonlyArray<Violation>;
|
|
16
|
+
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../src/core/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAcxD,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAsC,CAAC;AAEpE,eAAO,MAAM,UAAU,GAAI,YAAY,QAAQ,CAAC,SAAS,CAAC,KAAG,QAG3D,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,QAK7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,QAAQ,KAAG,MACb,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,cAGvD,CAAC;AAIF,eAAO,MAAM,cAAc,GACzB,UAAU,QAAQ,EAClB,YAAY,QAAQ,CAAC,SAAS,CAAC,KAC9B,aAAa,CAAC,MAAM,CAGtB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,UAAU,QAAQ,EAClB,YAAY,QAAQ,CAAC,SAAS,CAAC,KAC9B,aAAa,CAAC,SAAS,CAGzB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { BindingKind, ExportProbe, ExportRule } from "../domain/architecture-config.js";
|
|
3
|
+
import type { ImportUnresolved, PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { Violation } from "../domain/violation.js";
|
|
5
|
+
import type { ModuleResolver } from "../ports/module-resolver.js";
|
|
6
|
+
export type CompiledExportRule = {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly message: string;
|
|
9
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
10
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
11
|
+
readonly to: ReadonlyArray<string>;
|
|
12
|
+
readonly toNot: ReadonlyArray<string>;
|
|
13
|
+
readonly symbols: ReadonlySet<string> | null;
|
|
14
|
+
readonly kinds: ReadonlyArray<BindingKind>;
|
|
15
|
+
readonly fix: "subpath-namespace-import" | null;
|
|
16
|
+
readonly probe: ExportProbe;
|
|
17
|
+
};
|
|
18
|
+
export declare const compileExportRule: (rule: ExportRule) => Result.Result<CompiledExportRule, PatternInvalid>;
|
|
19
|
+
export declare const compileExportRules: (rules: ReadonlyArray<ExportRule>) => Result.Result<ReadonlyArray<CompiledExportRule>, PatternInvalid>;
|
|
20
|
+
export type Binding = {
|
|
21
|
+
readonly symbol: string;
|
|
22
|
+
readonly kind: BindingKind;
|
|
23
|
+
};
|
|
24
|
+
export type BindingEdge = {
|
|
25
|
+
readonly importer: string;
|
|
26
|
+
readonly specifier: string;
|
|
27
|
+
readonly bindings: ReadonlyArray<Binding>;
|
|
28
|
+
};
|
|
29
|
+
export type SelectedExportRule = readonly [CompiledExportRule, RegExpExecArray];
|
|
30
|
+
export declare const exportRulesSelecting: (rules: ReadonlyArray<CompiledExportRule>, importer: string) => ReadonlyArray<SelectedExportRule>;
|
|
31
|
+
export type ExportViolation = {
|
|
32
|
+
readonly violation: Violation;
|
|
33
|
+
readonly rule: CompiledExportRule;
|
|
34
|
+
readonly bindings: ReadonlyArray<Binding>;
|
|
35
|
+
};
|
|
36
|
+
export declare const evaluateSelectedBindings: (selected: ReadonlyArray<SelectedExportRule>, resolver: ModuleResolver, edge: BindingEdge) => Result.Result<ReadonlyArray<ExportViolation>, ImportUnresolved>;
|
|
37
|
+
export declare const evaluateBindingEdge: (rules: ReadonlyArray<CompiledExportRule>, resolver: ModuleResolver, edge: BindingEdge) => Result.Result<ReadonlyArray<ExportViolation>, ImportUnresolved>;
|
|
38
|
+
export declare const exportRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledExportRule>) => ReadonlyArray<CompiledExportRule>;
|
|
39
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/core/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAWlE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,UAAU,KACf,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAwBlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,aAAa,CAAC,UAAU,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAQjE,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,UAAU,MAAM,KACf,aAAa,CAAC,kBAAkB,CAOlC,CAAC;AAKF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,UAAU,aAAa,CAAC,kBAAkB,CAAC,EAC3C,UAAU,cAAc,EACxB,MAAM,WAAW,KAChB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAkChE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,UAAU,cAAc,EACxB,MAAM,WAAW,KAChB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gBAAgB,CACqB,CAAC;AAEvF,eAAO,MAAM,4BAA4B,GACvC,OAAO,aAAa,CAAC,kBAAkB,CAAC,KACvC,aAAa,CAAC,kBAAkB,CAS/B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { ImportProbe, ImportRule } from "../domain/architecture-config.js";
|
|
3
|
+
import type { ImportUnresolved, PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { Violation } from "../domain/violation.js";
|
|
5
|
+
import type { DependencyKind, ModuleResolver } from "../ports/module-resolver.js";
|
|
6
|
+
export type CompiledImportRule = {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly message: string;
|
|
9
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
10
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
11
|
+
readonly to: ReadonlyArray<string>;
|
|
12
|
+
readonly toNot: ReadonlyArray<string>;
|
|
13
|
+
readonly dependencyKind: DependencyKind | null;
|
|
14
|
+
readonly probe: ImportProbe;
|
|
15
|
+
};
|
|
16
|
+
export declare const compileImportRule: (rule: ImportRule) => Result.Result<CompiledImportRule, PatternInvalid>;
|
|
17
|
+
export declare const compileImportRules: (rules: ReadonlyArray<ImportRule>) => Result.Result<ReadonlyArray<CompiledImportRule>, PatternInvalid>;
|
|
18
|
+
export type ImportEdge = {
|
|
19
|
+
readonly importer: string;
|
|
20
|
+
readonly specifier: string;
|
|
21
|
+
};
|
|
22
|
+
export type SelectedRule = readonly [CompiledImportRule, RegExpExecArray];
|
|
23
|
+
export declare const rulesSelecting: (rules: ReadonlyArray<CompiledImportRule>, importer: string) => ReadonlyArray<SelectedRule>;
|
|
24
|
+
export declare const evaluateSelectedEdge: (selected: ReadonlyArray<SelectedRule>, resolver: ModuleResolver, edge: ImportEdge) => Result.Result<ReadonlyArray<Violation>, ImportUnresolved>;
|
|
25
|
+
export declare const evaluateImportEdge: (rules: ReadonlyArray<CompiledImportRule>, resolver: ModuleResolver, edge: ImportEdge) => Result.Result<ReadonlyArray<Violation>, ImportUnresolved>;
|
|
26
|
+
export declare const rulesFailingTheirProbe: (rules: ReadonlyArray<CompiledImportRule>) => ReadonlyArray<CompiledImportRule>;
|
|
27
|
+
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../src/core/imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAUlF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAIxC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,UAAU,KACf,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAsBlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,aAAa,CAAC,UAAU,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAQjE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;AAK1E,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,UAAU,MAAM,KACf,aAAa,CAAC,YAAY,CAO5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,aAAa,CAAC,YAAY,CAAC,EACrC,UAAU,cAAc,EACxB,MAAM,UAAU,KACf,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAsB1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,UAAU,cAAc,EACxB,MAAM,UAAU,KACf,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,gBAAgB,CACiB,CAAC;AAK7E,eAAO,MAAM,sBAAsB,GACjC,OAAO,aAAa,CAAC,kBAAkB,CAAC,KACvC,aAAa,CAAC,kBAAkB,CAQ/B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { MemberProbe, MemberRule, MemberSubject } from "../domain/architecture-config.js";
|
|
3
|
+
import type { PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { Violation } from "../domain/violation.js";
|
|
5
|
+
export type CompiledMemberRule = {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly message: string;
|
|
8
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
9
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
10
|
+
readonly subject: MemberSubject;
|
|
11
|
+
readonly in: ReadonlyArray<RegExp>;
|
|
12
|
+
readonly match: ReadonlyArray<RegExp>;
|
|
13
|
+
readonly matchNot: ReadonlyArray<RegExp>;
|
|
14
|
+
readonly allow: ReadonlyArray<RegExp>;
|
|
15
|
+
readonly probe: MemberProbe;
|
|
16
|
+
};
|
|
17
|
+
export declare const compileMemberRule: (rule: MemberRule) => Result.Result<CompiledMemberRule, PatternInvalid>;
|
|
18
|
+
export declare const compileMemberRules: (rules: ReadonlyArray<MemberRule>) => Result.Result<ReadonlyArray<CompiledMemberRule>, PatternInvalid>;
|
|
19
|
+
export type MemberSite = {
|
|
20
|
+
readonly file: string;
|
|
21
|
+
readonly subject: MemberSubject;
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly in?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const memberRulesSelecting: (rules: ReadonlyArray<CompiledMemberRule>, file: string) => ReadonlyArray<CompiledMemberRule>;
|
|
26
|
+
export declare const evaluateMemberSite: (selected: ReadonlyArray<CompiledMemberRule>, site: MemberSite) => ReadonlyArray<Violation>;
|
|
27
|
+
export declare const memberRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledMemberRule>) => ReadonlyArray<CompiledMemberRule>;
|
|
28
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/core/members.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,UAAU,KACf,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAqClD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,aAAa,CAAC,UAAU,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAQjE,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,MAAM,MAAM,KACX,aAAa,CAAC,kBAAkB,CAAgE,CAAC;AAUpG,eAAO,MAAM,kBAAkB,GAC7B,UAAU,aAAa,CAAC,kBAAkB,CAAC,EAC3C,MAAM,UAAU,KACf,aAAa,CAAC,SAAS,CAezB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,OAAO,aAAa,CAAC,kBAAkB,CAAC,KACvC,aAAa,CAAC,kBAAkB,CAU/B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import { PatternInvalid } from "../domain/architecture-error.js";
|
|
3
|
+
import type { DependencyKind } from "../ports/module-resolver.js";
|
|
4
|
+
export declare const compilePatterns: (ruleName: string, field: string, patterns: string | ReadonlyArray<string> | undefined) => Result.Result<ReadonlyArray<RegExp>, PatternInvalid>;
|
|
5
|
+
export declare const validateTargetPatterns: (ruleName: string, fields: ReadonlyArray<readonly [string, string | ReadonlyArray<string> | undefined]>) => Result.Result<void, PatternInvalid>;
|
|
6
|
+
export declare const sourcesOf: (patterns: string | ReadonlyArray<string> | undefined) => ReadonlyArray<string>;
|
|
7
|
+
export declare const matchesAny: (patterns: ReadonlyArray<string>, captures: RegExpExecArray, value: string) => boolean;
|
|
8
|
+
export type Selectable = {
|
|
9
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
10
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
11
|
+
};
|
|
12
|
+
export declare const firstFromMatch: (rule: Selectable, importer: string) => RegExpExecArray | null;
|
|
13
|
+
export declare const kindOfPath: (path: string) => DependencyKind;
|
|
14
|
+
export type Targeted = Selectable & {
|
|
15
|
+
readonly to: ReadonlyArray<string>;
|
|
16
|
+
readonly toNot: ReadonlyArray<string>;
|
|
17
|
+
};
|
|
18
|
+
export declare const targetAllowed: (rule: Targeted, captures: RegExpExecArray, targetPath: string) => boolean;
|
|
19
|
+
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/core/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAoBlE,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KACnD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,CASrD,CAAC;AAMF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,QAAQ,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,KACnF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAUpC,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,KACnD,aAAa,CAAC,MAAM,CAA8D,CAAC;AAuBtF,eAAO,MAAM,UAAU,GACrB,UAAU,aAAa,CAAC,MAAM,CAAC,EAC/B,UAAU,eAAe,EACzB,OAAO,MAAM,KACZ,OAAgG,CAAC;AAEpG,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,UAAU,EAAE,UAAU,MAAM,KAAG,eAAe,GAAG,IAOrF,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,cACoD,CAAC;AAE/F,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAClC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,QAAQ,EACd,UAAU,eAAe,EACzB,YAAY,MAAM,KACjB,OAIF,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { StructureConfig } from "../domain/architecture-config.js";
|
|
3
|
+
import type { PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { Violation } from "../domain/violation.js";
|
|
5
|
+
import type { FileSystem } from "../ports/file-system.js";
|
|
6
|
+
export type CompiledStructureRoot = {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly message: string;
|
|
9
|
+
readonly path: ReadonlyArray<RegExp>;
|
|
10
|
+
readonly probe: string;
|
|
11
|
+
};
|
|
12
|
+
export type CompiledStructureFolder = {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly message: string;
|
|
15
|
+
readonly folder: ReadonlyArray<RegExp>;
|
|
16
|
+
readonly files: ReadonlyArray<RegExp>;
|
|
17
|
+
readonly probe: string;
|
|
18
|
+
};
|
|
19
|
+
export type CompiledStructureParity = {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly message: string;
|
|
22
|
+
readonly file: ReadonlyArray<RegExp>;
|
|
23
|
+
readonly fileNot: ReadonlyArray<RegExp>;
|
|
24
|
+
readonly requires: ReadonlyArray<string>;
|
|
25
|
+
readonly probe: string;
|
|
26
|
+
};
|
|
27
|
+
export type CompiledStructureNaming = {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly message: string;
|
|
30
|
+
readonly file: ReadonlyArray<RegExp>;
|
|
31
|
+
readonly fileNot: ReadonlyArray<RegExp>;
|
|
32
|
+
readonly subject: number;
|
|
33
|
+
readonly convention: RegExp | null;
|
|
34
|
+
readonly sameAs: number | null;
|
|
35
|
+
readonly probe: string;
|
|
36
|
+
};
|
|
37
|
+
export type CompiledStructure = {
|
|
38
|
+
readonly roots: ReadonlyArray<CompiledStructureRoot>;
|
|
39
|
+
readonly folders: ReadonlyArray<CompiledStructureFolder>;
|
|
40
|
+
readonly parity: ReadonlyArray<CompiledStructureParity>;
|
|
41
|
+
readonly naming: ReadonlyArray<CompiledStructureNaming>;
|
|
42
|
+
};
|
|
43
|
+
export declare const EMPTY_STRUCTURE: CompiledStructure;
|
|
44
|
+
export declare const compileStructure: (config: StructureConfig | undefined) => Result.Result<CompiledStructure, PatternInvalid>;
|
|
45
|
+
export declare const requiredSiblingsOf: (rule: CompiledStructureParity, file: string) => ReadonlyArray<string>;
|
|
46
|
+
export declare const evaluateStructure: (structure: CompiledStructure, fileSystem: FileSystem, file: string) => ReadonlyArray<Violation>;
|
|
47
|
+
export declare const structureRulesFailingTheirProbe: (structure: CompiledStructure) => ReadonlyArray<string>;
|
|
48
|
+
//# sourceMappingURL=structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/core/structure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,iBAK7B,CAAC;AAgFF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,eAAe,GAAG,SAAS,KAClC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAkBjD,CAAC;AA+BF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,uBAAuB,EAC7B,MAAM,MAAM,KACX,aAAa,CAAC,MAAM,CAMtB,CAAC;AAiCF,eAAO,MAAM,iBAAiB,GAC5B,WAAW,iBAAiB,EAC5B,YAAY,UAAU,EACtB,MAAM,MAAM,KACX,aAAa,CAAC,SAAS,CAiEzB,CAAC;AAMF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,iBAAiB,KAC3B,aAAa,CAAC,MAAM,CAoCtB,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import * as Schema from "effect/Schema";
|
|
2
|
+
declare const ImportProbe: Schema.Struct<{
|
|
3
|
+
readonly from: Schema.String;
|
|
4
|
+
readonly to: Schema.String;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const ImportRule: Schema.Struct<{
|
|
7
|
+
readonly name: Schema.String;
|
|
8
|
+
readonly message: Schema.String;
|
|
9
|
+
readonly probe: Schema.Struct<{
|
|
10
|
+
readonly from: Schema.String;
|
|
11
|
+
readonly to: Schema.String;
|
|
12
|
+
}>;
|
|
13
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
14
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
15
|
+
readonly to: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
16
|
+
readonly toNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
17
|
+
readonly dependencyKind: Schema.optionalKey<Schema.Literals<readonly ["external", "local", "builtin"]>>;
|
|
18
|
+
}>;
|
|
19
|
+
declare const ResolveScope: Schema.Struct<{
|
|
20
|
+
readonly files: Schema.String;
|
|
21
|
+
readonly tsconfig: Schema.String;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const ResolveConfig: Schema.Struct<{
|
|
24
|
+
readonly scopes: Schema.$Array<Schema.Struct<{
|
|
25
|
+
readonly files: Schema.String;
|
|
26
|
+
readonly tsconfig: Schema.String;
|
|
27
|
+
}>>;
|
|
28
|
+
readonly extensions: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
29
|
+
readonly conditionNames: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
30
|
+
readonly mainFields: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
31
|
+
readonly unresolved: Schema.optionalKey<Schema.Literals<readonly ["error", "off"]>>;
|
|
32
|
+
readonly ignoreUnresolved: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
33
|
+
}>;
|
|
34
|
+
declare const BindingKind: Schema.Literals<readonly ["named", "default", "namespace"]>;
|
|
35
|
+
declare const ExportProbe: Schema.Struct<{
|
|
36
|
+
readonly from: Schema.String;
|
|
37
|
+
readonly to: Schema.String;
|
|
38
|
+
readonly symbol: Schema.String;
|
|
39
|
+
readonly kind: Schema.optionalKey<Schema.Literals<readonly ["named", "default", "namespace"]>>;
|
|
40
|
+
}>;
|
|
41
|
+
export declare const ExportRule: Schema.Struct<{
|
|
42
|
+
readonly name: Schema.String;
|
|
43
|
+
readonly message: Schema.String;
|
|
44
|
+
readonly probe: Schema.Struct<{
|
|
45
|
+
readonly from: Schema.String;
|
|
46
|
+
readonly to: Schema.String;
|
|
47
|
+
readonly symbol: Schema.String;
|
|
48
|
+
readonly kind: Schema.optionalKey<Schema.Literals<readonly ["named", "default", "namespace"]>>;
|
|
49
|
+
}>;
|
|
50
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
51
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
52
|
+
readonly to: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
53
|
+
readonly toNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
54
|
+
readonly symbols: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
55
|
+
readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
|
|
56
|
+
readonly fix: Schema.optionalKey<Schema.Literals<readonly ["subpath-namespace-import"]>>;
|
|
57
|
+
}>;
|
|
58
|
+
declare const MemberSubject: Schema.Literals<readonly ["type-members", "calls"]>;
|
|
59
|
+
declare const MemberProbe: Schema.Struct<{
|
|
60
|
+
readonly from: Schema.String;
|
|
61
|
+
readonly name: Schema.String;
|
|
62
|
+
readonly in: Schema.optionalKey<Schema.String>;
|
|
63
|
+
}>;
|
|
64
|
+
export declare const MemberRule: Schema.Struct<{
|
|
65
|
+
readonly name: Schema.String;
|
|
66
|
+
readonly message: Schema.String;
|
|
67
|
+
readonly probe: Schema.Struct<{
|
|
68
|
+
readonly from: Schema.String;
|
|
69
|
+
readonly name: Schema.String;
|
|
70
|
+
readonly in: Schema.optionalKey<Schema.String>;
|
|
71
|
+
}>;
|
|
72
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
73
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
74
|
+
readonly subject: Schema.Literals<readonly ["type-members", "calls"]>;
|
|
75
|
+
readonly in: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
76
|
+
readonly match: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
77
|
+
readonly matchNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
78
|
+
readonly allow: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
79
|
+
}>;
|
|
80
|
+
declare const StructureRoot: Schema.Struct<{
|
|
81
|
+
readonly name: Schema.String;
|
|
82
|
+
readonly message: Schema.String;
|
|
83
|
+
readonly probe: Schema.Struct<{
|
|
84
|
+
readonly path: Schema.String;
|
|
85
|
+
}>;
|
|
86
|
+
readonly path: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
87
|
+
}>;
|
|
88
|
+
declare const StructureFolder: Schema.Struct<{
|
|
89
|
+
readonly name: Schema.String;
|
|
90
|
+
readonly message: Schema.String;
|
|
91
|
+
readonly probe: Schema.Struct<{
|
|
92
|
+
readonly path: Schema.String;
|
|
93
|
+
}>;
|
|
94
|
+
readonly folder: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
95
|
+
readonly files: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
96
|
+
}>;
|
|
97
|
+
declare const StructureParity: Schema.Struct<{
|
|
98
|
+
readonly name: Schema.String;
|
|
99
|
+
readonly message: Schema.String;
|
|
100
|
+
readonly probe: Schema.Struct<{
|
|
101
|
+
readonly path: Schema.String;
|
|
102
|
+
}>;
|
|
103
|
+
readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
104
|
+
readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
105
|
+
readonly requires: Schema.$Array<Schema.String>;
|
|
106
|
+
}>;
|
|
107
|
+
declare const StructureNaming: Schema.Struct<{
|
|
108
|
+
readonly name: Schema.String;
|
|
109
|
+
readonly message: Schema.String;
|
|
110
|
+
readonly probe: Schema.Struct<{
|
|
111
|
+
readonly path: Schema.String;
|
|
112
|
+
}>;
|
|
113
|
+
readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
114
|
+
readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
115
|
+
readonly subject: Schema.Finite;
|
|
116
|
+
readonly convention: Schema.optionalKey<Schema.String>;
|
|
117
|
+
readonly sameAs: Schema.optionalKey<Schema.Finite>;
|
|
118
|
+
}>;
|
|
119
|
+
declare const StructureConfig: Schema.Struct<{
|
|
120
|
+
readonly roots: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
121
|
+
readonly name: Schema.String;
|
|
122
|
+
readonly message: Schema.String;
|
|
123
|
+
readonly probe: Schema.Struct<{
|
|
124
|
+
readonly path: Schema.String;
|
|
125
|
+
}>;
|
|
126
|
+
readonly path: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
127
|
+
}>>>;
|
|
128
|
+
readonly folders: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
129
|
+
readonly name: Schema.String;
|
|
130
|
+
readonly message: Schema.String;
|
|
131
|
+
readonly probe: Schema.Struct<{
|
|
132
|
+
readonly path: Schema.String;
|
|
133
|
+
}>;
|
|
134
|
+
readonly folder: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
135
|
+
readonly files: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
136
|
+
}>>>;
|
|
137
|
+
readonly parity: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
138
|
+
readonly name: Schema.String;
|
|
139
|
+
readonly message: Schema.String;
|
|
140
|
+
readonly probe: Schema.Struct<{
|
|
141
|
+
readonly path: Schema.String;
|
|
142
|
+
}>;
|
|
143
|
+
readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
144
|
+
readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
145
|
+
readonly requires: Schema.$Array<Schema.String>;
|
|
146
|
+
}>>>;
|
|
147
|
+
readonly naming: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
148
|
+
readonly name: Schema.String;
|
|
149
|
+
readonly message: Schema.String;
|
|
150
|
+
readonly probe: Schema.Struct<{
|
|
151
|
+
readonly path: Schema.String;
|
|
152
|
+
}>;
|
|
153
|
+
readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
154
|
+
readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
155
|
+
readonly subject: Schema.Finite;
|
|
156
|
+
readonly convention: Schema.optionalKey<Schema.String>;
|
|
157
|
+
readonly sameAs: Schema.optionalKey<Schema.Finite>;
|
|
158
|
+
}>>>;
|
|
159
|
+
}>;
|
|
160
|
+
export type ImportRule = (typeof ImportRule)["Type"];
|
|
161
|
+
export type ResolveConfig = (typeof ResolveConfig)["Type"];
|
|
162
|
+
export type ResolveScope = (typeof ResolveScope)["Type"];
|
|
163
|
+
export type ImportProbe = (typeof ImportProbe)["Type"];
|
|
164
|
+
export type ExportRule = (typeof ExportRule)["Type"];
|
|
165
|
+
export type ExportProbe = (typeof ExportProbe)["Type"];
|
|
166
|
+
export type BindingKind = (typeof BindingKind)["Type"];
|
|
167
|
+
export type MemberRule = (typeof MemberRule)["Type"];
|
|
168
|
+
export type MemberProbe = (typeof MemberProbe)["Type"];
|
|
169
|
+
export type MemberSubject = (typeof MemberSubject)["Type"];
|
|
170
|
+
export type StructureConfig = (typeof StructureConfig)["Type"];
|
|
171
|
+
export type StructureRoot = (typeof StructureRoot)["Type"];
|
|
172
|
+
export type StructureFolder = (typeof StructureFolder)["Type"];
|
|
173
|
+
export type StructureParity = (typeof StructureParity)["Type"];
|
|
174
|
+
export type StructureNaming = (typeof StructureNaming)["Type"];
|
|
175
|
+
export declare const patternsOf: (patterns: string | ReadonlyArray<string>) => ReadonlyArray<string>;
|
|
176
|
+
export {};
|
|
177
|
+
//# sourceMappingURL=architecture-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architecture-config.d.ts","sourceRoot":"","sources":["../../../src/domain/architecture-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAiBxC,QAAA,MAAM,WAAW;;;EAGf,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;EAYrB,CAAC;AAIH,QAAA,MAAM,YAAY;;;EAGhB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;EASxB,CAAC;AAKH,QAAA,MAAM,WAAW,6DAAqD,CAAC;AAEvE,QAAA,MAAM,WAAW;;;;;EAKf,CAAC;AAMH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAoBrB,CAAC;AAKH,QAAA,MAAM,aAAa,qDAA6C,CAAC;AAEjE,QAAA,MAAM,WAAW;;;;EAIf,CAAC;AAKH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAerB,CAAC;AAWH,QAAA,MAAM,aAAa;;;;;;;EAOjB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;EAQnB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;EAUnB,CAAC;AAKH,QAAA,MAAM,eAAe;;;;;;;;;;;EAanB,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKnB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,KAAG,aAAa,CAAC,MAAM,CACpC,CAAC"}
|