oxlint-architecture-rules 0.1.0-beta.0 → 0.1.0-beta.1
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/build/dts/adapters/cli/graph.d.ts +5 -0
- package/build/dts/adapters/cli/graph.d.ts.map +1 -0
- package/build/dts/adapters/cli/run.d.ts +2 -0
- package/build/dts/adapters/cli/run.d.ts.map +1 -1
- package/build/dts/adapters/cli/source-facts.d.ts +2 -7
- package/build/dts/adapters/cli/source-facts.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/config-loader.d.ts +6 -0
- package/build/dts/adapters/oxlint/config-loader.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/exports-rule.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/imports-rule.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/members-rule.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/oxlint-api.d.ts +27 -0
- package/build/dts/adapters/oxlint/oxlint-api.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/plugin.d.ts +1 -0
- package/build/dts/adapters/oxlint/plugin.d.ts.map +1 -1
- package/build/dts/adapters/oxlint/surface-rule.d.ts +4 -0
- package/build/dts/adapters/oxlint/surface-rule.d.ts.map +1 -0
- package/build/dts/core/coverage.d.ts +47 -0
- package/build/dts/core/coverage.d.ts.map +1 -0
- package/build/dts/core/exports.d.ts +4 -5
- package/build/dts/core/exports.d.ts.map +1 -1
- package/build/dts/core/graph.d.ts +40 -0
- package/build/dts/core/graph.d.ts.map +1 -0
- package/build/dts/core/members.d.ts +4 -7
- package/build/dts/core/members.d.ts.map +1 -1
- package/build/dts/core/surface.d.ts +39 -0
- package/build/dts/core/surface.d.ts.map +1 -0
- package/build/dts/domain/architecture-config.d.ts +126 -0
- package/build/dts/domain/architecture-config.d.ts.map +1 -1
- package/build/dts/domain/facts.d.ts +25 -0
- package/build/dts/domain/facts.d.ts.map +1 -0
- package/build/dts/domain/violation.d.ts +1 -1
- package/build/dts/domain/violation.d.ts.map +1 -1
- package/build/dts/index.d.ts +7 -1
- package/build/dts/index.d.ts.map +1 -1
- package/build/dts/infrastructure/fact-extractor-fake.d.ts +4 -0
- package/build/dts/infrastructure/fact-extractor-fake.d.ts.map +1 -0
- package/build/dts/infrastructure/fact-extractor-live.d.ts +5 -0
- package/build/dts/infrastructure/fact-extractor-live.d.ts.map +1 -0
- package/build/dts/manifest/compile.d.ts +7 -1
- package/build/dts/manifest/compile.d.ts.map +1 -1
- package/build/dts/manifest/manifest.d.ts +109 -0
- package/build/dts/manifest/manifest.d.ts.map +1 -1
- package/build/dts/ports/fact-extractor.d.ts +5 -0
- package/build/dts/ports/fact-extractor.d.ts.map +1 -0
- package/build/esm/adapters/cli/graph.js +23 -0
- package/build/esm/adapters/cli/graph.js.map +1 -0
- package/build/esm/adapters/cli/run.js +156 -3
- package/build/esm/adapters/cli/run.js.map +1 -1
- package/build/esm/adapters/cli/source-facts.js +3 -114
- package/build/esm/adapters/cli/source-facts.js.map +1 -1
- package/build/esm/adapters/oxlint/config-loader.js +45 -5
- package/build/esm/adapters/oxlint/config-loader.js.map +1 -1
- package/build/esm/adapters/oxlint/exports-rule.js +46 -12
- package/build/esm/adapters/oxlint/exports-rule.js.map +1 -1
- package/build/esm/adapters/oxlint/imports-rule.js +23 -6
- package/build/esm/adapters/oxlint/imports-rule.js.map +1 -1
- package/build/esm/adapters/oxlint/members-rule.js +52 -12
- package/build/esm/adapters/oxlint/members-rule.js.map +1 -1
- package/build/esm/adapters/oxlint/oxlint-api.js +17 -0
- package/build/esm/adapters/oxlint/oxlint-api.js.map +1 -1
- package/build/esm/adapters/oxlint/plugin.js +2 -0
- package/build/esm/adapters/oxlint/plugin.js.map +1 -1
- package/build/esm/adapters/oxlint/surface-rule.js +162 -0
- package/build/esm/adapters/oxlint/surface-rule.js.map +1 -0
- package/build/esm/core/coverage.js +75 -0
- package/build/esm/core/coverage.js.map +1 -0
- package/build/esm/core/exports.js +11 -5
- package/build/esm/core/exports.js.map +1 -1
- package/build/esm/core/graph.js +259 -0
- package/build/esm/core/graph.js.map +1 -0
- package/build/esm/core/members.js +21 -9
- package/build/esm/core/members.js.map +1 -1
- package/build/esm/core/surface.js +137 -0
- package/build/esm/core/surface.js.map +1 -0
- package/build/esm/domain/architecture-config.js +113 -3
- package/build/esm/domain/architecture-config.js.map +1 -1
- package/build/esm/domain/facts.js +2 -0
- package/build/esm/domain/facts.js.map +1 -0
- package/build/esm/index.js +4 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/infrastructure/fact-extractor-fake.js +24 -0
- package/build/esm/infrastructure/fact-extractor-fake.js.map +1 -0
- package/build/esm/infrastructure/fact-extractor-live.js +247 -0
- package/build/esm/infrastructure/fact-extractor-live.js.map +1 -0
- package/build/esm/manifest/compile.js +154 -8
- package/build/esm/manifest/compile.js.map +1 -1
- package/build/esm/manifest/manifest.js +103 -1
- package/build/esm/manifest/manifest.js.map +1 -1
- package/build/esm/ports/fact-extractor.js +2 -0
- package/build/esm/ports/fact-extractor.js.map +1 -0
- package/package.json +2 -2
- package/src/adapters/cli/graph.ts +30 -0
- package/src/adapters/cli/run.ts +206 -3
- package/src/adapters/cli/source-facts.ts +6 -132
- package/src/adapters/oxlint/config-loader.ts +63 -6
- package/src/adapters/oxlint/exports-rule.ts +63 -12
- package/src/adapters/oxlint/imports-rule.ts +30 -5
- package/src/adapters/oxlint/members-rule.ts +69 -15
- package/src/adapters/oxlint/oxlint-api.ts +41 -0
- package/src/adapters/oxlint/plugin.ts +3 -0
- package/src/adapters/oxlint/surface-rule.ts +236 -0
- package/src/core/coverage.ts +154 -0
- package/src/core/exports.ts +18 -11
- package/src/core/graph.ts +331 -0
- package/src/core/members.ts +28 -17
- package/src/core/surface.ts +181 -0
- package/src/domain/architecture-config.ts +133 -3
- package/src/domain/facts.ts +45 -0
- package/src/domain/violation.ts +1 -1
- package/src/index.ts +14 -0
- package/src/infrastructure/fact-extractor-fake.ts +28 -0
- package/src/infrastructure/fact-extractor-live.ts +254 -0
- package/src/manifest/compile.ts +199 -16
- package/src/manifest/manifest.ts +118 -1
- package/src/ports/fact-extractor.ts +12 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Graph } from "../../core/graph.js";
|
|
2
|
+
import type { SourceFacts } from "../../domain/facts.js";
|
|
3
|
+
import type { ModuleResolver } from "../../ports/module-resolver.js";
|
|
4
|
+
export declare const buildGraph: (files: ReadonlyArray<string>, resolver: ModuleResolver, factsOf: (file: string) => SourceFacts) => Graph;
|
|
5
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMrE,eAAO,MAAM,UAAU,GACrB,OAAO,aAAa,CAAC,MAAM,CAAC,EAC5B,UAAU,cAAc,EACxB,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,KACrC,KAeF,CAAC"}
|
|
@@ -12,8 +12,10 @@ export type Findings = {
|
|
|
12
12
|
};
|
|
13
13
|
export declare const collectFindings: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Findings;
|
|
14
14
|
export declare const check: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
15
|
+
export declare const coverage: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
15
16
|
export declare const writeBaseline: (policy: LoadedPolicy, roots: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
16
17
|
export declare const explain: (policy: LoadedPolicy, file: string) => Effect.Effect<void, CliFailure>;
|
|
18
|
+
export declare const facts: (policy: LoadedPolicy, file: string, format?: "text" | "json") => Effect.Effect<void, CliFailure>;
|
|
17
19
|
export declare const run: (repoRoot: string, argv: ReadonlyArray<string>) => Effect.Effect<void, CliFailure>;
|
|
18
20
|
export declare const fingerprint: (violation: Violation) => string;
|
|
19
21
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAoBxC,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,KAAK,YAAY,EAAc,MAAM,4BAA4B,CAAC;AAiB3E,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,QAgFpF,CAAC;AAyBF,eAAO,MAAM,KAAK,GAChB,QAAQ,YAAY,EACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAqD7B,CAAC;AAOL,eAAO,MAAM,QAAQ,GACnB,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,CAsFvF,CAAC;AAQL,eAAO,MAAM,KAAK,GAChB,QAAQ,YAAY,EACpB,MAAM,MAAM,EACZ,SAAQ,MAAM,GAAG,MAAe,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAmD7B,CAAC;AAEL,eAAO,MAAM,GAAG,GACd,UAAU,MAAM,EAChB,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAkC7B,CAAC;AAEL,eAAO,MAAM,WAAW,kCAAgB,CAAC"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export type SourceFacts = {
|
|
4
|
-
readonly specifiers: ReadonlyArray<string>;
|
|
5
|
-
readonly bindings: ReadonlyMap<string, ReadonlyArray<Binding>>;
|
|
6
|
-
readonly memberSites: ReadonlyArray<MemberSite>;
|
|
7
|
-
};
|
|
1
|
+
import type { SourceFacts } from "../../domain/facts.js";
|
|
2
|
+
export type { SourceFacts } from "../../domain/facts.js";
|
|
8
3
|
export declare const sourceFactsOf: (repoRoot: string, file: string) => SourceFacts;
|
|
9
4
|
//# sourceMappingURL=source-facts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-facts.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/source-facts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source-facts.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/source-facts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,WACK,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type BaselineFilter } from "../../core/baseline.js";
|
|
2
2
|
import { type CompiledExportRule } from "../../core/exports.js";
|
|
3
|
+
import { type CompiledGraph } from "../../core/graph.js";
|
|
3
4
|
import { type CompiledImportRule } from "../../core/imports.js";
|
|
4
5
|
import { type CompiledMemberRule } from "../../core/members.js";
|
|
5
6
|
import { type CompiledStructure } from "../../core/structure.js";
|
|
7
|
+
import { type CompiledSurfaceRule } from "../../core/surface.js";
|
|
8
|
+
import { type LoweredRules } from "../../manifest/compile.js";
|
|
6
9
|
import { type Manifest } from "../../manifest/manifest.js";
|
|
7
10
|
import type { FileSystem } from "../../ports/file-system.js";
|
|
8
11
|
import type { ModuleResolver } from "../../ports/module-resolver.js";
|
|
@@ -12,6 +15,9 @@ export type LoadedPolicy = {
|
|
|
12
15
|
readonly importRules: ReadonlyArray<CompiledImportRule>;
|
|
13
16
|
readonly exportRules: ReadonlyArray<CompiledExportRule>;
|
|
14
17
|
readonly memberRules: ReadonlyArray<CompiledMemberRule>;
|
|
18
|
+
readonly surfaceRules: ReadonlyArray<CompiledSurfaceRule>;
|
|
19
|
+
readonly graph: CompiledGraph;
|
|
20
|
+
readonly adoption: LoweredRules["adoption"];
|
|
15
21
|
readonly structure: CompiledStructure;
|
|
16
22
|
readonly fileSystem: FileSystem;
|
|
17
23
|
readonly baseline: BaselineFilter;
|
|
@@ -1 +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;
|
|
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,aAAa,EAGnB,MAAM,qBAAqB,CAAC;AAC7B,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;AACjC,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AAC7E,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,YAAY,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAG1D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,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,CAuGtB,CAAC"}
|
|
@@ -1 +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,
|
|
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,EAOL,KAAK,UAAU,EAKhB,MAAM,iBAAiB,CAAC;AA4EzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAgGrD,CAAC"}
|
|
@@ -1 +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,
|
|
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,EAML,KAAK,UAAU,EAOhB,MAAM,iBAAiB,CAAC;AAOzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAkErD,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAwFzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UAmErD,CAAC"}
|
|
@@ -15,5 +15,32 @@ export type SourceNode = ReportableNode & {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const toRepoRelative: (repoRoot: string, filename: string) => string;
|
|
17
17
|
export declare const specifierOf: (node: SourceNode) => string | null;
|
|
18
|
+
export type CallNode = ReportableNode & {
|
|
19
|
+
readonly callee?: {
|
|
20
|
+
readonly type: string;
|
|
21
|
+
readonly name?: unknown;
|
|
22
|
+
} | null;
|
|
23
|
+
readonly arguments?: ReadonlyArray<{
|
|
24
|
+
readonly type: string;
|
|
25
|
+
readonly value?: unknown;
|
|
26
|
+
}> | null;
|
|
27
|
+
};
|
|
28
|
+
export type ImportExpressionNode = ReportableNode & {
|
|
29
|
+
readonly source?: {
|
|
30
|
+
readonly type?: string;
|
|
31
|
+
readonly value?: unknown;
|
|
32
|
+
} | null;
|
|
33
|
+
};
|
|
34
|
+
export type ImportEqualsNode = ReportableNode & {
|
|
35
|
+
readonly moduleReference?: {
|
|
36
|
+
readonly type: string;
|
|
37
|
+
readonly expression?: {
|
|
38
|
+
readonly value?: unknown;
|
|
39
|
+
} | null;
|
|
40
|
+
} | null;
|
|
41
|
+
};
|
|
42
|
+
export declare const requireSpecifierOf: (node: CallNode) => string | null;
|
|
43
|
+
export declare const importExpressionSpecifierOf: (node: ImportExpressionNode) => string | null;
|
|
44
|
+
export declare const importEqualsSpecifierOf: (node: ImportEqualsNode) => string | null;
|
|
18
45
|
export {};
|
|
19
46
|
//# sourceMappingURL=oxlint-api.d.ts.map
|
|
@@ -1 +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"}
|
|
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;AAOF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CAChG,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/E,CAAC;AAGF,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,UAAU,CAAC,EAAE;YAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI,CAAC;KAC3D,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,QAAQ,KAAG,MAAM,GAAG,IAI5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,MAAM,oBAAoB,KAAG,MAAM,GAAG,IAGjF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,MAAM,gBAAgB,KAAG,MAAM,GAAG,IAKzE,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAclD,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;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAO9B,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":"surface-rule.d.ts","sourceRoot":"","sources":["../../../../src/adapters/oxlint/surface-rule.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AA+KzB,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY,KAAG,UA8CrD,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { CompiledGraph } from "./graph.js";
|
|
2
|
+
import type { CompiledImportRule } from "./imports.js";
|
|
3
|
+
import type { CompiledMemberRule } from "./members.js";
|
|
4
|
+
import type { CompiledStructure } from "./structure.js";
|
|
5
|
+
import type { CompiledSurfaceRule } from "./surface.js";
|
|
6
|
+
export type FamilyCoverage = {
|
|
7
|
+
readonly covered: number;
|
|
8
|
+
readonly total: number;
|
|
9
|
+
};
|
|
10
|
+
export type StructureCoverage = {
|
|
11
|
+
readonly enumerated: number;
|
|
12
|
+
readonly open: number;
|
|
13
|
+
readonly total: number;
|
|
14
|
+
};
|
|
15
|
+
export type Coverage = {
|
|
16
|
+
readonly files: number;
|
|
17
|
+
readonly imports: FamilyCoverage;
|
|
18
|
+
readonly structure: StructureCoverage;
|
|
19
|
+
readonly members: FamilyCoverage;
|
|
20
|
+
readonly surface: FamilyCoverage;
|
|
21
|
+
readonly graph: FamilyCoverage;
|
|
22
|
+
};
|
|
23
|
+
export type CoverageInputs = {
|
|
24
|
+
readonly importRules: ReadonlyArray<CompiledImportRule>;
|
|
25
|
+
readonly structure: CompiledStructure;
|
|
26
|
+
readonly memberRules: ReadonlyArray<CompiledMemberRule>;
|
|
27
|
+
readonly surfaceRules: ReadonlyArray<CompiledSurfaceRule>;
|
|
28
|
+
readonly graph: CompiledGraph;
|
|
29
|
+
};
|
|
30
|
+
export declare const coverageOf: (policy: CoverageInputs, files: ReadonlyArray<string>) => Coverage;
|
|
31
|
+
export type CoverageFloors = {
|
|
32
|
+
readonly imports?: number;
|
|
33
|
+
readonly structure?: number;
|
|
34
|
+
readonly members?: number;
|
|
35
|
+
readonly surface?: number;
|
|
36
|
+
readonly graph?: number;
|
|
37
|
+
};
|
|
38
|
+
export type CoverageFamily = keyof CoverageFloors;
|
|
39
|
+
export declare const fractionOf: (covered: number, total: number) => number;
|
|
40
|
+
export declare const fractionsOf: (coverage: Coverage) => Readonly<Record<CoverageFamily, number>>;
|
|
41
|
+
export type Shortfall = {
|
|
42
|
+
readonly family: CoverageFamily;
|
|
43
|
+
readonly actual: number;
|
|
44
|
+
readonly floor: number;
|
|
45
|
+
};
|
|
46
|
+
export declare const coverageShortfalls: (coverage: Coverage, floors: CoverageFloors) => ReadonlyArray<Shortfall>;
|
|
47
|
+
//# sourceMappingURL=coverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/core/coverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAE9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B,CAAC;AAiBF,eAAO,MAAM,UAAU,GAAI,QAAQ,cAAc,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,KAAG,QA4CjF,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC;AAElD,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,KAAG,MACzB,CAAC;AAEpC,eAAO,MAAM,WAAW,GAAI,UAAU,QAAQ,KAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAMtF,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,QAAQ,EAClB,QAAQ,cAAc,KACrB,aAAa,CAAC,SAAS,CAczB,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as Result from "effect/Result";
|
|
2
2
|
import type { BindingKind, ExportProbe, ExportRule } from "../domain/architecture-config.js";
|
|
3
3
|
import type { ImportUnresolved, PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { Binding } from "../domain/facts.js";
|
|
4
5
|
import type { Violation } from "../domain/violation.js";
|
|
6
|
+
import type { FactExtractor } from "../ports/fact-extractor.js";
|
|
5
7
|
import type { ModuleResolver } from "../ports/module-resolver.js";
|
|
8
|
+
export type { Binding } from "../domain/facts.js";
|
|
6
9
|
export type CompiledExportRule = {
|
|
7
10
|
readonly name: string;
|
|
8
11
|
readonly message: string;
|
|
@@ -17,10 +20,6 @@ export type CompiledExportRule = {
|
|
|
17
20
|
};
|
|
18
21
|
export declare const compileExportRule: (rule: ExportRule) => Result.Result<CompiledExportRule, PatternInvalid>;
|
|
19
22
|
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
23
|
export type BindingEdge = {
|
|
25
24
|
readonly importer: string;
|
|
26
25
|
readonly specifier: string;
|
|
@@ -35,5 +34,5 @@ export type ExportViolation = {
|
|
|
35
34
|
};
|
|
36
35
|
export declare const evaluateSelectedBindings: (selected: ReadonlyArray<SelectedExportRule>, resolver: ModuleResolver, edge: BindingEdge) => Result.Result<ReadonlyArray<ExportViolation>, ImportUnresolved>;
|
|
37
36
|
export declare const evaluateBindingEdge: (rules: ReadonlyArray<CompiledExportRule>, resolver: ModuleResolver, edge: BindingEdge) => Result.Result<ReadonlyArray<ExportViolation>, ImportUnresolved>;
|
|
38
|
-
export declare const exportRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledExportRule
|
|
37
|
+
export declare const exportRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledExportRule>, extractor: FactExtractor) => ReadonlyArray<CompiledExportRule>;
|
|
39
38
|
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/core/exports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { GraphConfig, GraphProbe } 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 Graph = {
|
|
6
|
+
readonly files: ReadonlyArray<string>;
|
|
7
|
+
readonly edges: ReadonlyMap<string, ReadonlyArray<string>>;
|
|
8
|
+
};
|
|
9
|
+
export type CompiledGraphCycleRule = {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly message: string;
|
|
12
|
+
readonly within: ReadonlyArray<RegExp>;
|
|
13
|
+
readonly withinNot: ReadonlyArray<RegExp>;
|
|
14
|
+
readonly probe: GraphProbe;
|
|
15
|
+
};
|
|
16
|
+
export type CompiledGraphOrphanRule = CompiledGraphCycleRule & {
|
|
17
|
+
readonly entry: ReadonlyArray<RegExp>;
|
|
18
|
+
};
|
|
19
|
+
export type CompiledGraphReachRule = {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly message: string;
|
|
22
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
23
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
24
|
+
readonly to: ReadonlyArray<RegExp>;
|
|
25
|
+
readonly toNot: ReadonlyArray<RegExp>;
|
|
26
|
+
readonly via: ReadonlyArray<RegExp>;
|
|
27
|
+
readonly probe: GraphProbe;
|
|
28
|
+
};
|
|
29
|
+
export type CompiledGraph = {
|
|
30
|
+
readonly cycles: ReadonlyArray<CompiledGraphCycleRule>;
|
|
31
|
+
readonly orphans: ReadonlyArray<CompiledGraphOrphanRule>;
|
|
32
|
+
readonly reach: ReadonlyArray<CompiledGraphReachRule>;
|
|
33
|
+
};
|
|
34
|
+
export declare const EMPTY_GRAPH_RULES: CompiledGraph;
|
|
35
|
+
export declare const hasGraphRules: (rules: CompiledGraph) => boolean;
|
|
36
|
+
export declare const compileGraphRules: (config: GraphConfig | undefined) => Result.Result<CompiledGraph, PatternInvalid>;
|
|
37
|
+
export declare const evaluateGraph: (rules: CompiledGraph, graph: Graph) => ReadonlyArray<Violation>;
|
|
38
|
+
export declare const graphOf: (probe: GraphProbe) => Graph;
|
|
39
|
+
export declare const graphRulesFailingTheirProbe: (rules: CompiledGraph) => ReadonlyArray<string>;
|
|
40
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EACV,WAAW,EAGX,UAAU,EAEX,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMxD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,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,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,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,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAsD,CAAC;AAEvF,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,KAAG,OACgB,CAAC;AA+EtE,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,WAAW,GAAG,SAAS,KAC9B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAoB7C,CAAC;AAkJF,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,EAAE,OAAO,KAAK,KAAG,aAAa,CAAC,SAAS,CAIzF,CAAC;AAGF,eAAO,MAAM,OAAO,GAAI,OAAO,UAAU,KAAG,KAW3C,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,OAAO,aAAa,KAAG,aAAa,CAAC,MAAM,CAUtF,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as Result from "effect/Result";
|
|
2
2
|
import type { MemberProbe, MemberRule, MemberSubject } from "../domain/architecture-config.js";
|
|
3
3
|
import type { PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { MemberSite } from "../domain/facts.js";
|
|
4
5
|
import type { Violation } from "../domain/violation.js";
|
|
6
|
+
import type { FactExtractor } from "../ports/fact-extractor.js";
|
|
7
|
+
export type { MemberSite } from "../domain/facts.js";
|
|
5
8
|
export type CompiledMemberRule = {
|
|
6
9
|
readonly name: string;
|
|
7
10
|
readonly message: string;
|
|
@@ -16,13 +19,7 @@ export type CompiledMemberRule = {
|
|
|
16
19
|
};
|
|
17
20
|
export declare const compileMemberRule: (rule: MemberRule) => Result.Result<CompiledMemberRule, PatternInvalid>;
|
|
18
21
|
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
22
|
export declare const memberRulesSelecting: (rules: ReadonlyArray<CompiledMemberRule>, file: string) => ReadonlyArray<CompiledMemberRule>;
|
|
26
23
|
export declare const evaluateMemberSite: (selected: ReadonlyArray<CompiledMemberRule>, site: MemberSite) => ReadonlyArray<Violation>;
|
|
27
|
-
export declare const memberRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledMemberRule
|
|
24
|
+
export declare const memberRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledMemberRule>, extractor: FactExtractor) => ReadonlyArray<CompiledMemberRule>;
|
|
28
25
|
//# sourceMappingURL=members.d.ts.map
|
|
@@ -1 +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;
|
|
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,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,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;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;AAQF,eAAO,MAAM,4BAA4B,GACvC,OAAO,aAAa,CAAC,kBAAkB,CAAC,EACxC,WAAW,aAAa,KACvB,aAAa,CAAC,kBAAkB,CAmB/B,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { BindingKind, DeclarationKind, SurfaceProbe, SurfaceRule } from "../domain/architecture-config.js";
|
|
3
|
+
import type { PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { ExportSite } from "../domain/facts.js";
|
|
5
|
+
import type { Violation } from "../domain/violation.js";
|
|
6
|
+
import type { FactExtractor } from "../ports/fact-extractor.js";
|
|
7
|
+
export type { ExportSite } from "../domain/facts.js";
|
|
8
|
+
export type Demand = {
|
|
9
|
+
readonly kind: "forbid";
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: "allow";
|
|
12
|
+
readonly allow: ReadonlyArray<RegExp>;
|
|
13
|
+
} | {
|
|
14
|
+
readonly kind: "convention";
|
|
15
|
+
readonly convention: RegExp;
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "count";
|
|
18
|
+
readonly min: number;
|
|
19
|
+
readonly max: number;
|
|
20
|
+
};
|
|
21
|
+
export type CompiledSurfaceRule = {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly message: string;
|
|
24
|
+
readonly from: ReadonlyArray<RegExp>;
|
|
25
|
+
readonly fromNot: ReadonlyArray<RegExp>;
|
|
26
|
+
readonly kinds: ReadonlyArray<BindingKind> | null;
|
|
27
|
+
readonly declares: ReadonlyArray<DeclarationKind> | null;
|
|
28
|
+
readonly reexport: boolean | null;
|
|
29
|
+
readonly match: ReadonlyArray<RegExp>;
|
|
30
|
+
readonly matchNot: ReadonlyArray<RegExp>;
|
|
31
|
+
readonly demand: Demand;
|
|
32
|
+
readonly probe: SurfaceProbe;
|
|
33
|
+
};
|
|
34
|
+
export declare const compileSurfaceRule: (rule: SurfaceRule) => Result.Result<CompiledSurfaceRule, PatternInvalid>;
|
|
35
|
+
export declare const compileSurfaceRules: (rules: ReadonlyArray<SurfaceRule>) => Result.Result<ReadonlyArray<CompiledSurfaceRule>, PatternInvalid>;
|
|
36
|
+
export declare const surfaceRulesSelecting: (rules: ReadonlyArray<CompiledSurfaceRule>, file: string) => ReadonlyArray<CompiledSurfaceRule>;
|
|
37
|
+
export declare const evaluateSurface: (selected: ReadonlyArray<CompiledSurfaceRule>, file: string, sites: ReadonlyArray<ExportSite>) => ReadonlyArray<Violation>;
|
|
38
|
+
export declare const surfaceRulesFailingTheirProbe: (rules: ReadonlyArray<CompiledSurfaceRule>, extractor: FactExtractor) => ReadonlyArray<CompiledSurfaceRule>;
|
|
39
|
+
//# sourceMappingURL=surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../../src/core/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,MAAM,MAAM,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,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,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CAAC;AA0BF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,WAAW,KAChB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAyBnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,aAAa,CAAC,WAAW,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAQlE,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAChC,OAAO,aAAa,CAAC,mBAAmB,CAAC,EACzC,MAAM,MAAM,KACX,aAAa,CAAC,mBAAmB,CACyB,CAAC;AAe9D,eAAO,MAAM,eAAe,GAC1B,UAAU,aAAa,CAAC,mBAAmB,CAAC,EAC5C,MAAM,MAAM,EACZ,OAAO,aAAa,CAAC,UAAU,CAAC,KAC/B,aAAa,CAAC,SAAS,CA6BzB,CAAC;AAKF,eAAO,MAAM,6BAA6B,GACxC,OAAO,aAAa,CAAC,mBAAmB,CAAC,EACzC,WAAW,aAAa,KACvB,aAAa,CAAC,mBAAmB,CAchC,CAAC"}
|
|
@@ -37,6 +37,7 @@ declare const ExportProbe: Schema.Struct<{
|
|
|
37
37
|
readonly to: Schema.String;
|
|
38
38
|
readonly symbol: Schema.String;
|
|
39
39
|
readonly kind: Schema.optionalKey<Schema.Literals<readonly ["named", "default", "namespace"]>>;
|
|
40
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
40
41
|
}>;
|
|
41
42
|
export declare const ExportRule: Schema.Struct<{
|
|
42
43
|
readonly name: Schema.String;
|
|
@@ -46,6 +47,7 @@ export declare const ExportRule: Schema.Struct<{
|
|
|
46
47
|
readonly to: Schema.String;
|
|
47
48
|
readonly symbol: Schema.String;
|
|
48
49
|
readonly kind: Schema.optionalKey<Schema.Literals<readonly ["named", "default", "namespace"]>>;
|
|
50
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
49
51
|
}>;
|
|
50
52
|
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
51
53
|
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
@@ -60,6 +62,7 @@ declare const MemberProbe: Schema.Struct<{
|
|
|
60
62
|
readonly from: Schema.String;
|
|
61
63
|
readonly name: Schema.String;
|
|
62
64
|
readonly in: Schema.optionalKey<Schema.String>;
|
|
65
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
63
66
|
}>;
|
|
64
67
|
export declare const MemberRule: Schema.Struct<{
|
|
65
68
|
readonly name: Schema.String;
|
|
@@ -68,6 +71,7 @@ export declare const MemberRule: Schema.Struct<{
|
|
|
68
71
|
readonly from: Schema.String;
|
|
69
72
|
readonly name: Schema.String;
|
|
70
73
|
readonly in: Schema.optionalKey<Schema.String>;
|
|
74
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
71
75
|
}>;
|
|
72
76
|
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
73
77
|
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
@@ -77,6 +81,119 @@ export declare const MemberRule: Schema.Struct<{
|
|
|
77
81
|
readonly matchNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
78
82
|
readonly allow: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
79
83
|
}>;
|
|
84
|
+
export declare const DeclarationKind: Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>;
|
|
85
|
+
declare const SurfaceProbe: Schema.Struct<{
|
|
86
|
+
readonly from: Schema.String;
|
|
87
|
+
readonly sites: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
88
|
+
readonly name: Schema.String;
|
|
89
|
+
readonly kind: Schema.Literals<readonly ["named", "default", "namespace"]>;
|
|
90
|
+
readonly declares: Schema.optionalKey<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>;
|
|
91
|
+
readonly reexport: Schema.optionalKey<Schema.Boolean>;
|
|
92
|
+
}>>>;
|
|
93
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
94
|
+
}>;
|
|
95
|
+
export declare const SurfaceRule: Schema.Struct<{
|
|
96
|
+
readonly name: Schema.String;
|
|
97
|
+
readonly message: Schema.String;
|
|
98
|
+
readonly probe: Schema.Struct<{
|
|
99
|
+
readonly from: Schema.String;
|
|
100
|
+
readonly sites: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
101
|
+
readonly name: Schema.String;
|
|
102
|
+
readonly kind: Schema.Literals<readonly ["named", "default", "namespace"]>;
|
|
103
|
+
readonly declares: Schema.optionalKey<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>;
|
|
104
|
+
readonly reexport: Schema.optionalKey<Schema.Boolean>;
|
|
105
|
+
}>>>;
|
|
106
|
+
readonly source: Schema.optionalKey<Schema.String>;
|
|
107
|
+
}>;
|
|
108
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
109
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
110
|
+
readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
|
|
111
|
+
readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
|
|
112
|
+
readonly reexport: Schema.optionalKey<Schema.Boolean>;
|
|
113
|
+
readonly match: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
114
|
+
readonly matchNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
115
|
+
readonly forbid: Schema.optionalKey<Schema.Boolean>;
|
|
116
|
+
readonly allow: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
117
|
+
readonly convention: Schema.optionalKey<Schema.String>;
|
|
118
|
+
readonly count: Schema.optionalKey<Schema.Struct<{
|
|
119
|
+
readonly min: Schema.optionalKey<Schema.Finite>;
|
|
120
|
+
readonly max: Schema.optionalKey<Schema.Finite>;
|
|
121
|
+
}>>;
|
|
122
|
+
}>;
|
|
123
|
+
declare const GraphProbe: Schema.Struct<{
|
|
124
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
125
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
126
|
+
}>;
|
|
127
|
+
export declare const GraphCycleRule: Schema.Struct<{
|
|
128
|
+
readonly name: Schema.String;
|
|
129
|
+
readonly message: Schema.String;
|
|
130
|
+
readonly probe: Schema.Struct<{
|
|
131
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
132
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
133
|
+
}>;
|
|
134
|
+
readonly within: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
135
|
+
readonly withinNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
136
|
+
}>;
|
|
137
|
+
export declare const GraphOrphanRule: Schema.Struct<{
|
|
138
|
+
readonly name: Schema.String;
|
|
139
|
+
readonly message: Schema.String;
|
|
140
|
+
readonly probe: Schema.Struct<{
|
|
141
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
142
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
143
|
+
}>;
|
|
144
|
+
readonly within: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
145
|
+
readonly withinNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
146
|
+
readonly entry: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
147
|
+
}>;
|
|
148
|
+
export declare const GraphReachRule: Schema.Struct<{
|
|
149
|
+
readonly name: Schema.String;
|
|
150
|
+
readonly message: Schema.String;
|
|
151
|
+
readonly probe: Schema.Struct<{
|
|
152
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
153
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
154
|
+
}>;
|
|
155
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
156
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
157
|
+
readonly to: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
158
|
+
readonly toNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
159
|
+
readonly via: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
160
|
+
}>;
|
|
161
|
+
export declare const GraphConfig: Schema.Struct<{
|
|
162
|
+
readonly cycles: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
163
|
+
readonly name: Schema.String;
|
|
164
|
+
readonly message: Schema.String;
|
|
165
|
+
readonly probe: Schema.Struct<{
|
|
166
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
167
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
168
|
+
}>;
|
|
169
|
+
readonly within: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
170
|
+
readonly withinNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
171
|
+
}>>>;
|
|
172
|
+
readonly orphans: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
173
|
+
readonly name: Schema.String;
|
|
174
|
+
readonly message: Schema.String;
|
|
175
|
+
readonly probe: Schema.Struct<{
|
|
176
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
177
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
178
|
+
}>;
|
|
179
|
+
readonly within: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
180
|
+
readonly withinNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
181
|
+
readonly entry: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
182
|
+
}>>>;
|
|
183
|
+
readonly reach: Schema.optionalKey<Schema.$Array<Schema.Struct<{
|
|
184
|
+
readonly name: Schema.String;
|
|
185
|
+
readonly message: Schema.String;
|
|
186
|
+
readonly probe: Schema.Struct<{
|
|
187
|
+
readonly edges: Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.String]>>;
|
|
188
|
+
readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
189
|
+
}>;
|
|
190
|
+
readonly from: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
191
|
+
readonly fromNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
192
|
+
readonly to: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
|
|
193
|
+
readonly toNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
194
|
+
readonly via: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
195
|
+
}>>>;
|
|
196
|
+
}>;
|
|
80
197
|
declare const StructureRoot: Schema.Struct<{
|
|
81
198
|
readonly name: Schema.String;
|
|
82
199
|
readonly message: Schema.String;
|
|
@@ -167,11 +284,20 @@ export type BindingKind = (typeof BindingKind)["Type"];
|
|
|
167
284
|
export type MemberRule = (typeof MemberRule)["Type"];
|
|
168
285
|
export type MemberProbe = (typeof MemberProbe)["Type"];
|
|
169
286
|
export type MemberSubject = (typeof MemberSubject)["Type"];
|
|
287
|
+
export type GraphProbe = (typeof GraphProbe)["Type"];
|
|
288
|
+
export type GraphCycleRule = (typeof GraphCycleRule)["Type"];
|
|
289
|
+
export type GraphOrphanRule = (typeof GraphOrphanRule)["Type"];
|
|
290
|
+
export type GraphReachRule = (typeof GraphReachRule)["Type"];
|
|
291
|
+
export type GraphConfig = (typeof GraphConfig)["Type"];
|
|
292
|
+
export type DeclarationKind = (typeof DeclarationKind)["Type"];
|
|
293
|
+
export type SurfaceRule = (typeof SurfaceRule)["Type"];
|
|
294
|
+
export type SurfaceProbe = (typeof SurfaceProbe)["Type"];
|
|
170
295
|
export type StructureConfig = (typeof StructureConfig)["Type"];
|
|
171
296
|
export type StructureRoot = (typeof StructureRoot)["Type"];
|
|
172
297
|
export type StructureFolder = (typeof StructureFolder)["Type"];
|
|
173
298
|
export type StructureParity = (typeof StructureParity)["Type"];
|
|
174
299
|
export type StructureNaming = (typeof StructureNaming)["Type"];
|
|
300
|
+
export declare const OPEN_LAYOUT = "^.*$";
|
|
175
301
|
export declare const patternsOf: (patterns: string | ReadonlyArray<string>) => ReadonlyArray<string>;
|
|
176
302
|
export {};
|
|
177
303
|
//# sourceMappingURL=architecture-config.d.ts.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"architecture-config.d.ts","sourceRoot":"","sources":["../../../src/domain/architecture-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BindingKind, DeclarationKind, MemberSubject } from "./architecture-config.js";
|
|
2
|
+
export type Binding = {
|
|
3
|
+
readonly symbol: string;
|
|
4
|
+
readonly kind: BindingKind;
|
|
5
|
+
};
|
|
6
|
+
export type MemberSite = {
|
|
7
|
+
readonly file: string;
|
|
8
|
+
readonly subject: MemberSubject;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly in?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ExportSite = {
|
|
13
|
+
readonly file: string;
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly kind: BindingKind;
|
|
16
|
+
readonly declares: DeclarationKind;
|
|
17
|
+
readonly reexport: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type SourceFacts = {
|
|
20
|
+
readonly specifiers: ReadonlyArray<string>;
|
|
21
|
+
readonly bindings: ReadonlyMap<string, ReadonlyArray<Binding>>;
|
|
22
|
+
readonly memberSites: ReadonlyArray<MemberSite>;
|
|
23
|
+
readonly exportSites: ReadonlyArray<ExportSite>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../src/domain/facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAS5F,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B,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;AAMF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,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;IAEhD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjD,CAAC"}
|