@archpilotlabs/archpilot 0.2.2 → 0.2.4
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/CHANGELOG.md +538 -0
- package/README.md +1 -0
- package/dist/archpilot-cli.js +850 -159
- package/dist/cli/src/archpilot-cli.js +5523 -0
- package/dist/cli/src/archpilot-cli.js.map +1 -0
- package/dist/core/src/adr/adrLoader.js +97 -0
- package/dist/core/src/adr/adrLoader.js.map +1 -0
- package/dist/core/src/adr/adrParser.js +77 -0
- package/dist/core/src/adr/adrParser.js.map +1 -0
- package/dist/core/src/adr/adrTemplate.js +45 -0
- package/dist/core/src/adr/adrTemplate.js.map +1 -0
- package/dist/core/src/adr/adrTypes.js +3 -0
- package/dist/core/src/adr/adrTypes.js.map +1 -0
- package/dist/core/src/adr/adrValidation.js +160 -0
- package/dist/core/src/adr/adrValidation.js.map +1 -0
- package/dist/core/src/adr/index.js +9 -0
- package/dist/core/src/adr/index.js.map +1 -0
- package/dist/core/src/adrManagement.js +174 -0
- package/dist/core/src/adrManagement.js.map +1 -0
- package/dist/core/src/adrRequirementStatus.js +62 -0
- package/dist/core/src/adrRequirementStatus.js.map +1 -0
- package/dist/core/src/adrScaffoldGeneration.js +325 -0
- package/dist/core/src/adrScaffoldGeneration.js.map +1 -0
- package/dist/core/src/apiDesignAnalysis.js +869 -0
- package/dist/core/src/apiDesignAnalysis.js.map +1 -0
- package/dist/core/src/applicationLayeringAnalysis.js +920 -0
- package/dist/core/src/applicationLayeringAnalysis.js.map +1 -0
- package/dist/core/src/applyRulePack.js +117 -0
- package/dist/core/src/applyRulePack.js.map +1 -0
- package/dist/core/src/architectureBaseline.js +271 -0
- package/dist/core/src/architectureBaseline.js.map +1 -0
- package/dist/core/src/architectureComponentDiscoveryDefaults.js +139 -0
- package/dist/core/src/architectureComponentDiscoveryDefaults.js.map +1 -0
- package/dist/core/src/architectureDependencyContext.js +316 -0
- package/dist/core/src/architectureDependencyContext.js.map +1 -0
- package/dist/core/src/architectureDriftDetection.js +96 -0
- package/dist/core/src/architectureDriftDetection.js.map +1 -0
- package/dist/core/src/architectureDriftTimeline.js +221 -0
- package/dist/core/src/architectureDriftTimeline.js.map +1 -0
- package/dist/core/src/architectureGovernanceBaseline.js +469 -0
- package/dist/core/src/architectureGovernanceBaseline.js.map +1 -0
- package/dist/core/src/architectureHealthHistory.js +208 -0
- package/dist/core/src/architectureHealthHistory.js.map +1 -0
- package/dist/core/src/architectureHealthScore.js +657 -0
- package/dist/core/src/architectureHealthScore.js.map +1 -0
- package/dist/core/src/architectureInit.js +826 -0
- package/dist/core/src/architectureInit.js.map +1 -0
- package/dist/core/src/architectureMap.js +727 -0
- package/dist/core/src/architectureMap.js.map +1 -0
- package/dist/core/src/architectureMigrationPreview.js +467 -0
- package/dist/core/src/architectureMigrationPreview.js.map +1 -0
- package/dist/core/src/architectureModelRefresh.js +209 -0
- package/dist/core/src/architectureModelRefresh.js.map +1 -0
- package/dist/core/src/architectureReportWorkflow.js +139 -0
- package/dist/core/src/architectureReportWorkflow.js.map +1 -0
- package/dist/core/src/architectureValidation.js +3879 -0
- package/dist/core/src/architectureValidation.js.map +1 -0
- package/dist/core/src/architectureWorkspaceModel.js +166 -0
- package/dist/core/src/architectureWorkspaceModel.js.map +1 -0
- package/dist/core/src/authorizationTenantAnalysis.js +652 -0
- package/dist/core/src/authorizationTenantAnalysis.js.map +1 -0
- package/dist/core/src/bootstrapArchitectureConfig.js +150 -0
- package/dist/core/src/bootstrapArchitectureConfig.js.map +1 -0
- package/dist/core/src/changeRisk/changeRiskAssessment.js +251 -0
- package/dist/core/src/changeRisk/changeRiskAssessment.js.map +1 -0
- package/dist/core/src/changeRisk/changeRiskTypes.js +3 -0
- package/dist/core/src/changeRisk/changeRiskTypes.js.map +1 -0
- package/dist/core/src/changeRisk/index.js +6 -0
- package/dist/core/src/changeRisk/index.js.map +1 -0
- package/dist/core/src/ci/githubInlineAnnotations.js +245 -0
- package/dist/core/src/ci/githubInlineAnnotations.js.map +1 -0
- package/dist/core/src/ci/githubPrCommentAdapter.js +232 -0
- package/dist/core/src/ci/githubPrCommentAdapter.js.map +1 -0
- package/dist/core/src/ciWorkflowTemplates.js +1042 -0
- package/dist/core/src/ciWorkflowTemplates.js.map +1 -0
- package/dist/core/src/compliance/complianceExportBuilder.js +122 -0
- package/dist/core/src/compliance/complianceExportBuilder.js.map +1 -0
- package/dist/core/src/compliance/complianceExportTypes.js +3 -0
- package/dist/core/src/compliance/complianceExportTypes.js.map +1 -0
- package/dist/core/src/compliance/complianceExportWriter.js +48 -0
- package/dist/core/src/compliance/complianceExportWriter.js.map +1 -0
- package/dist/core/src/compliance/complianceRulePackResolver.js +62 -0
- package/dist/core/src/compliance/complianceRulePackResolver.js.map +1 -0
- package/dist/core/src/config/index.js +17 -0
- package/dist/core/src/config/index.js.map +1 -0
- package/dist/core/src/config/projectConfig.js +224 -0
- package/dist/core/src/config/projectConfig.js.map +1 -0
- package/dist/core/src/config/projectIdentity.js +160 -0
- package/dist/core/src/config/projectIdentity.js.map +1 -0
- package/dist/core/src/dataQueryRiskDetection.js +1203 -0
- package/dist/core/src/dataQueryRiskDetection.js.map +1 -0
- package/dist/core/src/dependencyValidation.js +2557 -0
- package/dist/core/src/dependencyValidation.js.map +1 -0
- package/dist/core/src/discoverAdrs.js +15 -0
- package/dist/core/src/discoverAdrs.js.map +1 -0
- package/dist/core/src/drift/driftComparator.js +49 -0
- package/dist/core/src/drift/driftComparator.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotLoader.js +136 -0
- package/dist/core/src/drift/driftSnapshotLoader.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotTypes.js +3 -0
- package/dist/core/src/drift/driftSnapshotTypes.js.map +1 -0
- package/dist/core/src/drift/driftSnapshotWriter.js +48 -0
- package/dist/core/src/drift/driftSnapshotWriter.js.map +1 -0
- package/dist/core/src/drift/index.js +6 -0
- package/dist/core/src/drift/index.js.map +1 -0
- package/dist/core/src/eventArchitectureAnalysis.js +925 -0
- package/dist/core/src/eventArchitectureAnalysis.js.map +1 -0
- package/dist/core/src/findingTargetResolution.js +117 -0
- package/dist/core/src/findingTargetResolution.js.map +1 -0
- package/dist/core/src/generateArchitectureDiagrams.js +57 -0
- package/dist/core/src/generateArchitectureDiagrams.js.map +1 -0
- package/dist/core/src/generateImpactAnalysis.js +366 -0
- package/dist/core/src/generateImpactAnalysis.js.map +1 -0
- package/dist/core/src/generateOnboardingDocs.js +262 -0
- package/dist/core/src/generateOnboardingDocs.js.map +1 -0
- package/dist/core/src/governance/cloudConnection.js +203 -0
- package/dist/core/src/governance/cloudConnection.js.map +1 -0
- package/dist/core/src/governance/governanceContracts.js +129 -0
- package/dist/core/src/governance/governanceContracts.js.map +1 -0
- package/dist/core/src/governance/governanceGitMetadata.js +78 -0
- package/dist/core/src/governance/governanceGitMetadata.js.map +1 -0
- package/dist/core/src/governance/governanceUploadClient.js +119 -0
- package/dist/core/src/governance/governanceUploadClient.js.map +1 -0
- package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js +155 -0
- package/dist/core/src/governance/governanceUploadLimitErrorFormatting.js.map +1 -0
- package/dist/core/src/governance/governanceUploadPayload.js +439 -0
- package/dist/core/src/governance/governanceUploadPayload.js.map +1 -0
- package/dist/core/src/governance/runGovernanceUpload.js +103 -0
- package/dist/core/src/governance/runGovernanceUpload.js.map +1 -0
- package/dist/core/src/impactAnalysisEngine.js +376 -0
- package/dist/core/src/impactAnalysisEngine.js.map +1 -0
- package/dist/core/src/initializationState.js +99 -0
- package/dist/core/src/initializationState.js.map +1 -0
- package/dist/core/src/managedArtifacts.js +151 -0
- package/dist/core/src/managedArtifacts.js.map +1 -0
- package/dist/core/src/moduleContractValidation.js +266 -0
- package/dist/core/src/moduleContractValidation.js.map +1 -0
- package/dist/core/src/moduleContractsGenerator.js +337 -0
- package/dist/core/src/moduleContractsGenerator.js.map +1 -0
- package/dist/core/src/moduleDiscovery.js +416 -0
- package/dist/core/src/moduleDiscovery.js.map +1 -0
- package/dist/core/src/moduleScope.js +426 -0
- package/dist/core/src/moduleScope.js.map +1 -0
- package/dist/core/src/onboardingGuidance.js +74 -0
- package/dist/core/src/onboardingGuidance.js.map +1 -0
- package/dist/core/src/operationalLogging.js +7 -0
- package/dist/core/src/operationalLogging.js.map +1 -0
- package/dist/core/src/packageVersion.js +52 -0
- package/dist/core/src/packageVersion.js.map +1 -0
- package/dist/core/src/policy/effectivePolicyResolver.js +91 -0
- package/dist/core/src/policy/effectivePolicyResolver.js.map +1 -0
- package/dist/core/src/policy/exceptionLoader.js +285 -0
- package/dist/core/src/policy/exceptionLoader.js.map +1 -0
- package/dist/core/src/policy/remotePolicyLoader.js +227 -0
- package/dist/core/src/policy/remotePolicyLoader.js.map +1 -0
- package/dist/core/src/policy/remotePolicyTypes.js +3 -0
- package/dist/core/src/policy/remotePolicyTypes.js.map +1 -0
- package/dist/core/src/policy/riskPolicyConfig.js +206 -0
- package/dist/core/src/policy/riskPolicyConfig.js.map +1 -0
- package/dist/core/src/policy/riskPolicyEnforcement.js +203 -0
- package/dist/core/src/policy/riskPolicyEnforcement.js.map +1 -0
- package/dist/core/src/policy/riskPolicyExitCode.js +16 -0
- package/dist/core/src/policy/riskPolicyExitCode.js.map +1 -0
- package/dist/core/src/policy/riskPolicyInitializer.js +90 -0
- package/dist/core/src/policy/riskPolicyInitializer.js.map +1 -0
- package/dist/core/src/quickFix/quickFixEngine.js +132 -0
- package/dist/core/src/quickFix/quickFixEngine.js.map +1 -0
- package/dist/core/src/quickFix/quickFixMessaging.js +15 -0
- package/dist/core/src/quickFix/quickFixMessaging.js.map +1 -0
- package/dist/core/src/quickFix/quickFixProviders.js +87 -0
- package/dist/core/src/quickFix/quickFixProviders.js.map +1 -0
- package/dist/core/src/quickFix/quickFixTypes.js +3 -0
- package/dist/core/src/quickFix/quickFixTypes.js.map +1 -0
- package/dist/core/src/remediation/fileHelpers.js +86 -0
- package/dist/core/src/remediation/fileHelpers.js.map +1 -0
- package/dist/core/src/remediation/fixRegistry.js +645 -0
- package/dist/core/src/remediation/fixRegistry.js.map +1 -0
- package/dist/core/src/remediation/index.js +8 -0
- package/dist/core/src/remediation/index.js.map +1 -0
- package/dist/core/src/remediation/remediationEngine.js +207 -0
- package/dist/core/src/remediation/remediationEngine.js.map +1 -0
- package/dist/core/src/reporting/adrReporter.js +59 -0
- package/dist/core/src/reporting/adrReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureBaselineReporter.js +64 -0
- package/dist/core/src/reporting/architectureBaselineReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureDiagramReporter.js +148 -0
- package/dist/core/src/reporting/architectureDiagramReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureDriftTimelineReporter.js +44 -0
- package/dist/core/src/reporting/architectureDriftTimelineReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureHealthHistoryReporter.js +51 -0
- package/dist/core/src/reporting/architectureHealthHistoryReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureMapReporter.js +228 -0
- package/dist/core/src/reporting/architectureMapReporter.js.map +1 -0
- package/dist/core/src/reporting/architecturePrCommentReporter.js +324 -0
- package/dist/core/src/reporting/architecturePrCommentReporter.js.map +1 -0
- package/dist/core/src/reporting/architecturePrReviewReporter.js +389 -0
- package/dist/core/src/reporting/architecturePrReviewReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureReportArtifacts.js +166 -0
- package/dist/core/src/reporting/architectureReportArtifacts.js.map +1 -0
- package/dist/core/src/reporting/architectureReviewReportGenerator.js +382 -0
- package/dist/core/src/reporting/architectureReviewReportGenerator.js.map +1 -0
- package/dist/core/src/reporting/architectureReviewReporter.js +1633 -0
- package/dist/core/src/reporting/architectureReviewReporter.js.map +1 -0
- package/dist/core/src/reporting/architectureRiskAssessment.js +101 -0
- package/dist/core/src/reporting/architectureRiskAssessment.js.map +1 -0
- package/dist/core/src/reporting/architectureScoreBadge.js +177 -0
- package/dist/core/src/reporting/architectureScoreBadge.js.map +1 -0
- package/dist/core/src/reporting/architectureSupplementalReporters.js +124 -0
- package/dist/core/src/reporting/architectureSupplementalReporters.js.map +1 -0
- package/dist/core/src/reporting/changeRiskAssessment.js +6 -0
- package/dist/core/src/reporting/changeRiskAssessment.js.map +1 -0
- package/dist/core/src/reporting/changeRiskTypes.js +3 -0
- package/dist/core/src/reporting/changeRiskTypes.js.map +1 -0
- package/dist/core/src/reporting/impactAnalysisReporter.js +111 -0
- package/dist/core/src/reporting/impactAnalysisReporter.js.map +1 -0
- package/dist/core/src/reporting/onboardingDocsReporter.js +113 -0
- package/dist/core/src/reporting/onboardingDocsReporter.js.map +1 -0
- package/dist/core/src/reporting/rulePackReporter.js +61 -0
- package/dist/core/src/reporting/rulePackReporter.js.map +1 -0
- package/dist/core/src/reporting/safetyControlsDetection.js +343 -0
- package/dist/core/src/reporting/safetyControlsDetection.js.map +1 -0
- package/dist/core/src/resolveRuleAdrs.js +31 -0
- package/dist/core/src/resolveRuleAdrs.js.map +1 -0
- package/dist/core/src/reviewGenerationWorkflow.js +220 -0
- package/dist/core/src/reviewGenerationWorkflow.js.map +1 -0
- package/dist/core/src/rulePacks/index.js +17 -0
- package/dist/core/src/rulePacks/index.js.map +1 -0
- package/dist/core/src/rulePacks/layeredMonolithRulePack.js +45 -0
- package/dist/core/src/rulePacks/layeredMonolithRulePack.js.map +1 -0
- package/dist/core/src/rulePacks/modularMonolithRulePack.js +41 -0
- package/dist/core/src/rulePacks/modularMonolithRulePack.js.map +1 -0
- package/dist/core/src/rulePacks/types.js +3 -0
- package/dist/core/src/rulePacks/types.js.map +1 -0
- package/dist/core/src/setupNextSteps.js +939 -0
- package/dist/core/src/setupNextSteps.js.map +1 -0
- package/dist/core/src/setupRefresh.js +152 -0
- package/dist/core/src/setupRefresh.js.map +1 -0
- package/dist/core/src/smartInit/apiDbHintDetection.js +836 -0
- package/dist/core/src/smartInit/apiDbHintDetection.js.map +1 -0
- package/dist/core/src/smartInit/architectureProposalBuilder.js +1215 -0
- package/dist/core/src/smartInit/architectureProposalBuilder.js.map +1 -0
- package/dist/core/src/smartInit/architectureStyleDetection.js +472 -0
- package/dist/core/src/smartInit/architectureStyleDetection.js.map +1 -0
- package/dist/core/src/smartInit/archpilotIgnore.js +139 -0
- package/dist/core/src/smartInit/archpilotIgnore.js.map +1 -0
- package/dist/core/src/smartInit/componentDetection.js +1084 -0
- package/dist/core/src/smartInit/componentDetection.js.map +1 -0
- package/dist/core/src/smartInit/implementationProfileResolution.js +53 -0
- package/dist/core/src/smartInit/implementationProfileResolution.js.map +1 -0
- package/dist/core/src/smartInit/index.js +31 -0
- package/dist/core/src/smartInit/index.js.map +1 -0
- package/dist/core/src/smartInit/moduleDetection.js +982 -0
- package/dist/core/src/smartInit/moduleDetection.js.map +1 -0
- package/dist/core/src/smartInit/projectKindDetection.js +437 -0
- package/dist/core/src/smartInit/projectKindDetection.js.map +1 -0
- package/dist/core/src/smartInit/repoTopologyDetection.js +470 -0
- package/dist/core/src/smartInit/repoTopologyDetection.js.map +1 -0
- package/dist/core/src/smartInit/runContext.js +112 -0
- package/dist/core/src/smartInit/runContext.js.map +1 -0
- package/dist/core/src/smartInit/smartInitEngine.js +94 -0
- package/dist/core/src/smartInit/smartInitEngine.js.map +1 -0
- package/dist/core/src/smartInit/stackDetection.js +503 -0
- package/dist/core/src/smartInit/stackDetection.js.map +1 -0
- package/dist/core/src/smartInit/toolingHintDetection.js +345 -0
- package/dist/core/src/smartInit/toolingHintDetection.js.map +1 -0
- package/dist/core/src/sourceScopeClassification.js +83 -0
- package/dist/core/src/sourceScopeClassification.js.map +1 -0
- package/dist/core/src/stackAdapters.js +2475 -0
- package/dist/core/src/stackAdapters.js.map +1 -0
- package/dist/core/src/stackMetadata.js +157 -0
- package/dist/core/src/stackMetadata.js.map +1 -0
- package/dist/core/src/suppressions/index.js +3 -0
- package/dist/core/src/suppressions/index.js.map +1 -0
- package/dist/core/src/suppressions/suppressionReporter.js +38 -0
- package/dist/core/src/suppressions/suppressionReporter.js.map +1 -0
- package/dist/core/src/suppressions/suppressionTypes.js +3 -0
- package/dist/core/src/suppressions/suppressionTypes.js.map +1 -0
- package/dist/core/src/suppressions/suppressionValidator.js +119 -0
- package/dist/core/src/suppressions/suppressionValidator.js.map +1 -0
- package/dist/core/src/transactionDomainAnalysis.js +1416 -0
- package/dist/core/src/transactionDomainAnalysis.js.map +1 -0
- package/dist/core/src/validation/changedFilesResolver.js +165 -0
- package/dist/core/src/validation/changedFilesResolver.js.map +1 -0
- package/dist/core/src/validationProfiling.js +33 -0
- package/dist/core/src/validationProfiling.js.map +1 -0
- package/dist/core/src/validationRuleExplanations.js +69 -0
- package/dist/core/src/validationRuleExplanations.js.map +1 -0
- package/dist/core/src/validationSourceInventory.js +200 -0
- package/dist/core/src/validationSourceInventory.js.map +1 -0
- package/dist/core/src/validationSuppressions.js +231 -0
- package/dist/core/src/validationSuppressions.js.map +1 -0
- package/dist/core/src/validationTypeScriptAstCache.js +82 -0
- package/dist/core/src/validationTypeScriptAstCache.js.map +1 -0
- package/dist/core/src/validationWorkflow.js +222 -0
- package/dist/core/src/validationWorkflow.js.map +1 -0
- package/dist/core/src/workspaceRoot.js +68 -0
- package/dist/core/src/workspaceRoot.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architectureValidation.js","sourceRoot":"","sources":["../../../../core/src/architectureValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VIRTUAL_WORKSPACE_COMPONENT_ID = void 0;
|
|
4
|
+
exports.normalizeArchitectureWorkspaceModel = normalizeArchitectureWorkspaceModel;
|
|
5
|
+
exports.loadNormalizedArchitectureWorkspaceModel = loadNormalizedArchitectureWorkspaceModel;
|
|
6
|
+
const architectureInit_1 = require("./architectureInit");
|
|
7
|
+
exports.VIRTUAL_WORKSPACE_COMPONENT_ID = 'workspace';
|
|
8
|
+
function normalizeRepoDefaults(contract) {
|
|
9
|
+
return {
|
|
10
|
+
version: contract.version,
|
|
11
|
+
projectName: contract.projectName,
|
|
12
|
+
repoTopology: contract.repoTopology,
|
|
13
|
+
projectKinds: [...contract.projectKinds],
|
|
14
|
+
stacks: { ...contract.stacks },
|
|
15
|
+
architectureStyle: contract.architectureStyle,
|
|
16
|
+
database: contract.database,
|
|
17
|
+
tenantModel: contract.tenantModel,
|
|
18
|
+
rbac: contract.rbac,
|
|
19
|
+
apiStyle: contract.apiStyle,
|
|
20
|
+
authStyle: contract.authStyle,
|
|
21
|
+
implementationProfile: contract.implementationProfile,
|
|
22
|
+
createdAtUtc: contract.createdAtUtc,
|
|
23
|
+
structure: { ...contract.structure },
|
|
24
|
+
artifacts: { ...contract.artifacts },
|
|
25
|
+
layers: { ...contract.layers },
|
|
26
|
+
governance: {
|
|
27
|
+
...contract.governance,
|
|
28
|
+
validation: { ...(contract.governance.validation ?? {}) },
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function normalizeComponent(id, source, defaults, component) {
|
|
33
|
+
return {
|
|
34
|
+
id,
|
|
35
|
+
name: component?.name ?? defaults.projectName,
|
|
36
|
+
source,
|
|
37
|
+
...(component?.path ? { path: component.path } : {}),
|
|
38
|
+
...(component?.type ? { type: component.type } : {}),
|
|
39
|
+
...(component?.stack ? { stack: component.stack } : {}),
|
|
40
|
+
...(component?.kind ? { kind: component.kind } : {}),
|
|
41
|
+
repoTopology: component?.repoTopology ?? defaults.repoTopology,
|
|
42
|
+
projectKinds: [...(component?.projectKinds ?? defaults.projectKinds)],
|
|
43
|
+
stacks: { ...(component?.stacks ?? defaults.stacks) },
|
|
44
|
+
architectureStyle: component?.architectureStyle ?? defaults.architectureStyle,
|
|
45
|
+
database: component?.database ?? defaults.database,
|
|
46
|
+
tenantModel: component?.tenantModel ?? defaults.tenantModel,
|
|
47
|
+
rbac: component?.rbac ?? defaults.rbac,
|
|
48
|
+
apiStyle: component?.apiStyle ?? defaults.apiStyle,
|
|
49
|
+
authStyle: component?.authStyle ?? defaults.authStyle,
|
|
50
|
+
implementationProfile: component?.implementationProfile ?? defaults.implementationProfile,
|
|
51
|
+
structure: {
|
|
52
|
+
...defaults.structure,
|
|
53
|
+
...(component?.structure ?? {}),
|
|
54
|
+
},
|
|
55
|
+
artifacts: {
|
|
56
|
+
...defaults.artifacts,
|
|
57
|
+
...(component?.artifacts ?? {}),
|
|
58
|
+
},
|
|
59
|
+
modules: component?.modules ?? {},
|
|
60
|
+
...(component?.allowedDependencies
|
|
61
|
+
? { allowedDependencies: [...component.allowedDependencies] }
|
|
62
|
+
: {}),
|
|
63
|
+
layers: {
|
|
64
|
+
...defaults.layers,
|
|
65
|
+
...(component?.layers ?? {}),
|
|
66
|
+
},
|
|
67
|
+
governance: {
|
|
68
|
+
...defaults.governance,
|
|
69
|
+
...(component?.governance ?? {}),
|
|
70
|
+
validation: {
|
|
71
|
+
...(defaults.governance.validation ?? {}),
|
|
72
|
+
...(component?.governance?.validation ?? {}),
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function hasDeclaredComponents(components) {
|
|
78
|
+
return !!components && Object.keys(components).length > 0;
|
|
79
|
+
}
|
|
80
|
+
function getDeclaredComponentEntries(components) {
|
|
81
|
+
const entries = Array.isArray(components)
|
|
82
|
+
? components
|
|
83
|
+
.map((component, index) => [
|
|
84
|
+
component?.id ?? `component-${index + 1}`,
|
|
85
|
+
component,
|
|
86
|
+
])
|
|
87
|
+
.filter((entry) => Boolean(entry[1]))
|
|
88
|
+
: Object.entries(components)
|
|
89
|
+
.filter((entry) => Boolean(entry[1]))
|
|
90
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
91
|
+
const seenPaths = new Set();
|
|
92
|
+
return entries.filter(([, component]) => {
|
|
93
|
+
const normalizedPath = normalizeArchitectureWorkspacePath(component.path);
|
|
94
|
+
if (!normalizedPath) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
if (seenPaths.has(normalizedPath)) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
seenPaths.add(normalizedPath);
|
|
101
|
+
return true;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function normalizeArchitectureWorkspacePath(value) {
|
|
105
|
+
const normalized = value
|
|
106
|
+
?.replace(/\\/g, '/')
|
|
107
|
+
.replace(/^\.\//u, '')
|
|
108
|
+
.replace(/\/+$/u, '')
|
|
109
|
+
.trim();
|
|
110
|
+
return normalized && normalized.length > 0 ? normalized : undefined;
|
|
111
|
+
}
|
|
112
|
+
function normalizeResource(id, resource) {
|
|
113
|
+
return {
|
|
114
|
+
id,
|
|
115
|
+
name: resource.name ?? id,
|
|
116
|
+
...(resource.type ? { type: resource.type } : {}),
|
|
117
|
+
...(resource.provider ? { provider: resource.provider } : {}),
|
|
118
|
+
...(resource.path ? { path: resource.path } : {}),
|
|
119
|
+
...(resource.ownerComponent ? { ownerComponent: resource.ownerComponent } : {}),
|
|
120
|
+
...(resource.component ? { component: resource.component } : {}),
|
|
121
|
+
components: [...(resource.components ?? [])],
|
|
122
|
+
dependsOn: [...(resource.dependsOn ?? [])],
|
|
123
|
+
metadata: { ...(resource.metadata ?? {}) },
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function normalizeResources(resources) {
|
|
127
|
+
if (!resources || Object.keys(resources).length === 0) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
const entries = Array.isArray(resources)
|
|
131
|
+
? resources
|
|
132
|
+
.map((resource, index) => [
|
|
133
|
+
resource?.id ?? `resource-${index + 1}`,
|
|
134
|
+
resource,
|
|
135
|
+
])
|
|
136
|
+
.filter((entry) => Boolean(entry[1]))
|
|
137
|
+
: Object.entries(resources)
|
|
138
|
+
.filter((entry) => Boolean(entry[1]))
|
|
139
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
140
|
+
return entries
|
|
141
|
+
.map(([resourceId, resource]) => normalizeResource(resourceId, resource));
|
|
142
|
+
}
|
|
143
|
+
function normalizeArchitectureWorkspaceModel(contract) {
|
|
144
|
+
const repoDefaults = normalizeRepoDefaults(contract);
|
|
145
|
+
const components = hasDeclaredComponents(contract.components)
|
|
146
|
+
? getDeclaredComponentEntries(contract.components).map(([componentId, component]) => normalizeComponent(componentId, 'declared', repoDefaults, component))
|
|
147
|
+
: [
|
|
148
|
+
normalizeComponent(exports.VIRTUAL_WORKSPACE_COMPONENT_ID, 'virtual', repoDefaults, {
|
|
149
|
+
name: contract.projectName,
|
|
150
|
+
modules: contract.modules,
|
|
151
|
+
}),
|
|
152
|
+
];
|
|
153
|
+
const resources = normalizeResources(contract.resources);
|
|
154
|
+
return {
|
|
155
|
+
version: contract.version,
|
|
156
|
+
projectName: contract.projectName,
|
|
157
|
+
repoDefaults,
|
|
158
|
+
components,
|
|
159
|
+
...(resources ? { resources } : {}),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
async function loadNormalizedArchitectureWorkspaceModel(workspaceRoot) {
|
|
163
|
+
const contract = await (0, architectureInit_1.loadArchitectureContract)(workspaceRoot);
|
|
164
|
+
return contract ? normalizeArchitectureWorkspaceModel(contract) : undefined;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=architectureWorkspaceModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architectureWorkspaceModel.js","sourceRoot":"","sources":["../../../../core/src/architectureWorkspaceModel.ts"],"names":[],"mappings":"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"}
|