@goodbones/core 0.1.0-beta.1 → 0.1.0-beta.11
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/core/coverage.d.ts +20 -0
- package/build/dts/core/coverage.d.ts.map +1 -1
- package/build/dts/core/graph.d.ts +2 -0
- package/build/dts/core/graph.d.ts.map +1 -1
- package/build/dts/core/imports.d.ts +3 -1
- package/build/dts/core/imports.d.ts.map +1 -1
- package/build/dts/core/slack.d.ts +22 -0
- package/build/dts/core/slack.d.ts.map +1 -0
- package/build/dts/core/structure.d.ts +1 -0
- package/build/dts/core/structure.d.ts.map +1 -1
- package/build/dts/domain/architecture-config.d.ts +19 -3
- package/build/dts/domain/architecture-config.d.ts.map +1 -1
- package/build/dts/domain/architecture-error.d.ts +8 -0
- package/build/dts/domain/architecture-error.d.ts.map +1 -1
- package/build/dts/domain/facts.d.ts +1 -0
- package/build/dts/domain/facts.d.ts.map +1 -1
- package/build/dts/domain/manifest-location.d.ts +9 -0
- package/build/dts/domain/manifest-location.d.ts.map +1 -0
- package/build/dts/domain/snapshot.d.ts +356 -0
- package/build/dts/domain/snapshot.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 +22 -10
- package/build/dts/index.d.ts.map +1 -1
- package/build/dts/infrastructure/file-system-fake.d.ts.map +1 -1
- package/build/dts/infrastructure/file-system-live.d.ts.map +1 -1
- package/build/dts/infrastructure/manifest-file.d.ts +11 -2
- package/build/dts/infrastructure/manifest-file.d.ts.map +1 -1
- package/build/dts/infrastructure/manifest-include.d.ts +16 -0
- package/build/dts/infrastructure/manifest-include.d.ts.map +1 -0
- package/build/dts/infrastructure/syntax-matcher-fake.d.ts +10 -0
- package/build/dts/infrastructure/syntax-matcher-fake.d.ts.map +1 -0
- package/build/dts/infrastructure/walk.d.ts +12 -1
- package/build/dts/infrastructure/walk.d.ts.map +1 -1
- package/build/dts/load/extension.d.ts +33 -0
- package/build/dts/load/extension.d.ts.map +1 -0
- package/build/dts/load/policy.d.ts +10 -0
- package/build/dts/load/policy.d.ts.map +1 -1
- package/build/dts/manifest/compile.d.ts +11 -1
- package/build/dts/manifest/compile.d.ts.map +1 -1
- package/build/dts/manifest/expand.d.ts +27 -0
- package/build/dts/manifest/expand.d.ts.map +1 -0
- package/build/dts/manifest/extension.d.ts +8 -0
- package/build/dts/manifest/extension.d.ts.map +1 -0
- package/build/dts/manifest/glob.d.ts +1 -0
- package/build/dts/manifest/glob.d.ts.map +1 -1
- package/build/dts/manifest/infer.d.ts +55 -0
- package/build/dts/manifest/infer.d.ts.map +1 -0
- package/build/dts/manifest/json-schema.d.ts +14 -0
- package/build/dts/manifest/json-schema.d.ts.map +1 -0
- package/build/dts/manifest/manifest.d.ts +26 -1
- package/build/dts/manifest/manifest.d.ts.map +1 -1
- package/build/dts/ports/file-system.d.ts +1 -0
- package/build/dts/ports/file-system.d.ts.map +1 -1
- package/build/dts/ports/language.d.ts +4 -0
- package/build/dts/ports/language.d.ts.map +1 -1
- package/build/dts/ports/syntax-matcher.d.ts +21 -0
- package/build/dts/ports/syntax-matcher.d.ts.map +1 -0
- package/build/dts/testing.d.ts +1 -0
- package/build/dts/testing.d.ts.map +1 -1
- package/build/esm/core/coverage.js +107 -32
- package/build/esm/core/coverage.js.map +1 -1
- package/build/esm/core/graph.js +45 -0
- package/build/esm/core/graph.js.map +1 -1
- package/build/esm/core/imports.js +14 -9
- package/build/esm/core/imports.js.map +1 -1
- package/build/esm/core/slack.js +76 -0
- package/build/esm/core/slack.js.map +1 -0
- package/build/esm/core/structure.js +6 -3
- package/build/esm/core/structure.js.map +1 -1
- package/build/esm/domain/architecture-config.js +28 -4
- package/build/esm/domain/architecture-config.js.map +1 -1
- package/build/esm/domain/architecture-error.js +27 -0
- package/build/esm/domain/architecture-error.js.map +1 -1
- package/build/esm/domain/manifest-location.js +21 -0
- package/build/esm/domain/manifest-location.js.map +1 -0
- package/build/esm/domain/snapshot.js +181 -0
- package/build/esm/domain/snapshot.js.map +1 -0
- package/build/esm/domain/violation.js.map +1 -1
- package/build/esm/index.js +28 -9
- package/build/esm/index.js.map +1 -1
- package/build/esm/infrastructure/file-system-fake.js +10 -0
- package/build/esm/infrastructure/file-system-fake.js.map +1 -1
- package/build/esm/infrastructure/file-system-live.js +9 -1
- package/build/esm/infrastructure/file-system-live.js.map +1 -1
- package/build/esm/infrastructure/manifest-file.js +158 -7
- package/build/esm/infrastructure/manifest-file.js.map +1 -1
- package/build/esm/infrastructure/manifest-include.js +187 -0
- package/build/esm/infrastructure/manifest-include.js.map +1 -0
- package/build/esm/infrastructure/syntax-matcher-fake.js +33 -0
- package/build/esm/infrastructure/syntax-matcher-fake.js.map +1 -0
- package/build/esm/infrastructure/walk.js +106 -4
- package/build/esm/infrastructure/walk.js.map +1 -1
- package/build/esm/load/extension.js +2 -0
- package/build/esm/load/extension.js.map +1 -0
- package/build/esm/load/policy.js +49 -2
- package/build/esm/load/policy.js.map +1 -1
- package/build/esm/manifest/compile.js +50 -27
- package/build/esm/manifest/compile.js.map +1 -1
- package/build/esm/manifest/expand.js +116 -0
- package/build/esm/manifest/expand.js.map +1 -0
- package/build/esm/manifest/extension.js +2 -0
- package/build/esm/manifest/extension.js.map +1 -0
- package/build/esm/manifest/glob.js +3 -0
- package/build/esm/manifest/glob.js.map +1 -1
- package/build/esm/manifest/infer.js +455 -0
- package/build/esm/manifest/infer.js.map +1 -0
- package/build/esm/manifest/json-schema.js +169 -0
- package/build/esm/manifest/json-schema.js.map +1 -0
- package/build/esm/manifest/manifest.js +127 -5
- package/build/esm/manifest/manifest.js.map +1 -1
- package/build/esm/ports/syntax-matcher.js +12 -0
- package/build/esm/ports/syntax-matcher.js.map +1 -0
- package/build/esm/testing.js +1 -0
- package/build/esm/testing.js.map +1 -1
- package/package.json +9 -3
- package/schema/architecture-node.schema.json +1518 -0
- package/schema/architecture.schema.json +4498 -0
- package/schema/conformance.schema.json +1019 -0
- package/src/core/coverage.ts +164 -34
- package/src/core/graph.ts +48 -0
- package/src/core/imports.ts +29 -13
- package/src/core/slack.ts +135 -0
- package/src/core/structure.ts +15 -8
- package/src/domain/architecture-config.ts +31 -4
- package/src/domain/architecture-error.ts +30 -0
- package/src/domain/facts.ts +9 -4
- package/src/domain/manifest-location.ts +41 -0
- package/src/domain/snapshot.ts +402 -0
- package/src/domain/violation.ts +4 -1
- package/src/index.ts +149 -7
- package/src/infrastructure/file-system-fake.ts +12 -0
- package/src/infrastructure/file-system-live.ts +8 -1
- package/src/infrastructure/manifest-file.ts +204 -8
- package/src/infrastructure/manifest-include.ts +318 -0
- package/src/infrastructure/syntax-matcher-fake.ts +51 -0
- package/src/infrastructure/walk.ts +127 -3
- package/src/load/extension.ts +66 -0
- package/src/load/policy.ts +77 -2
- package/src/manifest/compile.ts +81 -30
- package/src/manifest/expand.ts +183 -0
- package/src/manifest/extension.ts +41 -0
- package/src/manifest/glob.ts +5 -0
- package/src/manifest/infer.ts +643 -0
- package/src/manifest/json-schema.ts +210 -0
- package/src/manifest/manifest.ts +206 -10
- package/src/ports/file-system.ts +3 -0
- package/src/ports/language.ts +17 -0
- package/src/ports/syntax-matcher.ts +42 -0
- package/src/testing.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/domain/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAiBxC,eAAO,MAAM,kBAAkB,yEACyC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAgClC,eAAO,MAAM,oBAAoB,YAAI,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAU,CAAC;AAE7F,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAcvE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EA2B5B,CAAC;AASH,eAAO,MAAM,aAAa;;;;;;EAmBxB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;EAMhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;EAM1B,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;EAqC5B,CAAC;AAGH,eAAO,MAAM,aAAa;;;;EAOxB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;EAmBzB,CAAC;AAIH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsD3B,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAC5C,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AACtD,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAKxD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAGzB,CAAC;AAEH,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAC1F,KAAK,UAAU,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAIxD,eAAO,MAAM,kBAAkB,QAAO,UAcrC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ViolationKind = "import" | "export" | "structure" | "member" | "surface" | "graph";
|
|
1
|
+
export type ViolationKind = "import" | "export" | "structure" | "member" | "surface" | "graph" | "campaign";
|
|
2
2
|
export type Violation = {
|
|
3
3
|
readonly kind: ViolationKind;
|
|
4
4
|
readonly ruleName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../../src/domain/violation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../../src/domain/violation.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GACvB,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAElF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAKF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MACoC,CAAC;AAI1F,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MACyC,CAAC"}
|
package/build/dts/index.d.ts
CHANGED
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
export { type Baseline, type BaselineFilter, baselineOf, decodeBaseline, EMPTY_BASELINE, makeBaselineFilter, serializeBaseline, staleEntriesOf, unbaselined, } from "./core/baseline.js";
|
|
2
|
-
export { type Coverage, type CoverageFamily, type CoverageFloors, coverageOf, coverageShortfalls, fractionsOf, } from "./core/coverage.js";
|
|
2
|
+
export { type Coverage, type CoverageFamily, type CoverageFloors, coverageOf, coverageShortfalls, fractionsOf, type Reach, reachOf, type Residue, residueOf, type Vacancy, vacancyOf, } from "./core/coverage.js";
|
|
3
3
|
export { type BindingEdge, type CompiledExportRule, compileExportRule, compileExportRules, evaluateBindingEdge, evaluateSelectedBindings, exportRulesFailingTheirProbe, exportRulesSelecting, type ExportViolation, type SelectedExportRule, } from "./core/exports.js";
|
|
4
|
-
export { type CompiledGraph, compileGraphRules, EMPTY_GRAPH_RULES, evaluateGraph, type Graph, graphRulesFailingTheirProbe, hasGraphRules, } from "./core/graph.js";
|
|
5
|
-
export { type CompiledImportRule, compileImportRule, compileImportRules, evaluateImportEdge, evaluateSelectedEdge, type ImportEdge, probeTargetOf, rulesFailingTheirProbe, rulesSelecting, type SelectedRule, } from "./core/imports.js";
|
|
4
|
+
export { type CompiledGraph, compileGraphRules, cyclesIn, EMPTY_GRAPH_RULES, evaluateGraph, type Graph, graphRulesFailingTheirProbe, hasGraphRules, heightOf, } from "./core/graph.js";
|
|
5
|
+
export { type CompiledImportRule, compileImportRule, compileImportRules, evaluateImportEdge, evaluateResolvedEdge, evaluateSelectedEdge, type ImportEdge, probeTargetOf, rulesFailingTheirProbe, rulesSelecting, type SelectedRule, } from "./core/imports.js";
|
|
6
6
|
export { type CompiledMemberRule, compileMemberRules, evaluateMemberSite, memberRulesFailingTheirProbe, memberRulesSelecting, } from "./core/members.js";
|
|
7
|
-
export {
|
|
7
|
+
export { compilePatterns, firstFromMatch, matchesAny, type Selectable, sourcesOf, targetAllowed, type Targeted, validateTargetPatterns, } from "./core/patterns.js";
|
|
8
|
+
export { type Concentration, type ObservedEdge, type Slack, slackOf, type SlackReport, } from "./core/slack.js";
|
|
9
|
+
export { type CompiledStructure, compileStructure, EMPTY_STRUCTURE, evaluateStructure, requiredSiblingsOf, siblingsOf, structureRulesFailingTheirProbe, } from "./core/structure.js";
|
|
8
10
|
export { type CompiledSurfaceRule, compileSurfaceRules, evaluateSurface, surfaceRulesFailingTheirProbe, surfaceRulesSelecting, } from "./core/surface.js";
|
|
9
|
-
export { type BindingKind,
|
|
10
|
-
export { ConfigInvalid, ImportUnresolved, PatternInvalid, ScopeInvalid, } from "./domain/architecture-error.js";
|
|
11
|
+
export { type Allowance, BindingKind, DeclarationKind, type ExportFix, type ExportRule, type GraphConfig, type GraphCycleRule, type GraphOrphanRule, type GraphReachRule, type ImportProbe, ImportProbeTarget, type ImportRule, type MemberRule, MemberSubject, PatternList, type ResolveConfig, type ResolveScope, type StructureConfig, type SurfaceRule, } from "./domain/architecture-config.js";
|
|
12
|
+
export { ConfigInvalid, ImportUnresolved, PatternInvalid, ReportUnavailable, ScopeInvalid, } from "./domain/architecture-error.js";
|
|
11
13
|
export { type Binding, type ExportSite, type MemberSite, type SourceFacts, } from "./domain/facts.js";
|
|
14
|
+
export { type ManifestLocator, type ManifestPath, type ManifestPosition, renderManifestPath, } from "./domain/manifest-location.js";
|
|
15
|
+
export { CONFORMANCE_MEASURES, type ConformanceMeasure, decodeSnapshot, type Snapshot, SNAPSHOT_SCHEMA_ID, SNAPSHOT_VERSION, type SnapshotCampaign, type SnapshotConcentration, snapshotJsonSchema, type SnapshotObjective, type SnapshotPhase, Snapshot as SnapshotSchema, type SnapshotSector, type SnapshotSlack, type SnapshotVacancy, type SnapshotViolation, } from "./domain/snapshot.js";
|
|
12
16
|
export { fingerprintOf, formatMessage, type Violation, type ViolationKind, } from "./domain/violation.js";
|
|
13
17
|
export { makeFileSystemLive } from "./infrastructure/file-system-live.js";
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
18
|
+
export { findManifestFile, formatManifestYaml, MANIFEST_FILENAMES, type ManifestFile, readManifestFile, } from "./infrastructure/manifest-file.js";
|
|
19
|
+
export { expandIncludes, type IncludedManifest, type IncludeReader, type SourceDocument, } from "./infrastructure/manifest-include.js";
|
|
20
|
+
export { listPackageRoots, listSourceFiles, listWorkspaceProjects, type PackagedLanguage, type PackageRoot, type WalkedLanguage, type WorkspaceProject, } from "./infrastructure/walk.js";
|
|
21
|
+
export { type ExtensionContext, type ExtensionRoute, type LoadedExtension, type PolicyExtension, } from "./load/extension.js";
|
|
16
22
|
export { type LoadedPolicy, loadPolicy, type LoadPolicyInput } from "./load/policy.js";
|
|
17
|
-
export { type LoweredRules, lowerManifest, type ProbeLanguage } from "./manifest/compile.js";
|
|
18
|
-
export { type
|
|
23
|
+
export { CONVENTIONS, expandAliases, type LoweredRules, lowerManifest, type LowerOptions, type ProbeLanguage, } from "./manifest/compile.js";
|
|
24
|
+
export { type ExpandedManifest, type ExpandIssue, expandManifest, type Origin, originOf, type Substitution, } from "./manifest/expand.js";
|
|
25
|
+
export { type ManifestExtension } from "./manifest/extension.js";
|
|
26
|
+
export { anchored, type CaptureIndex, type GlobCompilation, globToRegExp, globToRegexSource, prefixed, } from "./manifest/glob.js";
|
|
27
|
+
export { type Candidate, candidatesOf, type Generalization, type InferInput, inferManifest, type InferOptions, type InferPackage, type Inferred, type InferredTarget, singularOf, } from "./manifest/infer.js";
|
|
28
|
+
export { MANIFEST_NODE_SCHEMA_ID, MANIFEST_SCHEMA_ID, manifestJsonSchema, type ManifestJsonSchemaOptions, manifestNodeJsonSchema, } from "./manifest/json-schema.js";
|
|
29
|
+
export { type DecodedManifest, decodeManifest, type DecodeManifestOptions, decodeManifestTree, globsOf, type Manifest, type ManifestNode, Manifest as ManifestSchema, SurfaceConvention, } from "./manifest/manifest.js";
|
|
19
30
|
export { type FactExtractor } from "./ports/fact-extractor.js";
|
|
20
31
|
export { type FileSystem } from "./ports/file-system.js";
|
|
21
32
|
export { type Language } from "./ports/language.js";
|
|
22
33
|
export { type DependencyKind, type ModuleResolver, type ResolvedTarget, } from "./ports/module-resolver.js";
|
|
34
|
+
export { type Position, type SyntaxMatch, type SyntaxMatcher, type SyntaxTree, } from "./ports/syntax-matcher.js";
|
|
23
35
|
//# sourceMappingURL=index.d.ts.map
|
package/build/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-fake.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/file-system-fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAI1D,eAAO,MAAM,kBAAkB,YACpB,QAAQ,CAAC,MAAM,CAAC,aACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACzC,
|
|
1
|
+
{"version":3,"file":"file-system-fake.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/file-system-fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAI1D,eAAO,MAAM,kBAAkB,YACpB,QAAQ,CAAC,MAAM,CAAC,aACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACzC,UAkBF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-live.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/file-system-live.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,eAAO,MAAM,kBAAkB,aAAc,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"file-system-live.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/file-system-live.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,eAAO,MAAM,kBAAkB,aAAc,MAAM,KAAG,UAyBrD,CAAC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
import type { ManifestLocator } from "../domain/manifest-location.js";
|
|
2
|
+
export declare const MANIFEST_FILENAMES: readonly ["architecture.yaml", "architecture.yml", "architecture.json", "architecture.config.mjs"];
|
|
3
|
+
export type ManifestFile = {
|
|
4
|
+
readonly configPath: string;
|
|
5
|
+
readonly manifest: unknown;
|
|
6
|
+
readonly locate: ManifestLocator | undefined;
|
|
7
|
+
readonly files: ReadonlyArray<string>;
|
|
8
|
+
};
|
|
9
|
+
export declare const findManifestFile: (repoRoot: string) => string;
|
|
10
|
+
export declare const readManifestFile: (configPath: string) => Promise<ManifestFile>;
|
|
11
|
+
export declare const formatManifestYaml: (manifest: unknown) => string;
|
|
3
12
|
//# sourceMappingURL=manifest-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-file.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/manifest-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest-file.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/manifest-file.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AAexC,eAAO,MAAM,kBAAkB,YAC7B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,CACjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAG3B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAG7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MAoBnD,CAAC;AAYF,eAAO,MAAM,gBAAgB,eAAsB,MAAM,KAAG,OAAO,CAAC,YAAY,CAqB/E,CAAC;AAuGF,eAAO,MAAM,kBAAkB,aAAc,OAAO,KAAG,MACyB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ManifestLocator } from "../domain/manifest-location.js";
|
|
2
|
+
export type SourceDocument = {
|
|
3
|
+
readonly value: unknown;
|
|
4
|
+
readonly locate: ManifestLocator | undefined;
|
|
5
|
+
};
|
|
6
|
+
export type IncludeReader = {
|
|
7
|
+
readonly exists: (file: string) => boolean;
|
|
8
|
+
readonly read: (file: string) => SourceDocument;
|
|
9
|
+
};
|
|
10
|
+
export type IncludedManifest = {
|
|
11
|
+
readonly value: unknown;
|
|
12
|
+
readonly locate: ManifestLocator | undefined;
|
|
13
|
+
readonly files: ReadonlyArray<string>;
|
|
14
|
+
};
|
|
15
|
+
export declare const expandIncludes: (rootPath: string, root: SourceDocument, reader: IncludeReader) => IncludedManifest;
|
|
16
|
+
//# sourceMappingURL=manifest-include.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-include.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/manifest-include.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,gCAAgC,CAAC;AAiBxC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAE3C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AA6DF,eAAO,MAAM,cAAc,aACf,MAAM,QACV,cAAc,UACZ,aAAa,KACpB,gBAkNF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SyntaxMatcher } from "../ports/syntax-matcher.js";
|
|
2
|
+
export type StagedMatch = {
|
|
3
|
+
readonly text: string;
|
|
4
|
+
readonly captures?: Readonly<Record<string, string>>;
|
|
5
|
+
readonly anchor?: string | null;
|
|
6
|
+
readonly line?: number;
|
|
7
|
+
readonly rule?: unknown;
|
|
8
|
+
};
|
|
9
|
+
export declare const makeSyntaxMatcherFake: (staged: Readonly<Record<string, ReadonlyArray<StagedMatch>>>, extensions?: ReadonlyArray<string> | null) => SyntaxMatcher;
|
|
10
|
+
//# sourceMappingURL=syntax-matcher-fake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax-matcher-fake.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/syntax-matcher-fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAO7E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AASF,eAAO,MAAM,qBAAqB,WACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,eAChD,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,KACvC,aAyBD,CAAC"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { Language } from "../ports/language.js";
|
|
2
2
|
export type WalkedLanguage = Pick<Language, "extensions" | "ignoredFiles">;
|
|
3
|
-
export declare const listSourceFiles: (repoRoot: string, roots: ReadonlyArray<string>, languages: ReadonlyArray<WalkedLanguage>) => ReadonlyArray<string>;
|
|
3
|
+
export declare const listSourceFiles: (repoRoot: string, roots: ReadonlyArray<string>, languages: ReadonlyArray<WalkedLanguage>, widened?: ReadonlyArray<string>) => ReadonlyArray<string>;
|
|
4
|
+
export type PackagedLanguage = Pick<Language, "packageMarkers" | "sourceRoots">;
|
|
5
|
+
export type PackageRoot = {
|
|
6
|
+
readonly root: string;
|
|
7
|
+
readonly source: string | null;
|
|
8
|
+
};
|
|
9
|
+
export declare const listPackageRoots: (repoRoot: string, roots: ReadonlyArray<string>, languages: ReadonlyArray<PackagedLanguage>) => ReadonlyArray<PackageRoot>;
|
|
10
|
+
export type WorkspaceProject = {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly root: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const listWorkspaceProjects: (repoRoot: string, roots: ReadonlyArray<string>) => ReadonlyArray<WorkspaceProject>;
|
|
4
15
|
//# sourceMappingURL=walk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/walk.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAiBrD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/walk.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAiBrD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;AAS3E,eAAO,MAAM,eAAe,aAChB,MAAM,SACT,aAAa,CAAC,MAAM,CAAC,aACjB,aAAa,CAAC,cAAc,CAAC,YAC/B,aAAa,CAAC,MAAM,CAAC,KAC7B,aAAa,CAAC,MAAM,CAsBtB,CAAC;AAIF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,aAAa,CAAC,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAKF,eAAO,MAAM,gBAAgB,aACjB,MAAM,SACT,aAAa,CAAC,MAAM,CAAC,aACjB,aAAa,CAAC,gBAAgB,CAAC,KACzC,aAAa,CAAC,WAAW,CAgD3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAOF,eAAO,MAAM,qBAAqB,aACtB,MAAM,SACT,aAAa,CAAC,MAAM,CAAC,KAC3B,aAAa,CAAC,gBAAgB,CAoChC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type * as Result from "effect/Result";
|
|
2
|
+
import type { ResolveScope } from "../domain/architecture-config.js";
|
|
3
|
+
import type { ConfigInvalid, PatternInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import type { ManifestExtension } from "../manifest/extension.js";
|
|
5
|
+
import type { Manifest } from "../manifest/manifest.js";
|
|
6
|
+
import type { FactExtractor } from "../ports/fact-extractor.js";
|
|
7
|
+
import type { FileSystem } from "../ports/file-system.js";
|
|
8
|
+
import type { Language } from "../ports/language.js";
|
|
9
|
+
import type { SyntaxMatcher } from "../ports/syntax-matcher.js";
|
|
10
|
+
export type ExtensionRoute = {
|
|
11
|
+
readonly language: Language;
|
|
12
|
+
readonly scope: ResolveScope;
|
|
13
|
+
};
|
|
14
|
+
export type ExtensionContext<Spec = unknown> = {
|
|
15
|
+
readonly spec: Spec;
|
|
16
|
+
readonly configPath: string;
|
|
17
|
+
readonly repoRoot: string;
|
|
18
|
+
readonly config: Manifest;
|
|
19
|
+
readonly languages: ReadonlyArray<Language>;
|
|
20
|
+
readonly fileSystem: FileSystem;
|
|
21
|
+
readonly extractor: FactExtractor;
|
|
22
|
+
readonly syntax: SyntaxMatcher;
|
|
23
|
+
readonly routeFor: (file: string) => ExtensionRoute | undefined;
|
|
24
|
+
readonly now: number;
|
|
25
|
+
};
|
|
26
|
+
export type LoadedExtension<Value = unknown> = {
|
|
27
|
+
readonly value: Value;
|
|
28
|
+
readonly vacuous?: ReadonlyArray<string> | undefined;
|
|
29
|
+
};
|
|
30
|
+
export type PolicyExtension<Spec = unknown, Value = unknown> = ManifestExtension<Spec> & {
|
|
31
|
+
load(context: ExtensionContext<Spec>): Result.Result<LoadedExtension<Value>, ConfigInvalid | PatternInvalid>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/load/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAgBhE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,IAAI,GAAG,OAAO,IAAI;IAE7C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAG1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAGlC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,OAAO,IAAI;IAE7C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAItB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG;IAGvF,IAAI,CACF,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAC9B,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;CAC1E,CAAC"}
|
|
@@ -7,12 +7,15 @@ import { type CompiledMemberRule } from "../core/members.js";
|
|
|
7
7
|
import { type CompiledStructure } from "../core/structure.js";
|
|
8
8
|
import { type CompiledSurfaceRule } from "../core/surface.js";
|
|
9
9
|
import { ConfigInvalid, type PatternInvalid } from "../domain/architecture-error.js";
|
|
10
|
+
import type { ManifestLocator } from "../domain/manifest-location.js";
|
|
10
11
|
import { type LoweredRules } from "../manifest/compile.js";
|
|
11
12
|
import { type Manifest } from "../manifest/manifest.js";
|
|
12
13
|
import type { FactExtractor } from "../ports/fact-extractor.js";
|
|
13
14
|
import type { FileSystem } from "../ports/file-system.js";
|
|
14
15
|
import type { Language } from "../ports/language.js";
|
|
15
16
|
import type { ModuleResolver } from "../ports/module-resolver.js";
|
|
17
|
+
import type { SyntaxMatcher } from "../ports/syntax-matcher.js";
|
|
18
|
+
import type { ExtensionRoute, PolicyExtension } from "./extension.js";
|
|
16
19
|
export type LoadedPolicy = {
|
|
17
20
|
readonly repoRoot: string;
|
|
18
21
|
readonly config: Manifest;
|
|
@@ -23,11 +26,15 @@ export type LoadedPolicy = {
|
|
|
23
26
|
readonly graph: CompiledGraph;
|
|
24
27
|
readonly adoption: LoweredRules["adoption"];
|
|
25
28
|
readonly structure: CompiledStructure;
|
|
29
|
+
readonly extensions: ReadonlyMap<string, unknown>;
|
|
30
|
+
readonly now: number;
|
|
26
31
|
readonly fileSystem: FileSystem;
|
|
27
32
|
readonly languages: ReadonlyArray<Language>;
|
|
28
33
|
readonly baseline: BaselineFilter;
|
|
29
34
|
readonly resolver: ModuleResolver;
|
|
30
35
|
readonly extractor: FactExtractor;
|
|
36
|
+
readonly syntax: SyntaxMatcher;
|
|
37
|
+
readonly routeFor: (file: string) => ExtensionRoute | undefined;
|
|
31
38
|
readonly ignoreUnresolved: ReadonlyArray<RegExp>;
|
|
32
39
|
readonly notices: ReadonlyArray<string>;
|
|
33
40
|
};
|
|
@@ -35,8 +42,11 @@ export type LoadPolicyInput = {
|
|
|
35
42
|
readonly repoRoot: string;
|
|
36
43
|
readonly configPath: string;
|
|
37
44
|
readonly manifest: unknown;
|
|
45
|
+
readonly locate?: ManifestLocator | undefined;
|
|
38
46
|
readonly languages: ReadonlyArray<Language>;
|
|
39
47
|
readonly fileSystem: FileSystem;
|
|
48
|
+
readonly extensions?: ReadonlyArray<PolicyExtension> | undefined;
|
|
49
|
+
readonly now?: number | undefined;
|
|
40
50
|
};
|
|
41
51
|
export declare const loadPolicy: (input: LoadPolicyInput) => Result.Result<LoadedPolicy, ConfigInvalid | PatternInvalid>;
|
|
42
52
|
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/load/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EAEb,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/load/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ExportRule, type GraphConfig, type ImportRule, type MemberRule, type StructureFolder, type StructureNaming, type StructureParity, type StructureRoot, type SurfaceRule } from "../domain/architecture-config.js";
|
|
2
|
+
import { type Substitution } from "./expand.js";
|
|
2
3
|
import { type Manifest } from "./manifest.js";
|
|
3
4
|
export type LoweredRules = {
|
|
4
5
|
readonly imports: ReadonlyArray<ImportRule>;
|
|
@@ -18,9 +19,18 @@ export type LoweredRules = {
|
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
21
|
export declare const ANY_FILE = "^.*$";
|
|
22
|
+
export declare const expandAliases: (glob: string, aliases: Readonly<Record<string, string>>) => string;
|
|
21
23
|
export type ProbeLanguage = {
|
|
22
24
|
readonly id: string;
|
|
23
25
|
readonly extensions: ReadonlyArray<string>;
|
|
24
26
|
};
|
|
25
|
-
export declare const
|
|
27
|
+
export declare const CONVENTIONS: Readonly<Record<string, {
|
|
28
|
+
readonly source: string;
|
|
29
|
+
readonly violating: string;
|
|
30
|
+
readonly shape: string;
|
|
31
|
+
}>>;
|
|
32
|
+
export type LowerOptions = {
|
|
33
|
+
readonly substitutions?: ReadonlyArray<Substitution>;
|
|
34
|
+
};
|
|
35
|
+
export declare const lowerManifest: (manifest: Manifest, languages?: ReadonlyArray<ProbeLanguage>, options?: LowerOptions) => LoweredRules;
|
|
26
36
|
//# sourceMappingURL=compile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/manifest/compile.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/manifest/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAGL,KAAK,QAAQ,EAGd,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAG5B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QACjD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KACjD,CAAC;CACH,CAAC;AAMF,eAAO,MAAM,QAAQ,SAAc,CAAC;AAuBpC,eAAO,MAAM,aAAa,SAAU,MAAM,WAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAG,MAMvF,CAAC;AAuBF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC5C,CAAC;AAkCF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAChC,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBhG,CAAC;AAuIF,MAAM,MAAM,YAAY,GAAG;IAIzB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,aAAa,aACd,QAAQ,cACP,aAAa,CAAC,aAAa,CAAC,YAC9B,YAAY,KACpB,YAgvBF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Result from "effect/Result";
|
|
2
|
+
import type { ManifestPath } from "../domain/manifest-location.js";
|
|
3
|
+
export type ExpandIssue = {
|
|
4
|
+
readonly path: ManifestPath;
|
|
5
|
+
readonly detail: string;
|
|
6
|
+
};
|
|
7
|
+
export type Substitution = {
|
|
8
|
+
readonly at: ManifestPath;
|
|
9
|
+
readonly ref: ManifestPath;
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly overrides: ReadonlySet<string>;
|
|
12
|
+
};
|
|
13
|
+
export type ExpandedManifest = {
|
|
14
|
+
readonly value: unknown;
|
|
15
|
+
readonly substitutions: ReadonlyArray<Substitution>;
|
|
16
|
+
};
|
|
17
|
+
export type Origin = {
|
|
18
|
+
readonly path: ManifestPath;
|
|
19
|
+
readonly via: ReadonlyArray<{
|
|
20
|
+
readonly at: ManifestPath;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
export declare const expandManifest: (input: unknown) => Result.Result<ExpandedManifest, ExpandIssue>;
|
|
25
|
+
export declare const originOf: (substitutions: ReadonlyArray<Substitution>, path: ManifestPath) => Origin;
|
|
26
|
+
export declare const fragmentOf: (substitutions: ReadonlyArray<Substitution>, path: ManifestPath) => string | undefined;
|
|
27
|
+
//# sourceMappingURL=expand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../../src/manifest/expand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAcnE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAMF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACrD,CAAC;AAMF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF,CAAC;AAQF,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CA6F1F,CAAC;AAMF,eAAO,MAAM,QAAQ,kBACJ,aAAa,CAAC,YAAY,CAAC,QACpC,YAAY,KACjB,MAmBF,CAAC;AAMF,eAAO,MAAM,UAAU,kBACN,aAAa,CAAC,YAAY,CAAC,QACpC,YAAY,KACjB,MAAM,GAAG,SAA2D,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as Result from "effect/Result";
|
|
2
|
+
import type { ManifestPath } from "../domain/manifest-location.js";
|
|
3
|
+
export type ManifestExtension<Spec = unknown> = {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly manifestKeys: ReadonlyArray<string>;
|
|
6
|
+
decode(slice: Readonly<Record<string, unknown>>, describe: (path: ManifestPath, detail: string) => string): Result.Result<Spec, ReadonlyArray<string>>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../src/manifest/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAgBnE,MAAM,MAAM,iBAAiB,CAAC,IAAI,GAAG,OAAO,IAAI;IAE9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAc7C,MAAM,CACJ,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GACvD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAC/C,CAAC"}
|
|
@@ -11,4 +11,5 @@ export declare const globToRegexSource: (glob: string, captures: CaptureIndex, o
|
|
|
11
11
|
}) => GlobCompilation;
|
|
12
12
|
export declare const anchored: (source: string) => string;
|
|
13
13
|
export declare const prefixed: (source: string) => string;
|
|
14
|
+
export declare const globToRegExp: (glob: string) => RegExp;
|
|
14
15
|
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/manifest/glob.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAM5D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAGhC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAKF,eAAO,MAAM,iBAAiB,SACtB,MAAM,YACF,YAAY,WACb;IACP,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,KACA,eAwDF,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,MAAuB,CAAC;AAElE,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,MAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../src/manifest/glob.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAM5D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAGhC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAKF,eAAO,MAAM,iBAAiB,SACtB,MAAM,YACF,YAAY,WACb;IACP,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,KACA,eAwDF,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,MAAuB,CAAC;AAElE,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,MAAsB,CAAC;AAIjE,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MACkD,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Manifest } from "./manifest.js";
|
|
2
|
+
export type InferredTarget = {
|
|
3
|
+
readonly kind: "local";
|
|
4
|
+
readonly path: string;
|
|
5
|
+
} | {
|
|
6
|
+
readonly kind: "external";
|
|
7
|
+
readonly package: string;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: "builtin";
|
|
10
|
+
readonly path: string;
|
|
11
|
+
};
|
|
12
|
+
export type InferPackage = {
|
|
13
|
+
readonly root: string;
|
|
14
|
+
readonly source: string | null;
|
|
15
|
+
};
|
|
16
|
+
export type InferInput = {
|
|
17
|
+
readonly files: ReadonlyArray<string>;
|
|
18
|
+
readonly targetsOf: (file: string) => ReadonlyArray<InferredTarget>;
|
|
19
|
+
readonly roots: ReadonlyArray<string>;
|
|
20
|
+
readonly packages: ReadonlyArray<InferPackage>;
|
|
21
|
+
readonly depth: number;
|
|
22
|
+
};
|
|
23
|
+
export type Candidate = {
|
|
24
|
+
readonly parent: string;
|
|
25
|
+
readonly members: ReadonlyArray<string>;
|
|
26
|
+
readonly sharedFolders: ReadonlyArray<string>;
|
|
27
|
+
readonly sharedStereotypes: ReadonlyArray<string>;
|
|
28
|
+
readonly capture: string;
|
|
29
|
+
readonly crossEdges: number;
|
|
30
|
+
readonly crossReach: string | null;
|
|
31
|
+
};
|
|
32
|
+
export type Generalization = {
|
|
33
|
+
readonly parent: string;
|
|
34
|
+
readonly members: ReadonlyArray<string>;
|
|
35
|
+
readonly capture: string;
|
|
36
|
+
readonly crossReach: string | null;
|
|
37
|
+
};
|
|
38
|
+
export type InferOptions = {
|
|
39
|
+
readonly generalize: ReadonlyArray<Generalization>;
|
|
40
|
+
readonly collapse: boolean;
|
|
41
|
+
readonly date: string;
|
|
42
|
+
readonly resolve: Manifest["resolve"];
|
|
43
|
+
readonly aliases?: Readonly<Record<string, string>> | undefined;
|
|
44
|
+
readonly baseline: string;
|
|
45
|
+
readonly hasCycles: boolean;
|
|
46
|
+
};
|
|
47
|
+
export type Inferred = {
|
|
48
|
+
readonly manifest: Manifest;
|
|
49
|
+
readonly nodes: number;
|
|
50
|
+
readonly files: number;
|
|
51
|
+
};
|
|
52
|
+
export declare const singularOf: (plural: string) => string;
|
|
53
|
+
export declare const candidatesOf: (input: InferInput, generalize?: ReadonlyArray<Generalization>) => ReadonlyArray<Candidate>;
|
|
54
|
+
export declare const inferManifest: (input: InferInput, options: InferOptions) => Inferred;
|
|
55
|
+
//# sourceMappingURL=infer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infer.d.ts","sourceRoot":"","sources":["../../../src/manifest/infer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAe5D,MAAM,MAAM,cAAc,GAGtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAEjD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAGvD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,MAAM,YAAY,GAAG;IAEzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAItB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAEvB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC,cAAc,CAAC,CAAC;IAGpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAI/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAElD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAIzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,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;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAEnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAGtC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAG1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAsSF,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,MAU3C,CAAC;AA8BF,eAAO,MAAM,YAAY,UAChB,UAAU,eACL,aAAa,CAAC,cAAc,CAAC,KACxC,aAAa,CAAC,SAAS,CAuEzB,CAAC;AAwDF,eAAO,MAAM,aAAa,UAAW,UAAU,WAAW,YAAY,KAAG,QAqFxE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Schema from "effect/Schema";
|
|
2
|
+
export declare const MANIFEST_SCHEMA_ID = "https://dataquail.github.io/goodbones/schema/architecture.schema.json";
|
|
3
|
+
export declare const MANIFEST_NODE_SCHEMA_ID = "https://dataquail.github.io/goodbones/schema/architecture-node.schema.json";
|
|
4
|
+
type JsonValue = string | number | boolean | null | JsonObject | ReadonlyArray<JsonValue>;
|
|
5
|
+
type JsonObject = {
|
|
6
|
+
readonly [key: string]: JsonValue;
|
|
7
|
+
};
|
|
8
|
+
export type ManifestJsonSchemaOptions = {
|
|
9
|
+
readonly extensions?: ReadonlyArray<Schema.Struct.Fields> | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare const manifestJsonSchema: (options?: ManifestJsonSchemaOptions) => JsonObject;
|
|
12
|
+
export declare const manifestNodeJsonSchema: (options?: ManifestJsonSchemaOptions) => JsonObject;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../src/manifest/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAcxC,eAAO,MAAM,kBAAkB,0EAC0C,CAAC;AAI1E,eAAO,MAAM,uBAAuB,+EAC0C,CAAC;AAE/E,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAC1F,KAAK,UAAU,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAuGxD,MAAM,MAAM,yBAAyB,GAAG;IAMtC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACvE,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAa,yBAAyB,KAAQ,UAsC5E,CAAC;AAMF,eAAO,MAAM,sBAAsB,aAAa,yBAAyB,KAAQ,UA8BhF,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as Result from "effect/Result";
|
|
2
2
|
import * as Schema from "effect/Schema";
|
|
3
3
|
import { ConfigInvalid } from "../domain/architecture-error.js";
|
|
4
|
+
import { type ManifestLocator } from "../domain/manifest-location.js";
|
|
5
|
+
import { type Substitution } from "./expand.js";
|
|
6
|
+
import type { ManifestExtension } from "./extension.js";
|
|
4
7
|
declare const Imports: Schema.Struct<{
|
|
5
8
|
readonly message: Schema.optionalKey<Schema.String>;
|
|
6
9
|
readonly allow: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
|
|
@@ -39,6 +42,9 @@ declare const Members: Schema.Struct<{
|
|
|
39
42
|
readonly name: Schema.String;
|
|
40
43
|
}>>;
|
|
41
44
|
}>;
|
|
45
|
+
export declare const SurfaceConvention: Schema.Union<readonly [Schema.Literals<readonly ["kebab-case", "camelCase", "PascalCase", "snake_case"]>, Schema.Struct<{
|
|
46
|
+
readonly regex: Schema.String;
|
|
47
|
+
}>]>;
|
|
42
48
|
declare const Surface: Schema.Struct<{
|
|
43
49
|
readonly message: Schema.String;
|
|
44
50
|
readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
|
|
@@ -120,7 +126,14 @@ declare const Limits: Schema.Struct<{
|
|
|
120
126
|
readonly surface: Schema.optionalKey<Schema.Finite>;
|
|
121
127
|
readonly graph: Schema.optionalKey<Schema.Finite>;
|
|
122
128
|
}>>;
|
|
129
|
+
readonly conformance: Schema.optionalKey<Schema.Struct<{
|
|
130
|
+
readonly residue: Schema.optionalKey<Schema.Finite>;
|
|
131
|
+
readonly vacant: Schema.optionalKey<Schema.Finite>;
|
|
132
|
+
readonly slack: Schema.optionalKey<Schema.Finite>;
|
|
133
|
+
readonly concentration: Schema.optionalKey<Schema.Finite>;
|
|
134
|
+
}>>;
|
|
123
135
|
}>;
|
|
136
|
+
export declare const decodeManifestTree: (raw: unknown) => Result.Result<Readonly<Record<string, ManifestNode>>, string>;
|
|
124
137
|
export declare const Manifest: Schema.Struct<{
|
|
125
138
|
readonly resolve: Schema.Struct<{
|
|
126
139
|
readonly scopes: Schema.$Array<Schema.Struct<{
|
|
@@ -185,6 +198,12 @@ export declare const Manifest: Schema.Struct<{
|
|
|
185
198
|
readonly surface: Schema.optionalKey<Schema.Finite>;
|
|
186
199
|
readonly graph: Schema.optionalKey<Schema.Finite>;
|
|
187
200
|
}>>;
|
|
201
|
+
readonly conformance: Schema.optionalKey<Schema.Struct<{
|
|
202
|
+
readonly residue: Schema.optionalKey<Schema.Finite>;
|
|
203
|
+
readonly vacant: Schema.optionalKey<Schema.Finite>;
|
|
204
|
+
readonly slack: Schema.optionalKey<Schema.Finite>;
|
|
205
|
+
readonly concentration: Schema.optionalKey<Schema.Finite>;
|
|
206
|
+
}>>;
|
|
188
207
|
}>>;
|
|
189
208
|
readonly aliases: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
|
|
190
209
|
readonly tree: Schema.$Record<Schema.String, Schema.Codec<ManifestNode, ManifestNode, never, never>>;
|
|
@@ -201,8 +220,14 @@ export type ExportRestriction = typeof ExportRestriction.Type;
|
|
|
201
220
|
export declare const globsOf: (globs: string | ReadonlyArray<string>) => ReadonlyArray<string>;
|
|
202
221
|
export type DecodedManifest = {
|
|
203
222
|
readonly manifest: Manifest;
|
|
223
|
+
readonly extensions: ReadonlyMap<string, unknown>;
|
|
204
224
|
readonly notices: ReadonlyArray<string>;
|
|
225
|
+
readonly substitutions: ReadonlyArray<Substitution>;
|
|
226
|
+
};
|
|
227
|
+
export type DecodeManifestOptions = {
|
|
228
|
+
readonly locate?: ManifestLocator | undefined;
|
|
229
|
+
readonly extensions?: ReadonlyArray<ManifestExtension> | undefined;
|
|
205
230
|
};
|
|
206
|
-
export declare const decodeManifest: (configPath: string, input: unknown) => Result.Result<DecodedManifest, ConfigInvalid>;
|
|
231
|
+
export declare const decodeManifest: (configPath: string, input: unknown, options?: DecodeManifestOptions) => Result.Result<DecodedManifest, ConfigInvalid>;
|
|
207
232
|
export {};
|
|
208
233
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/manifest/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/manifest/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../src/ports/file-system.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../src/ports/file-system.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAG/D,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC"}
|
|
@@ -3,12 +3,16 @@ import type { ExportFix, ResolveScope } from "../domain/architecture-config.js";
|
|
|
3
3
|
import type { ScopeInvalid } from "../domain/architecture-error.js";
|
|
4
4
|
import type { FactExtractor } from "./fact-extractor.js";
|
|
5
5
|
import type { ModuleResolver } from "./module-resolver.js";
|
|
6
|
+
import type { SyntaxMatcher } from "./syntax-matcher.js";
|
|
6
7
|
export type Language = {
|
|
7
8
|
readonly id: string;
|
|
8
9
|
readonly extensions: ReadonlyArray<string>;
|
|
9
10
|
readonly ignoredFiles: ReadonlyArray<RegExp>;
|
|
11
|
+
readonly packageMarkers: ReadonlyArray<string>;
|
|
12
|
+
readonly sourceRoots: ReadonlyArray<string>;
|
|
10
13
|
readonly extractor: FactExtractor;
|
|
11
14
|
readonly fixes: ReadonlyArray<ExportFix>;
|
|
15
|
+
readonly syntax?: SyntaxMatcher;
|
|
12
16
|
readonly makeResolver: (repoRoot: string, scope: ResolveScope) => Result.Result<ModuleResolver, ScopeInvalid>;
|
|
13
17
|
};
|
|
14
18
|
//# sourceMappingURL=language.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/ports/language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/ports/language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,MAAM,MAAM,QAAQ,GAAG;IAErB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAG3C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAM7C,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAK/C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAG5C,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAIlC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAKzC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAKhC,QAAQ,CAAC,YAAY,EAAE,CACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,KAChB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;CAClD,CAAC"}
|