@agilewallaby/c4-model 1.0.2 → 1.0.3
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/package.json +3 -2
- package/src/lib/component.d.ts +2 -3
- package/src/lib/component.js +1 -1
- package/src/lib/component.js.map +1 -1
- package/src/lib/container.d.ts +4 -5
- package/src/lib/container.js +4 -3
- package/src/lib/container.js.map +1 -1
- package/src/lib/core.d.ts +5 -6
- package/src/lib/core.js +5 -7
- package/src/lib/core.js.map +1 -1
- package/src/lib/model.d.ts +2 -2
- package/src/lib/model.js +12 -11
- package/src/lib/model.js.map +1 -1
- package/src/lib/person.d.ts +1 -2
- package/src/lib/person.js +1 -4
- package/src/lib/person.js.map +1 -1
- package/src/lib/softwareSystem.d.ts +2 -3
- package/src/lib/softwareSystem.js +2 -1
- package/src/lib/softwareSystem.js.map +1 -1
- package/src/lib/structurizrDslWriter.d.ts +1 -1
- package/src/lib/structurizrDslWriter.js +39 -39
- package/src/lib/structurizrDslWriter.js.map +1 -1
- package/src/lib/tests/system1/c4.dsl.d.ts +1 -1
- package/src/lib/tests/system1/c4.dsl.js.map +1 -1
- package/src/lib/tests/system2/c4.dsl.d.ts +1 -1
- package/src/lib/tests/system2/c4.dsl.js.map +1 -1
- package/src/lib/views.js +2 -2
- package/src/lib/views.js.map +1 -1
- /package/{dist/libs/c4-model/libs/c4-model/README.md → README.md} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agilewallaby/c4-model",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"url": "https://github.com/AgileWallaby/c4.git"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"tslib": "^2.3.0"
|
|
12
|
+
"tslib": "^2.3.0",
|
|
13
|
+
"glob": "^10.3.10"
|
|
13
14
|
},
|
|
14
15
|
"type": "commonjs",
|
|
15
16
|
"main": "./src/index.js",
|
package/src/lib/component.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Element, Reference, TechnicalElement, TechnologyDefinition } from
|
|
2
|
-
export
|
|
3
|
-
}
|
|
1
|
+
import { Element, Reference, TechnicalElement, TechnologyDefinition } from './core';
|
|
2
|
+
export type ComponentDefinition = TechnologyDefinition;
|
|
4
3
|
export declare class Component extends TechnicalElement {
|
|
5
4
|
readonly name: string;
|
|
6
5
|
constructor(name: string, definition?: ComponentDefinition);
|
package/src/lib/component.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.ReferencedComponent = exports.Component = void 0;
|
|
|
4
4
|
const core_1 = require("./core");
|
|
5
5
|
class Component extends core_1.TechnicalElement {
|
|
6
6
|
constructor(name, definition) {
|
|
7
|
-
super(name, [
|
|
7
|
+
super(name, ['Component'], definition);
|
|
8
8
|
this.name = name;
|
|
9
9
|
}
|
|
10
10
|
getChildElements() {
|
package/src/lib/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/component.ts"],"names":[],"mappings":";;;AAAA,iCAAmF;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/component.ts"],"names":[],"mappings":";;;AAAA,iCAAmF;AAInF,MAAa,SAAU,SAAQ,uBAAgB;IAC3C,YAC6B,IAAY,EACrC,UAAgC;QAEhC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAA;QAHb,SAAI,GAAJ,IAAI,CAAQ;IAIzC,CAAC;IAEM,gBAAgB;QACnB,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAXD,8BAWC;AAED,MAAa,mBAAoB,SAAQ,gBAAoB;CAAG;AAAhE,kDAAgE"}
|
package/src/lib/container.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Element, Group, Reference, TechnicalElement, TechnologyDefinition } from
|
|
2
|
-
import { Component, ComponentDefinition, ReferencedComponent } from
|
|
3
|
-
export
|
|
4
|
-
}
|
|
1
|
+
import { Element, Group, Reference, TechnicalElement, TechnologyDefinition } from './core';
|
|
2
|
+
import { Component, ComponentDefinition, ReferencedComponent } from './component';
|
|
3
|
+
export type ContainerDefinition = TechnologyDefinition;
|
|
5
4
|
interface DefineComponent {
|
|
6
5
|
defineComponent(name: string, definition?: ComponentDefinition): Component;
|
|
7
6
|
}
|
|
8
|
-
export declare class ContainerGroup extends Group
|
|
7
|
+
export declare class ContainerGroup extends Group implements DefineComponent {
|
|
9
8
|
readonly name: string;
|
|
10
9
|
private readonly container;
|
|
11
10
|
private _components;
|
package/src/lib/container.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReferencedContainer = exports.Container = exports.ContainerGroup = void 0;
|
|
4
4
|
const core_1 = require("./core");
|
|
5
5
|
const component_1 = require("./component");
|
|
6
|
+
// TODO: This will be a Group<Container> if that is added back in
|
|
6
7
|
class ContainerGroup extends core_1.Group {
|
|
7
8
|
constructor(name, container) {
|
|
8
9
|
super(name);
|
|
@@ -22,7 +23,7 @@ class ContainerGroup extends core_1.Group {
|
|
|
22
23
|
exports.ContainerGroup = ContainerGroup;
|
|
23
24
|
class Container extends core_1.TechnicalElement {
|
|
24
25
|
constructor(name, definition) {
|
|
25
|
-
super(name, [
|
|
26
|
+
super(name, ['Container'], definition);
|
|
26
27
|
this.name = name;
|
|
27
28
|
this._components = new Map();
|
|
28
29
|
this._groups = new Map();
|
|
@@ -47,8 +48,8 @@ class Container extends core_1.TechnicalElement {
|
|
|
47
48
|
return Array.from(this._groups.values());
|
|
48
49
|
}
|
|
49
50
|
getComponentsNotInGroups() {
|
|
50
|
-
const componentsInGroups = this.getGroups().flatMap(group => group.getComponents());
|
|
51
|
-
return Array.from(this._components.values()).filter(component => !componentsInGroups.includes(component));
|
|
51
|
+
const componentsInGroups = this.getGroups().flatMap((group) => group.getComponents());
|
|
52
|
+
return Array.from(this._components.values()).filter((component) => !componentsInGroups.includes(component));
|
|
52
53
|
}
|
|
53
54
|
getChildElements() {
|
|
54
55
|
return Array.from(this._components.values());
|
package/src/lib/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/container.ts"],"names":[],"mappings":";;;AAAA,iCAA0F;AAC1F,2CAAiF;
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/container.ts"],"names":[],"mappings":"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"}
|
package/src/lib/core.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Component, ReferencedComponent } from
|
|
2
|
-
import { Container, ReferencedContainer } from
|
|
3
|
-
import { ReferencedSoftwareSystem, SoftwareSystem } from
|
|
4
|
-
import { Person } from
|
|
1
|
+
import { Component, ReferencedComponent } from './component';
|
|
2
|
+
import { Container, ReferencedContainer } from './container';
|
|
3
|
+
import { ReferencedSoftwareSystem, SoftwareSystem } from './softwareSystem';
|
|
4
|
+
import { Person } from './person';
|
|
5
5
|
export interface Definition {
|
|
6
6
|
description?: string;
|
|
7
7
|
tags?: string[];
|
|
@@ -44,8 +44,7 @@ export declare class Reference<T> {
|
|
|
44
44
|
getChildElementNames(path?: string): ReadonlyArray<string>;
|
|
45
45
|
}
|
|
46
46
|
export type RelationshipTarget = Person | SoftwareSystem | ReferencedSoftwareSystem | Container | ReferencedContainer | Component | ReferencedComponent;
|
|
47
|
-
export declare class Group
|
|
47
|
+
export declare class Group {
|
|
48
48
|
readonly name: string;
|
|
49
49
|
constructor(name: string);
|
|
50
|
-
addToGroup(groupCollection: string, groupMember: T): void;
|
|
51
50
|
}
|
package/src/lib/core.js
CHANGED
|
@@ -7,7 +7,7 @@ class Element {
|
|
|
7
7
|
this.name = name;
|
|
8
8
|
this._relationships = [];
|
|
9
9
|
this.description = definition === null || definition === void 0 ? void 0 : definition.description;
|
|
10
|
-
this.tags = ((_a = definition === null || definition === void 0 ? void 0 : definition.tags) !== null && _a !== void 0 ? _a : []).concat([
|
|
10
|
+
this.tags = ((_a = definition === null || definition === void 0 ? void 0 : definition.tags) !== null && _a !== void 0 ? _a : []).concat(['Element']).concat(defaultTags);
|
|
11
11
|
}
|
|
12
12
|
get canonicalName() {
|
|
13
13
|
return this.name.toLowerCase();
|
|
@@ -20,10 +20,10 @@ class Element {
|
|
|
20
20
|
return this._relationships;
|
|
21
21
|
}
|
|
22
22
|
getRelationshipsInHierarchy() {
|
|
23
|
-
return this._relationships.concat(this.getChildElements().flatMap(element => element.getRelationshipsInHierarchy()));
|
|
23
|
+
return this._relationships.concat(this.getChildElements().flatMap((element) => element.getRelationshipsInHierarchy()));
|
|
24
24
|
}
|
|
25
25
|
getChildElementNames(path) {
|
|
26
|
-
const result = Array.from(this.getChildElements()).flatMap(reference => {
|
|
26
|
+
const result = Array.from(this.getChildElements()).flatMap((reference) => {
|
|
27
27
|
const currentPath = `${path ? path : '' + this.name}.${reference.name}`;
|
|
28
28
|
return [currentPath, ...reference.getChildElementNames(currentPath)];
|
|
29
29
|
});
|
|
@@ -45,7 +45,7 @@ class Relationship {
|
|
|
45
45
|
this.destination = destination;
|
|
46
46
|
this.description = definition === null || definition === void 0 ? void 0 : definition.description;
|
|
47
47
|
this.technology = definition === null || definition === void 0 ? void 0 : definition.technology;
|
|
48
|
-
this.tags = ((_a = definition === null || definition === void 0 ? void 0 : definition.tags) !== null && _a !== void 0 ? _a : []).concat([
|
|
48
|
+
this.tags = ((_a = definition === null || definition === void 0 ? void 0 : definition.tags) !== null && _a !== void 0 ? _a : []).concat(['Relationship']);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.Relationship = Relationship;
|
|
@@ -69,7 +69,7 @@ class Reference {
|
|
|
69
69
|
return Array.from(this._references.values());
|
|
70
70
|
}
|
|
71
71
|
getChildElementNames(path) {
|
|
72
|
-
const result = Array.from(this._references.values()).flatMap(reference => {
|
|
72
|
+
const result = Array.from(this._references.values()).flatMap((reference) => {
|
|
73
73
|
const currentPath = `${path ? path : '' + this.name}.${reference.name}`;
|
|
74
74
|
return [currentPath, ...reference.getChildElementNames(currentPath)];
|
|
75
75
|
});
|
|
@@ -81,8 +81,6 @@ class Group {
|
|
|
81
81
|
constructor(name) {
|
|
82
82
|
this.name = name;
|
|
83
83
|
}
|
|
84
|
-
addToGroup(groupCollection, groupMember) {
|
|
85
|
-
}
|
|
86
84
|
}
|
|
87
85
|
exports.Group = Group;
|
|
88
86
|
//# sourceMappingURL=core.js.map
|
package/src/lib/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/core.ts"],"names":[],"mappings":";;;AAcA,MAAsB,OAAO;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/core.ts"],"names":[],"mappings":"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"}
|
package/src/lib/model.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ interface DefineSoftwareSystem {
|
|
|
7
7
|
interface DefinePerson {
|
|
8
8
|
definePerson(name: string, definition?: PersonDefinition): Person;
|
|
9
9
|
}
|
|
10
|
-
export declare class ModelGroup extends Group
|
|
10
|
+
export declare class ModelGroup extends Group implements DefineSoftwareSystem, DefinePerson {
|
|
11
11
|
readonly name: string;
|
|
12
12
|
private readonly model;
|
|
13
13
|
private softwareSystems;
|
|
@@ -31,7 +31,7 @@ export declare class Model {
|
|
|
31
31
|
private referencedPeople;
|
|
32
32
|
private groups;
|
|
33
33
|
defineSoftwareSystem(name: string, definition?: SoftwareSystemDefinition): SoftwareSystem;
|
|
34
|
-
addGroup(groupName: string): Group
|
|
34
|
+
addGroup(groupName: string): Group & ModelDefinitions;
|
|
35
35
|
referenceSoftwareSystem(name: string): ReferencedSoftwareSystem;
|
|
36
36
|
definePerson(name: string, definition?: PersonDefinition): Person;
|
|
37
37
|
referencePerson(name: string): ReferencedPerson;
|
package/src/lib/model.js
CHANGED
|
@@ -7,6 +7,7 @@ const path_1 = require("path");
|
|
|
7
7
|
const core_1 = require("./core");
|
|
8
8
|
const softwareSystem_1 = require("./softwareSystem");
|
|
9
9
|
const person_1 = require("./person");
|
|
10
|
+
// TODO: This will be a Group of type <SoftwareSystem | Person> if that is added back in
|
|
10
11
|
class ModelGroup extends core_1.Group {
|
|
11
12
|
constructor(name, model) {
|
|
12
13
|
super(name);
|
|
@@ -50,6 +51,7 @@ class Model {
|
|
|
50
51
|
this.softwareSystems.set(name, system);
|
|
51
52
|
return system;
|
|
52
53
|
}
|
|
54
|
+
// TODO:Should be a Group<SoftwareSystem | Person> if that is added back in
|
|
53
55
|
addGroup(groupName) {
|
|
54
56
|
let group = this.groups.get(groupName);
|
|
55
57
|
if (!group) {
|
|
@@ -83,17 +85,17 @@ class Model {
|
|
|
83
85
|
return person;
|
|
84
86
|
}
|
|
85
87
|
validate() {
|
|
86
|
-
const undefinedSoftwareSystems = Array.from(this.referencedSoftwareSystems.keys()).filter(name => !this.softwareSystems.has(name));
|
|
88
|
+
const undefinedSoftwareSystems = Array.from(this.referencedSoftwareSystems.keys()).filter((name) => !this.softwareSystems.has(name));
|
|
87
89
|
if (undefinedSoftwareSystems.length > 0) {
|
|
88
90
|
throw Error(`SoftwareSystems named '${undefinedSoftwareSystems.join("', '")}' are referenced but not defined.`);
|
|
89
91
|
}
|
|
90
|
-
const undefinedPeople = Array.from(this.referencedPeople.keys()).filter(name => !this.people.has(name));
|
|
92
|
+
const undefinedPeople = Array.from(this.referencedPeople.keys()).filter((name) => !this.people.has(name));
|
|
91
93
|
if (undefinedPeople.length > 0) {
|
|
92
94
|
throw Error(`People named '${undefinedPeople.join("', '")}' are referenced but not defined.`);
|
|
93
95
|
}
|
|
94
|
-
const definedElements = Array.from(this.softwareSystems.values()).flatMap(system => system.getChildElementNames());
|
|
95
|
-
const referencedElements = Array.from(this.referencedSoftwareSystems.values()).flatMap(system => system.getChildElementNames());
|
|
96
|
-
const undefinedElements = referencedElements.filter(name => !definedElements.includes(name));
|
|
96
|
+
const definedElements = Array.from(this.softwareSystems.values()).flatMap((system) => system.getChildElementNames());
|
|
97
|
+
const referencedElements = Array.from(this.referencedSoftwareSystems.values()).flatMap((system) => system.getChildElementNames());
|
|
98
|
+
const undefinedElements = referencedElements.filter((name) => !definedElements.includes(name));
|
|
97
99
|
if (undefinedElements.length > 0) {
|
|
98
100
|
throw Error(`Elements named '${undefinedElements.join("', '")}' are referenced but not defined.`);
|
|
99
101
|
}
|
|
@@ -105,12 +107,12 @@ class Model {
|
|
|
105
107
|
return Array.from(this.softwareSystems.values());
|
|
106
108
|
}
|
|
107
109
|
getPeopleNotInGroups() {
|
|
108
|
-
const peopleInGroups = Array.from(this.groups.values()).flatMap(group => group.getPeople());
|
|
109
|
-
return Array.from(this.people.values()).filter(person => !peopleInGroups.includes(person));
|
|
110
|
+
const peopleInGroups = Array.from(this.groups.values()).flatMap((group) => group.getPeople());
|
|
111
|
+
return Array.from(this.people.values()).filter((person) => !peopleInGroups.includes(person));
|
|
110
112
|
}
|
|
111
113
|
getSoftwareSystemsNotInGroups() {
|
|
112
|
-
const systemsInGroups = Array.from(this.groups.values()).flatMap(group => group.getSoftwareSystems());
|
|
113
|
-
return Array.from(this.softwareSystems.values()).filter(system => !systemsInGroups.includes(system));
|
|
114
|
+
const systemsInGroups = Array.from(this.groups.values()).flatMap((group) => group.getSoftwareSystems());
|
|
115
|
+
return Array.from(this.softwareSystems.values()).filter((system) => !systemsInGroups.includes(system));
|
|
114
116
|
}
|
|
115
117
|
getGroups() {
|
|
116
118
|
return Array.from(this.groups.values());
|
|
@@ -126,13 +128,12 @@ function buildModel(modelName, globPath = 'c4.dsl.ts') {
|
|
|
126
128
|
}
|
|
127
129
|
for (const file of result) {
|
|
128
130
|
const moduleFile = (0, path_1.join)(__dirname, file);
|
|
129
|
-
console.log(`Accumulating model from ${moduleFile}`);
|
|
130
131
|
const module = yield Promise.resolve(`${moduleFile}`).then(s => require(s));
|
|
131
132
|
if (typeof module.buildModel === 'function') {
|
|
132
133
|
module.buildModel(model);
|
|
133
134
|
}
|
|
134
135
|
else {
|
|
135
|
-
|
|
136
|
+
throw new Error(`No buildModel function found in ${moduleFile}`);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
model.validate();
|
package/src/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/model.ts"],"names":[],"mappings":";;;;AAAA,+BAA2B;AAC3B,+BAA2B;AAE3B,iCAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/model.ts"],"names":[],"mappings":"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"}
|
package/src/lib/person.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Definition, Element, Reference, RelationshipTarget } from './core';
|
|
2
|
-
export
|
|
3
|
-
}
|
|
2
|
+
export type PersonDefinition = Definition;
|
|
4
3
|
export declare class Person extends Element {
|
|
5
4
|
readonly name: string;
|
|
6
5
|
constructor(name: string, definition?: PersonDefinition);
|
package/src/lib/person.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.ReferencedPerson = exports.Person = void 0;
|
|
|
4
4
|
const core_1 = require("./core");
|
|
5
5
|
class Person extends core_1.Element {
|
|
6
6
|
constructor(name, definition) {
|
|
7
|
-
super(name, [
|
|
7
|
+
super(name, ['Person'], definition);
|
|
8
8
|
this.name = name;
|
|
9
9
|
}
|
|
10
10
|
getChildElements() {
|
|
@@ -12,9 +12,6 @@ class Person extends core_1.Element {
|
|
|
12
12
|
}
|
|
13
13
|
uses(otherElement, definition) {
|
|
14
14
|
super.uses(otherElement, definition);
|
|
15
|
-
// base(this).uses(otherElement, definition)
|
|
16
|
-
// const relationship = new Relationship(this, otherElement, definition)
|
|
17
|
-
// this._relationships.push(relationship)
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
17
|
exports.Person = Person;
|
package/src/lib/person.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/person.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"person.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/person.ts"],"names":[],"mappings":";;;AAAA,iCAA2E;AAI3E,MAAa,MAAO,SAAQ,cAAO;IAC/B,YAC6B,IAAY,EACrC,UAA6B;QAE7B,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAA;QAHV,SAAI,GAAJ,IAAI,CAAQ;IAIzC,CAAC;IAEM,gBAAgB;QACnB,OAAO,EAAE,CAAA;IACb,CAAC;IAEe,IAAI,CAAC,YAAgC,EAAE,UAAuB;QAC1E,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACxC,CAAC;CACJ;AAfD,wBAeC;AAED,MAAa,gBAAiB,SAAQ,gBAAoB;CAAG;AAA7D,4CAA6D"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { Definition, Element, Group, Reference } from './core';
|
|
2
2
|
import { Container, ContainerDefinition, ReferencedContainer } from './container';
|
|
3
|
-
export
|
|
4
|
-
}
|
|
3
|
+
export type SoftwareSystemDefinition = Definition;
|
|
5
4
|
interface DefineContainer {
|
|
6
5
|
defineContainer(name: string, definition?: ContainerDefinition): Container;
|
|
7
6
|
}
|
|
8
7
|
export interface SoftwareSystemReference {
|
|
9
8
|
name: string;
|
|
10
9
|
}
|
|
11
|
-
export declare class SoftwareSystemGroup extends Group
|
|
10
|
+
export declare class SoftwareSystemGroup extends Group implements DefineContainer {
|
|
12
11
|
readonly name: string;
|
|
13
12
|
private readonly softwareSystem;
|
|
14
13
|
private _containers;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReferencedSoftwareSystem = exports.SoftwareSystem = exports.SoftwareSystemGroup = void 0;
|
|
4
4
|
const core_1 = require("./core");
|
|
5
5
|
const container_1 = require("./container");
|
|
6
|
+
// TODO: This will be a Group<Container> if that is added back in
|
|
6
7
|
class SoftwareSystemGroup extends core_1.Group {
|
|
7
8
|
constructor(name, softwareSystem) {
|
|
8
9
|
super(name);
|
|
@@ -22,7 +23,7 @@ class SoftwareSystemGroup extends core_1.Group {
|
|
|
22
23
|
exports.SoftwareSystemGroup = SoftwareSystemGroup;
|
|
23
24
|
class SoftwareSystem extends core_1.Element {
|
|
24
25
|
constructor(name, definition) {
|
|
25
|
-
super(name, [
|
|
26
|
+
super(name, ['Software System'], definition);
|
|
26
27
|
this.name = name;
|
|
27
28
|
this._containers = new Map();
|
|
28
29
|
this._groups = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softwareSystem.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/softwareSystem.ts"],"names":[],"mappings":";;;AAAA,iCAA8D;AAC9D,2CAAiF;
|
|
1
|
+
{"version":3,"file":"softwareSystem.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/softwareSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,36 +8,36 @@ class StructurizrDSLWriter {
|
|
|
8
8
|
this.views = views;
|
|
9
9
|
}
|
|
10
10
|
writeElement(elementType, element, level, closeElement = true) {
|
|
11
|
-
let elementDsl =
|
|
11
|
+
let elementDsl = '';
|
|
12
12
|
elementDsl += this.writeLine(`${element.canonicalName} = ${elementType} "${element.name}" {`, level);
|
|
13
13
|
if (element.description) {
|
|
14
14
|
elementDsl += this.writeLine(`description "${element.description}"`, level + 1);
|
|
15
15
|
}
|
|
16
|
-
elementDsl += this.writeLine(`tags ${element.tags.map(tag => `"${tag}"`).join(
|
|
16
|
+
elementDsl += this.writeLine(`tags ${element.tags.map((tag) => `"${tag}"`).join(' ')}`, level + 1);
|
|
17
17
|
if (closeElement) {
|
|
18
18
|
elementDsl += this.writeLine(`}`, level);
|
|
19
19
|
}
|
|
20
20
|
return elementDsl;
|
|
21
21
|
}
|
|
22
22
|
writeComponent(component, level) {
|
|
23
|
-
let componentDsl =
|
|
24
|
-
componentDsl += this.writeElement(
|
|
23
|
+
let componentDsl = '';
|
|
24
|
+
componentDsl += this.writeElement('component', component, level, false);
|
|
25
25
|
componentDsl += this.writeLine(`technology "${component.technology}"`, level + 1);
|
|
26
26
|
componentDsl += this.writeLine(`}`, level);
|
|
27
27
|
return componentDsl;
|
|
28
28
|
}
|
|
29
29
|
writeContainerGroup(group, level) {
|
|
30
|
-
let containerGroupDsl =
|
|
30
|
+
let containerGroupDsl = '';
|
|
31
31
|
containerGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
|
|
32
|
-
group.getComponents().forEach(component => {
|
|
32
|
+
group.getComponents().forEach((component) => {
|
|
33
33
|
containerGroupDsl += this.writeComponent(component, level + 1);
|
|
34
34
|
});
|
|
35
35
|
containerGroupDsl += this.writeLine(`}`, level);
|
|
36
36
|
return containerGroupDsl;
|
|
37
37
|
}
|
|
38
38
|
writeContainer(container, level) {
|
|
39
|
-
let containerDsl =
|
|
40
|
-
containerDsl += this.writeElement(
|
|
39
|
+
let containerDsl = '';
|
|
40
|
+
containerDsl += this.writeElement('container', container, level, false);
|
|
41
41
|
containerDsl += this.writeLine(`technology "${container.technology}"`, level + 1);
|
|
42
42
|
container.getComponentsNotInGroups().forEach((component) => {
|
|
43
43
|
containerDsl += this.writeComponent(component, level + 1);
|
|
@@ -49,17 +49,17 @@ class StructurizrDSLWriter {
|
|
|
49
49
|
return containerDsl;
|
|
50
50
|
}
|
|
51
51
|
writeSoftwareSystemGroup(group, level) {
|
|
52
|
-
let softwareSystemGroupDsl =
|
|
52
|
+
let softwareSystemGroupDsl = '';
|
|
53
53
|
softwareSystemGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
|
|
54
|
-
group.getContainers().forEach(container => {
|
|
54
|
+
group.getContainers().forEach((container) => {
|
|
55
55
|
softwareSystemGroupDsl += this.writeContainer(container, level + 1);
|
|
56
56
|
});
|
|
57
57
|
softwareSystemGroupDsl += this.writeLine(`}`, level);
|
|
58
58
|
return softwareSystemGroupDsl;
|
|
59
59
|
}
|
|
60
60
|
writeSoftwareSystem(softwareSystem, level) {
|
|
61
|
-
let softwareSystemDsl =
|
|
62
|
-
softwareSystemDsl += this.writeElement(
|
|
61
|
+
let softwareSystemDsl = '';
|
|
62
|
+
softwareSystemDsl += this.writeElement('softwareSystem', softwareSystem, level, false);
|
|
63
63
|
softwareSystem.getContainersNotInGroups().forEach((container) => {
|
|
64
64
|
softwareSystemDsl += this.writeContainer(container, level + 1);
|
|
65
65
|
});
|
|
@@ -70,43 +70,43 @@ class StructurizrDSLWriter {
|
|
|
70
70
|
return softwareSystemDsl;
|
|
71
71
|
}
|
|
72
72
|
writeRelationships(elements, level) {
|
|
73
|
-
let relationshipsDsl =
|
|
74
|
-
elements.forEach(element => {
|
|
75
|
-
element.getRelationshipsInHierarchy().forEach(relationship => {
|
|
73
|
+
let relationshipsDsl = '';
|
|
74
|
+
elements.forEach((element) => {
|
|
75
|
+
element.getRelationshipsInHierarchy().forEach((relationship) => {
|
|
76
76
|
var _a;
|
|
77
|
-
relationshipsDsl += this.writeLine(`${relationship.source.canonicalName} -> ${relationship.destination.canonicalName} "${(_a = relationship.description) !== null && _a !== void 0 ? _a :
|
|
77
|
+
relationshipsDsl += this.writeLine(`${relationship.source.canonicalName} -> ${relationship.destination.canonicalName} "${(_a = relationship.description) !== null && _a !== void 0 ? _a : 'uses'}" {`, level);
|
|
78
78
|
if (relationship.technology) {
|
|
79
79
|
relationshipsDsl += this.writeLine(`technology "${relationship.technology}"`, level + 1);
|
|
80
80
|
}
|
|
81
|
-
relationshipsDsl += this.writeLine(`tags ${relationship.tags.map(tag => `"${tag}"`).join(
|
|
81
|
+
relationshipsDsl += this.writeLine(`tags ${relationship.tags.map((tag) => `"${tag}"`).join(' ')}`, level + 1);
|
|
82
82
|
relationshipsDsl += this.writeLine(`}`, level);
|
|
83
83
|
});
|
|
84
84
|
});
|
|
85
85
|
return relationshipsDsl;
|
|
86
86
|
}
|
|
87
87
|
writeModelGroup(group, level) {
|
|
88
|
-
let modelGroupDsl =
|
|
88
|
+
let modelGroupDsl = '';
|
|
89
89
|
modelGroupDsl += this.writeLine(`${group.name} = group "${group.name}" {`, level);
|
|
90
|
-
group.getPeople().forEach(person => {
|
|
91
|
-
modelGroupDsl += this.writeElement(
|
|
90
|
+
group.getPeople().forEach((person) => {
|
|
91
|
+
modelGroupDsl += this.writeElement('person', person, level + 1);
|
|
92
92
|
});
|
|
93
|
-
group.getSoftwareSystems().forEach(softwareSystem => {
|
|
93
|
+
group.getSoftwareSystems().forEach((softwareSystem) => {
|
|
94
94
|
modelGroupDsl += this.writeSoftwareSystem(softwareSystem, level + 1);
|
|
95
95
|
});
|
|
96
96
|
modelGroupDsl += this.writeLine(`}`, level);
|
|
97
97
|
return modelGroupDsl;
|
|
98
98
|
}
|
|
99
99
|
writeModel(model, level) {
|
|
100
|
-
let modelDsl =
|
|
100
|
+
let modelDsl = '';
|
|
101
101
|
modelDsl += this.writeLine(`model {`, level);
|
|
102
102
|
modelDsl += this.writeLine('// Elements', level + 1);
|
|
103
|
-
model.getPeopleNotInGroups().forEach(person => {
|
|
104
|
-
modelDsl += this.writeElement(
|
|
103
|
+
model.getPeopleNotInGroups().forEach((person) => {
|
|
104
|
+
modelDsl += this.writeElement('person', person, level + 1);
|
|
105
105
|
});
|
|
106
|
-
model.getSoftwareSystemsNotInGroups().forEach(softwareSystem => {
|
|
106
|
+
model.getSoftwareSystemsNotInGroups().forEach((softwareSystem) => {
|
|
107
107
|
modelDsl += this.writeSoftwareSystem(softwareSystem, level + 1);
|
|
108
108
|
});
|
|
109
|
-
model.getGroups().forEach(group => {
|
|
109
|
+
model.getGroups().forEach((group) => {
|
|
110
110
|
modelDsl += this.writeModelGroup(group, level + 1);
|
|
111
111
|
});
|
|
112
112
|
modelDsl += this.writeLine('// Relationships', level + 1);
|
|
@@ -115,41 +115,41 @@ class StructurizrDSLWriter {
|
|
|
115
115
|
return modelDsl;
|
|
116
116
|
}
|
|
117
117
|
writeView(view, viewType, level) {
|
|
118
|
-
let viewDsl = this.writeLine(`${viewType}${view.subject ? ' "' + view.subject.canonicalName + '"' :
|
|
118
|
+
let viewDsl = this.writeLine(`${viewType}${view.subject ? ' "' + view.subject.canonicalName + '"' : ''} "${view.key}" "${view.description}" {`, level);
|
|
119
119
|
if (view.title) {
|
|
120
120
|
viewDsl += this.writeLine(`title "${view.title}"`, level + 1);
|
|
121
121
|
}
|
|
122
|
-
view.scopes.forEach(scope => {
|
|
122
|
+
view.scopes.forEach((scope) => {
|
|
123
123
|
viewDsl += this.writeLine(`${scope}`, level + 1);
|
|
124
124
|
});
|
|
125
125
|
viewDsl += this.writeLine(`}`, level);
|
|
126
126
|
return viewDsl;
|
|
127
127
|
}
|
|
128
128
|
writeViews(views, level) {
|
|
129
|
-
let viewDsl =
|
|
129
|
+
let viewDsl = '';
|
|
130
130
|
viewDsl += this.writeLine(`views {`, level);
|
|
131
131
|
viewDsl += this.writeLine('// System Landscape Views', level + 1);
|
|
132
|
-
views.systemLandscapeViews.forEach(view => {
|
|
133
|
-
viewDsl += this.writeView(view,
|
|
132
|
+
views.systemLandscapeViews.forEach((view) => {
|
|
133
|
+
viewDsl += this.writeView(view, 'systemLandscape', level + 1);
|
|
134
134
|
});
|
|
135
135
|
viewDsl += this.writeLine('// System Context Views', level + 1);
|
|
136
|
-
views.systemContextViews.forEach(view => {
|
|
137
|
-
viewDsl += this.writeView(view,
|
|
136
|
+
views.systemContextViews.forEach((view) => {
|
|
137
|
+
viewDsl += this.writeView(view, 'systemContext', level + 1);
|
|
138
138
|
});
|
|
139
139
|
viewDsl += this.writeLine('// Container Views', level + 1);
|
|
140
|
-
views.containerViews.forEach(view => {
|
|
141
|
-
viewDsl += this.writeView(view,
|
|
140
|
+
views.containerViews.forEach((view) => {
|
|
141
|
+
viewDsl += this.writeView(view, 'container', level + 1);
|
|
142
142
|
});
|
|
143
143
|
viewDsl += this.writeLine('// Component Views', level + 1);
|
|
144
|
-
views.componentViews.forEach(view => {
|
|
145
|
-
viewDsl += this.writeView(view,
|
|
144
|
+
views.componentViews.forEach((view) => {
|
|
145
|
+
viewDsl += this.writeView(view, 'component', level + 1);
|
|
146
146
|
});
|
|
147
147
|
viewDsl += this.writeLine(`theme default`, level + 1);
|
|
148
148
|
viewDsl += this.writeLine(`}`, level);
|
|
149
149
|
return viewDsl;
|
|
150
150
|
}
|
|
151
151
|
write() {
|
|
152
|
-
let dsl =
|
|
152
|
+
let dsl = '';
|
|
153
153
|
this.model.validate();
|
|
154
154
|
dsl += this.writeLine(`workspace "${this.model.name}" {`, 0);
|
|
155
155
|
dsl += this.writeModel(this.model, 1);
|
|
@@ -158,7 +158,7 @@ class StructurizrDSLWriter {
|
|
|
158
158
|
return dsl;
|
|
159
159
|
}
|
|
160
160
|
writeLine(line, level) {
|
|
161
|
-
const indent =
|
|
161
|
+
const indent = ' '.repeat(level * INDENT_SIZE);
|
|
162
162
|
return `${indent}${line}\n`;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structurizrDslWriter.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/structurizrDslWriter.ts"],"names":[],"mappings":";;;AAOA,MAAM,WAAW,GAAG,CAAC,CAAA;AAErB,MAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"structurizrDslWriter.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/structurizrDslWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Model } from
|
|
1
|
+
import { Model } from '../../model';
|
|
2
2
|
export declare function buildModel(model: Model): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c4.dsl.js","sourceRoot":"","sources":["../../../../../../../libs/c4-model/src/lib/tests/system1/c4.dsl.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,KAAY;
|
|
1
|
+
{"version":3,"file":"c4.dsl.js","sourceRoot":"","sources":["../../../../../../../libs/c4-model/src/lib/tests/system1/c4.dsl.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,KAAY;IACnC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAC7B,KAAK,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;AACpD,CAAC;AAHD,gCAGC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Model } from
|
|
1
|
+
import { Model } from '../../model';
|
|
2
2
|
export declare function buildModel(model: Model): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c4.dsl.js","sourceRoot":"","sources":["../../../../../../../libs/c4-model/src/lib/tests/system2/c4.dsl.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,KAAY;
|
|
1
|
+
{"version":3,"file":"c4.dsl.js","sourceRoot":"","sources":["../../../../../../../libs/c4-model/src/lib/tests/system2/c4.dsl.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,KAAY;IACnC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAChC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AACjD,CAAC;AAHD,gCAGC"}
|
package/src/lib/views.js
CHANGED
|
@@ -10,7 +10,7 @@ class View {
|
|
|
10
10
|
this.title = viewDefinition.title;
|
|
11
11
|
}
|
|
12
12
|
includeAll() {
|
|
13
|
-
this._scopes.push(
|
|
13
|
+
this._scopes.push('include *');
|
|
14
14
|
}
|
|
15
15
|
includeElement(element) {
|
|
16
16
|
this._scopes.push(`include ${element.canonicalName}`);
|
|
@@ -19,7 +19,7 @@ class View {
|
|
|
19
19
|
this._scopes.push(`include ${expression}`);
|
|
20
20
|
}
|
|
21
21
|
excludeAll() {
|
|
22
|
-
this._scopes.push(
|
|
22
|
+
this._scopes.push('exclude *');
|
|
23
23
|
}
|
|
24
24
|
excludeElement(element) {
|
|
25
25
|
this._scopes.push(`exclude ${element.canonicalName}`);
|
package/src/lib/views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/views.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../../libs/c4-model/src/lib/views.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|