wabachi 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/architecture/documentation/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/architecture/documentation/project.ts"],"names":[],"mappings":"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"}
@@ -75,11 +75,12 @@ function failureResult(base, status, phase, code, message, exitCode, signal) {
75
75
  return { ...base, status, exitCode, signal, diagnostic: { code, phase, message } };
76
76
  }
77
77
  function versionFromOutput(output) {
78
- const version = output
78
+ const lines = output
79
79
  .split(/\r?\n/u)
80
80
  .map((line) => line.trim())
81
- .find((line) => line.length > 0);
82
- return version ?? null;
81
+ .filter((line) => line.length > 0);
82
+ const releaseLine = lines.find((line) => /\bstructurizr:\s+\S+/iu.test(line));
83
+ return releaseLine?.replace(/^.*?\b(structurizr:\s+\S+).*$/iu, "$1") ?? lines[0] ?? null;
83
84
  }
84
85
  /**
85
86
  * Run the current Structurizr static export surface against an existing
@@ -87,7 +88,7 @@ function versionFromOutput(output) {
87
88
  */
88
89
  export async function runStructurizrStaticExport(request) {
89
90
  const launcherArgs = request.launcher.args === undefined ? [] : [...request.launcher.args];
90
- const versionArgs = [...launcherArgs, "--version"];
91
+ const versionArgs = [...launcherArgs, "version"];
91
92
  const exportArgs = [
92
93
  ...launcherArgs,
93
94
  "export",
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr-export.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structurizr-export.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr-export.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ArchitectureDocumentV1 } from "../canon/document.js";
2
2
  import type { ViewSpec } from "../canon/views.js";
3
- export declare const PROJECTION_LOSS_CODES: readonly ["unsupported-authority", "unsupported-ownership", "unsupported-boundary", "unsupported-responsibility", "unsupported-constraint", "unsupported-repository-mapping", "unsupported-decision", "unsupported-reference", "unsupported-reference-attachment", "unsupported-interface", "unsupported-containment", "unsupported-flow", "unsupported-deployment-instance", "unsupported-deployment-mapping", "unsupported-infrastructure-reference", "unsupported-view-reference", "unsupported-view-exclusion", "unsupported-view-scope", "unsupported-presentation", "ambiguous-flow-step"];
3
+ export declare const PROJECTION_LOSS_CODES: readonly ["unsupported-authority", "unsupported-ownership", "unsupported-boundary", "unsupported-responsibility", "unsupported-constraint", "unsupported-repository-mapping", "unsupported-decision", "unsupported-reference", "unsupported-reference-attachment", "unsupported-interface", "unsupported-element-annotation", "unsupported-containment", "unsupported-relationship", "unsupported-flow", "unsupported-deployment-instance", "unsupported-deployment-mapping", "unsupported-infrastructure-reference", "unsupported-view-reference", "unsupported-view-exclusion", "unsupported-view-scope", "unsupported-view-root", "unsupported-presentation", "ambiguous-flow-step"];
4
4
  export type ProjectionLossCode = (typeof PROJECTION_LOSS_CODES)[number];
5
5
  /** A machine-readable explanation of a Canon fact not represented losslessly by Structurizr. */
6
6
  export interface ProjectionLoss {
@@ -10,7 +10,9 @@ export const PROJECTION_LOSS_CODES = [
10
10
  "unsupported-reference",
11
11
  "unsupported-reference-attachment",
12
12
  "unsupported-interface",
13
+ "unsupported-element-annotation",
13
14
  "unsupported-containment",
15
+ "unsupported-relationship",
14
16
  "unsupported-flow",
15
17
  "unsupported-deployment-instance",
16
18
  "unsupported-deployment-mapping",
@@ -18,6 +20,7 @@ export const PROJECTION_LOSS_CODES = [
18
20
  "unsupported-view-reference",
19
21
  "unsupported-view-exclusion",
20
22
  "unsupported-view-scope",
23
+ "unsupported-view-root",
21
24
  "unsupported-presentation",
22
25
  "ambiguous-flow-step",
23
26
  ];
@@ -69,13 +72,29 @@ function compareStrings(left, right) {
69
72
  return 1;
70
73
  return 0;
71
74
  }
72
- function relationshipEntries(document) {
73
- return Object.freeze(document.relationships.map((record) => {
75
+ function isAncestor(elements, ancestorId, descendantId) {
76
+ let current = elements.get(descendantId);
77
+ while (current?.parentId !== undefined) {
78
+ if (current.parentId === ancestorId)
79
+ return true;
80
+ current = elements.get(current.parentId);
81
+ }
82
+ return false;
83
+ }
84
+ function relationshipEntries(document, losses) {
85
+ const elements = indexById(document.elements);
86
+ return Object.freeze(document.relationships.flatMap((record, relationshipIndex) => {
87
+ if (isAncestor(elements, record.source, record.target) || isAncestor(elements, record.target, record.source)) {
88
+ losses.add("unsupported-relationship", `relationships[${relationshipIndex}]`, [record.source, record.target], `Structurizr cannot represent a relationship between a Canon element and its containment parent: ${record.source} -> ${record.target}`);
89
+ return [];
90
+ }
74
91
  const candidate = record;
75
- return Object.freeze({
76
- record,
77
- ...(typeof candidate.id === "string" ? { explicitId: candidate.id } : {}),
78
- });
92
+ return [
93
+ Object.freeze({
94
+ record,
95
+ ...(typeof candidate.id === "string" ? { explicitId: candidate.id } : {}),
96
+ }),
97
+ ];
79
98
  }));
80
99
  }
81
100
  function indexById(records) {
@@ -147,7 +166,7 @@ function addIdentityMappings(document) {
147
166
  return Object.freeze(mappings.map((mapping) => Object.freeze(mapping)));
148
167
  }
149
168
  function createContext(document, losses) {
150
- const entries = relationshipEntries(document);
169
+ const entries = relationshipEntries(document, losses);
151
170
  const explicit = new Map();
152
171
  const byInterface = new Map();
153
172
  for (const entry of entries) {
@@ -176,6 +195,8 @@ function elementTag(element) {
176
195
  return `CanonElement,CanonKind-${identifierPart(element.kind)}`;
177
196
  }
178
197
  function childKind(parent, element) {
198
+ if (parent === "person")
199
+ return "element";
179
200
  if (parent === "softwareSystem")
180
201
  return "container";
181
202
  if (parent === "container")
@@ -185,6 +206,8 @@ function childKind(parent, element) {
185
206
  return element.kind === "system" || element.kind === "service" ? "softwareSystem" : "element";
186
207
  }
187
208
  function rootKind(element) {
209
+ if (element.kind === "actor")
210
+ return "person";
188
211
  return element.kind === "system" || element.kind === "service" ? "softwareSystem" : "element";
189
212
  }
190
213
  function renderElement(context, element, children, indent, parentKind) {
@@ -197,8 +220,34 @@ function renderElement(context, element, children, indent, parentKind) {
197
220
  const isUnnested = element.parentId !== undefined && kind === "element";
198
221
  const declarationIndent = isUnnested ? 2 : indent;
199
222
  const identifier = context.elementIdentifiers.get(element.id);
200
- const lines = [`${" ".repeat(declarationIndent)}${identifier} = ${kind} ${quote(element.id)} {`];
201
- lines.push(`${" ".repeat(declarationIndent + 1)}tags ${quote(elementTag(element))}`);
223
+ const name = element.displayName ?? element.id;
224
+ const lines = [`${" ".repeat(declarationIndent)}${identifier} = ${kind} ${quote(name)} {`];
225
+ const elementIndex = context.document.elements.findIndex((candidate) => candidate.id === element.id);
226
+ const tags = [elementTag(element)];
227
+ for (let tagIndex = 0; tagIndex < (element.tags?.length ?? 0); tagIndex += 1) {
228
+ const tag = element.tags?.[tagIndex];
229
+ if (tag.includes(",")) {
230
+ context.losses.add("unsupported-element-annotation", `elements[${elementIndex}].tags[${tagIndex}]`, [element.id], `Structurizr cannot preserve Canon element tag containing a comma: ${tag}`);
231
+ }
232
+ else
233
+ tags.push(tag);
234
+ }
235
+ lines.push(`${" ".repeat(declarationIndent + 1)}tags ${quote(tags.join(","))}`);
236
+ const properties = Object.entries(element.properties ?? {});
237
+ if (element.technology !== undefined) {
238
+ if (Object.hasOwn(element.properties ?? {}, "canon.technology")) {
239
+ context.losses.add("unsupported-element-annotation", `elements[${elementIndex}].technology`, [element.id], "Structurizr property canon.technology conflicts with the Canon element technology annotation");
240
+ }
241
+ else
242
+ properties.unshift(["canon.technology", element.technology]);
243
+ }
244
+ if (properties.length > 0) {
245
+ lines.push(`${" ".repeat(declarationIndent + 1)}properties {`);
246
+ for (const [key, value] of properties) {
247
+ lines.push(`${" ".repeat(declarationIndent + 2)}${quote(key)} ${quote(value)}`);
248
+ }
249
+ lines.push(`${" ".repeat(declarationIndent + 1)}}`);
250
+ }
202
251
  const unnestedChildren = [];
203
252
  if (kind !== "element") {
204
253
  for (const child of children.get(element.id) ?? []) {
@@ -382,10 +431,67 @@ function viewPath(viewIndex, mode, referenceIndex) {
382
431
  function addUnsupportedViewReference(context, view, path, reference) {
383
432
  context.losses.add("unsupported-view-reference", path, [view.key, reference.id], `Structurizr cannot represent ${reference.kind} ${reference.id} in a ${view.kind} view scope`);
384
433
  }
385
- function renderStructuralView(context, view, viewIndex) {
386
- const lines = [` systemLandscape ${quote(viewKey(view.key))} {`];
434
+ function addUnsupportedViewRoot(context, view, viewIndex, message) {
435
+ context.losses.add("unsupported-view-root", `views[${viewIndex}].root`, [view.key, view.root?.id ?? ""], message);
436
+ }
437
+ function renderViewMetadata(view, lines) {
387
438
  if (view.title !== undefined)
388
439
  lines.push(` title ${quote(view.title)}`);
440
+ if (view.description !== undefined)
441
+ lines.push(` description ${quote(view.description)}`);
442
+ }
443
+ function declaredElementRoot(context, view, viewIndex) {
444
+ if (view.root === undefined)
445
+ return undefined;
446
+ if (view.root.kind !== "element") {
447
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr ${view.kind} views require an element root, but Canon declared ${view.root.kind} ${view.root.id}`);
448
+ return undefined;
449
+ }
450
+ const root = context.document.elements.find((element) => element.id === view.root?.id);
451
+ if (root === undefined) {
452
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr cannot resolve Canon view root ${view.root.id}`);
453
+ }
454
+ return root;
455
+ }
456
+ function structuralViewForm(context, root) {
457
+ const rootIdentifier = context.elementIdentifiers.get(root.id);
458
+ const rootKind = context.elementDslKinds.get(root.id);
459
+ if (rootIdentifier === undefined)
460
+ return undefined;
461
+ if (rootKind === "softwareSystem")
462
+ return { type: "systemContext", scope: rootIdentifier };
463
+ const parent = root.parentId === undefined ? undefined : context.document.elements.find((element) => element.id === root.parentId);
464
+ const parentIdentifier = parent === undefined ? undefined : context.elementIdentifiers.get(parent.id);
465
+ const parentKind = parent === undefined ? undefined : context.elementDslKinds.get(parent.id);
466
+ if (rootKind === "container" && parentIdentifier !== undefined) {
467
+ if (parentKind === "softwareSystem")
468
+ return { type: "container", scope: parentIdentifier };
469
+ if (parentKind === "container")
470
+ return { type: "component", scope: parentIdentifier };
471
+ }
472
+ if (rootKind === "component" && parentIdentifier !== undefined && parentKind === "container") {
473
+ return { type: "component", scope: parentIdentifier };
474
+ }
475
+ return undefined;
476
+ }
477
+ function renderStructuralView(context, view, viewIndex) {
478
+ let declaration = { type: "systemLandscape", scope: "*" };
479
+ if (view.root !== undefined) {
480
+ const root = declaredElementRoot(context, view, viewIndex);
481
+ if (root === undefined)
482
+ return [];
483
+ const form = structuralViewForm(context, root);
484
+ if (form === undefined) {
485
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr cannot represent Canon structural view root ${root.id} at its hierarchy level`);
486
+ return [];
487
+ }
488
+ declaration = form;
489
+ }
490
+ const header = declaration.type === "systemLandscape"
491
+ ? ` ${declaration.type} ${viewKey(view.key)} {`
492
+ : ` ${declaration.type} ${declaration.scope} ${viewKey(view.key)} {`;
493
+ const lines = [header];
494
+ renderViewMetadata(view, lines);
389
495
  renderPresentation(context, view, viewIndex, lines);
390
496
  for (const [mode, references] of [
391
497
  ["include", view.scope.include],
@@ -454,21 +560,20 @@ function renderDynamicFlow(context, flow, flowIndex, order, lines, viewKeyValue)
454
560
  }
455
561
  function renderDynamicView(context, view, viewIndex) {
456
562
  const flowIds = view.scope.include.filter((reference) => reference.kind === "flow").map((reference) => reference.id);
457
- const includedElements = view.scope.include.filter((reference) => reference.kind === "element");
458
- const supportedScopes = includedElements.filter((reference) => {
459
- const kind = context.elementDslKinds.get(reference.id);
460
- return kind === "softwareSystem" || kind === "container";
461
- });
462
563
  let scope = "*";
463
- if (supportedScopes.length === 1 && includedElements.length === 1) {
464
- scope = context.elementIdentifiers.get(supportedScopes[0].id);
465
- }
466
- else if (includedElements.length > 0) {
467
- context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope.include`, includedElements.map((reference) => reference.id), `Structurizr dynamic views have one scope, but Canon view ${view.key} declares multiple or incompatible element scopes`);
564
+ if (view.root !== undefined) {
565
+ const root = declaredElementRoot(context, view, viewIndex);
566
+ if (root === undefined)
567
+ return [];
568
+ const rootKind = context.elementDslKinds.get(root.id);
569
+ if (rootKind !== "softwareSystem" && rootKind !== "container") {
570
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr dynamic views cannot use Canon element ${root.id} as a view scope at hierarchy kind ${rootKind ?? "unknown"}`);
571
+ return [];
572
+ }
573
+ scope = context.elementIdentifiers.get(root.id);
468
574
  }
469
- const lines = [` dynamic ${scope} ${quote(viewKey(view.key))} {`];
470
- if (view.title !== undefined)
471
- lines.push(` title ${quote(view.title)}`);
575
+ const lines = [` dynamic ${scope} ${viewKey(view.key)} {`];
576
+ renderViewMetadata(view, lines);
472
577
  renderPresentation(context, view, viewIndex, lines);
473
578
  for (let referenceIndex = 0; referenceIndex < view.scope.include.length; referenceIndex += 1) {
474
579
  const reference = view.scope.include[referenceIndex];
@@ -490,38 +595,30 @@ function renderDynamicView(context, view, viewIndex) {
490
595
  lines.push(" }");
491
596
  return lines;
492
597
  }
493
- function deploymentEnvironmentForReference(context, reference) {
494
- if (reference.kind === "runtime-environment")
495
- return reference.id;
496
- if (reference.kind === "deployment-node") {
497
- return context.document.deployment.deploymentNodes.find((node) => node.id === reference.id)?.environmentId;
598
+ function renderDeploymentView(context, view, viewIndex) {
599
+ let environment;
600
+ if (view.root !== undefined) {
601
+ if (view.root.kind !== "runtime-environment") {
602
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr deployment views require a runtime environment root, but Canon declared ${view.root.kind} ${view.root.id}`);
603
+ return [];
604
+ }
605
+ environment = view.root.id;
498
606
  }
499
- if (reference.kind === "deployment-instance") {
500
- const instance = context.document.deployment.deploymentInstances.find((candidate) => candidate.id === reference.id);
501
- return context.document.deployment.deploymentNodes.find((node) => node.id === instance?.nodeId)?.environmentId;
607
+ else {
608
+ context.losses.add("unsupported-view-scope", `views[${viewIndex}].root`, [view.key], `Structurizr deployment view ${view.key} has no declared Canon runtime environment root`);
609
+ return [];
502
610
  }
503
- return undefined;
504
- }
505
- function renderDeploymentView(context, view, viewIndex) {
506
- const environmentIds = new Set();
507
- for (const reference of view.scope.include) {
508
- const environment = deploymentEnvironmentForReference(context, reference);
509
- if (environment !== undefined)
510
- environmentIds.add(environment);
511
- }
512
- if (environmentIds.size !== 1) {
513
- context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope`, [view.key, ...environmentIds], `Structurizr deployment views require exactly one Canon runtime environment for view ${view.key}`);
611
+ if (environment === undefined) {
612
+ context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope`, [view.key], `Structurizr deployment views require a Canon runtime environment for view ${view.key}`);
514
613
  return [];
515
614
  }
516
- const environment = [...environmentIds][0];
517
615
  const elementScopes = view.scope.include.filter((reference) => reference.kind === "element" && context.elementDslKinds.get(reference.id) === "softwareSystem");
518
616
  const scope = elementScopes.length === 1 ? context.elementIdentifiers.get(elementScopes[0].id) : "*";
519
617
  const environmentIdentifier = context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment);
520
618
  const lines = [
521
- ` deployment ${scope} ${context.document.deployment.runtimeEnvironments.length > 0 ? (context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment) ? structurizrIdentifier("runtime-environment", environment) : quote(environment)) : quote(environment)} ${quote(viewKey(view.key))} {`,
619
+ ` deployment ${scope} ${context.document.deployment.runtimeEnvironments.length > 0 ? (context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment) ? structurizrIdentifier("runtime-environment", environment) : quote(environment)) : quote(environment)} ${viewKey(view.key)} {`,
522
620
  ];
523
- if (view.title !== undefined)
524
- lines.push(` title ${quote(view.title)}`);
621
+ renderViewMetadata(view, lines);
525
622
  renderPresentation(context, view, viewIndex, lines);
526
623
  for (const [mode, references] of [
527
624
  ["include", view.scope.include],
@@ -621,7 +718,9 @@ function addUnsupportedCanonSemantics(context) {
621
718
  }
622
719
  }
623
720
  }
624
- function renderWorkspace(context, views) {
721
+ function renderWorkspace(context) {
722
+ const elements = renderElements(context);
723
+ const renderedViews = renderViews(context);
625
724
  const document = context.document;
626
725
  const lines = [
627
726
  `workspace ${quote(document.documentId)} {`,
@@ -632,16 +731,19 @@ function renderWorkspace(context, views) {
632
731
  " }",
633
732
  " model {",
634
733
  " !identifiers flat",
635
- ...renderElements(context),
734
+ ...elements,
636
735
  ...renderRelationships(context),
637
736
  ...renderDeployment(context),
638
737
  " }",
639
738
  " views {",
640
- ...views.map((line) => line),
739
+ ...renderedViews.lines,
641
740
  " }",
642
741
  "}",
643
742
  ];
644
- return `${lines.join("\n")}\n`;
743
+ return {
744
+ dsl: `${lines.join("\n")}\n`,
745
+ viewMappings: renderedViews.mappings,
746
+ };
645
747
  }
646
748
  /** Project a validated Architecture Canon into current Structurizr DSL plus explicit losses. */
647
749
  export function projectArchitectureDocumentToStructurizr(document) {
@@ -652,14 +754,14 @@ export function projectArchitectureDocumentToStructurizr(document) {
652
754
  }
653
755
  const losses = new LossCollector();
654
756
  const context = createContext(document, losses);
655
- const renderedViews = renderViews(context);
757
+ const workspace = renderWorkspace(context);
656
758
  addUnsupportedCanonSemantics(context);
657
759
  return Object.freeze({
658
760
  canonVersion: document.canonVersion,
659
761
  documentId: document.documentId,
660
- dsl: renderWorkspace(context, renderedViews.lines),
762
+ dsl: workspace.dsl,
661
763
  identityMappings: addIdentityMappings(document),
662
- viewMappings: renderedViews.mappings,
764
+ viewMappings: workspace.viewMappings,
663
765
  losses: losses.finish(),
664
766
  });
665
767
  }
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structurizr.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -138,6 +138,6 @@ function printHelp() {
138
138
  ].join("\n"));
139
139
  }
140
140
  function getVersion() {
141
- return "0.1.0";
141
+ return "0.2.0";
142
142
  }
143
143
  //# sourceMappingURL=cli.js.map