cdk-dia 0.0.4 → 0.4.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.
- package/LICENSE +21 -0
- package/README.md +37 -4
- package/{bin → dist/bin}/cli.d.ts +0 -0
- package/{bin → dist/bin}/cli.js +18 -16
- package/dist/bin/cli.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/{src → dist/src}/cdk/cdk-tree.d.ts +10 -0
- package/{src → dist/src}/cdk/cdk-tree.js +21 -1
- package/dist/src/cdk/cdk-tree.js.map +1 -0
- package/{src → dist/src}/cdk/construct-decorator.d.ts +0 -0
- package/{src → dist/src}/cdk/construct-decorator.js +0 -0
- package/{src → dist/src}/cdk/construct-decorator.js.map +0 -0
- package/{src → dist/src}/cdk/index.d.ts +0 -0
- package/{src → dist/src}/cdk/index.js +0 -0
- package/{src → dist/src}/cdk/index.js.map +0 -0
- package/{src → dist/src}/cdk/tree-json-loader.d.ts +0 -0
- package/{src → dist/src}/cdk/tree-json-loader.js +0 -0
- package/{src → dist/src}/cdk/tree-json-loader.js.map +0 -0
- package/dist/src/cdk-dia.d.ts +4 -0
- package/{src → dist/src}/cdk-dia.js +7 -5
- package/dist/src/cdk-dia.js.map +1 -0
- package/{src → dist/src}/diagram/aws/aws-diagram-generator.d.ts +7 -6
- package/{src → dist/src}/diagram/aws/aws-diagram-generator.js +72 -52
- package/dist/src/diagram/aws/aws-diagram-generator.js.map +1 -0
- package/{src → dist/src}/diagram/aws/aws-edge-resolver.d.ts +0 -0
- package/{src → dist/src}/diagram/aws/aws-edge-resolver.js +2 -1
- package/dist/src/diagram/aws/aws-edge-resolver.js.map +1 -0
- package/{src → dist/src}/diagram/aws/aws-icon-supplier.d.ts +0 -0
- package/{src → dist/src}/diagram/aws/aws-icon-supplier.js +0 -0
- package/{src → dist/src}/diagram/aws/aws-icon-supplier.js.map +0 -0
- package/{src → dist/src}/diagram/aws/awsResouceIconMatches.json +21 -4
- package/{src → dist/src}/diagram/component/component.d.ts +3 -1
- package/{src → dist/src}/diagram/component/component.js +9 -0
- package/dist/src/diagram/component/component.js.map +1 -0
- package/{src → dist/src}/diagram/component/customizable-attribute.d.ts +0 -0
- package/{src → dist/src}/diagram/component/customizable-attribute.js +0 -0
- package/{src → dist/src}/diagram/component/customizable-attribute.js.map +0 -0
- package/{src → dist/src}/diagram/component/diagram-component.d.ts +0 -0
- package/{src → dist/src}/diagram/component/diagram-component.js +0 -0
- package/{src → dist/src}/diagram/component/diagram-component.js.map +0 -0
- package/{src → dist/src}/diagram/component/icon.d.ts +0 -0
- package/{src → dist/src}/diagram/component/icon.js +0 -0
- package/{src → dist/src}/diagram/component/icon.js.map +0 -0
- package/{src → dist/src}/diagram/component/link.d.ts +0 -0
- package/{src → dist/src}/diagram/component/link.js +0 -0
- package/{src → dist/src}/diagram/component/link.js.map +0 -0
- package/{src → dist/src}/diagram/component/root-component.d.ts +0 -0
- package/{src → dist/src}/diagram/component/root-component.js +0 -0
- package/{src → dist/src}/diagram/component/root-component.js.map +0 -0
- package/{src → dist/src}/diagram/component-links.d.ts +0 -0
- package/{src → dist/src}/diagram/component-links.js +0 -0
- package/{src → dist/src}/diagram/component-links.js.map +0 -0
- package/{src → dist/src}/diagram/diagram.d.ts +0 -0
- package/{src → dist/src}/diagram/diagram.js +0 -0
- package/{src → dist/src}/diagram/diagram.js.map +0 -0
- package/{src → dist/src}/diagram/index.d.ts +1 -0
- package/{src → dist/src}/diagram/index.js +1 -0
- package/{src → dist/src}/diagram/index.js.map +1 -1
- package/{src → dist/src}/diagram/tests/aws-edge-resolver.test.d.ts +0 -0
- package/{src → dist/src}/diagram/tests/aws-edge-resolver.test.js +0 -0
- package/{src → dist/src}/diagram/tests/aws-edge-resolver.test.js.map +0 -0
- package/dist/src/diagram/tests/generator.test.d.ts +3 -0
- package/{src → dist/src}/diagram/tests/generator.test.js +52 -5
- package/dist/src/diagram/tests/generator.test.js.map +1 -0
- package/dist/src/render/diagram-renderer.d.ts +15 -0
- package/{src/graphviz/rendering-error.js → dist/src/render/diagram-renderer.js} +5 -2
- package/dist/src/render/diagram-renderer.js.map +1 -0
- package/dist/src/render/graphviz/GraphvizGenerator.d.ts +11 -0
- package/{src/graphviz/generator.js → dist/src/render/graphviz/GraphvizGenerator.js} +18 -95
- package/dist/src/render/graphviz/GraphvizGenerator.js.map +1 -0
- package/dist/src/render/graphviz/graphviz.d.ts +20 -0
- package/dist/src/render/graphviz/graphviz.js +115 -0
- package/dist/src/render/graphviz/graphviz.js.map +1 -0
- package/dist/src/render/graphviz/index.d.ts +1 -0
- package/{src → dist/src/render}/graphviz/index.js +1 -2
- package/dist/src/render/graphviz/index.js.map +1 -0
- package/dist/src/render/graphviz/styling.d.ts +9 -0
- package/dist/src/render/graphviz/styling.js +79 -0
- package/dist/src/render/graphviz/styling.js.map +1 -0
- package/{src → dist/src/render}/graphviz/tests/generator.test.d.ts +0 -0
- package/{src → dist/src/render}/graphviz/tests/generator.test.js +7 -7
- package/dist/src/render/graphviz/tests/generator.test.js.map +1 -0
- package/dist/src/render/index.d.ts +1 -0
- package/dist/src/render/index.js +14 -0
- package/dist/src/render/index.js.map +1 -0
- package/{src → dist/src}/test-fixtures/testCases.d.ts +0 -0
- package/{src → dist/src}/test-fixtures/testCases.js +18 -0
- package/{src → dist/src}/test-fixtures/testCases.js.map +1 -1
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C6g-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3en-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4ad-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M6g-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Mac-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3dn-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4d-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R6g-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3a-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T4g-Instance_48_Dark.png +0 -0
- package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png +0 -0
- package/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Cognito_64.png +0 -0
- package/icons/aws/cloudwatch_metric_filter.png +0 -0
- package/icons/aws/security_group.png +0 -0
- package/package.json +11 -6
- package/bin/cli.js.map +0 -1
- package/src/cdk/cdk-tree.js.map +0 -1
- package/src/cdk-dia.d.ts +0 -3
- package/src/cdk-dia.js.map +0 -1
- package/src/diagram/aws/aws-diagram-generator.js.map +0 -1
- package/src/diagram/aws/aws-edge-resolver.js.map +0 -1
- package/src/diagram/component/component.js.map +0 -1
- package/src/diagram/tests/generator.test.d.ts +0 -3
- package/src/diagram/tests/generator.test.js.map +0 -1
- package/src/graphviz/generator.d.ts +0 -15
- package/src/graphviz/generator.js.map +0 -1
- package/src/graphviz/index.d.ts +0 -2
- package/src/graphviz/index.js.map +0 -1
- package/src/graphviz/rendering-error.d.ts +0 -5
- package/src/graphviz/rendering-error.js.map +0 -1
- package/src/graphviz/styling.d.ts +0 -5
- package/src/graphviz/styling.js +0 -43
- package/src/graphviz/styling.js.map +0 -1
- package/src/graphviz/tests/generator.test.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Tom Roshko @Pistazie
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
[](https://github.com/kolomied/awesome-cdk)
|
|
2
2
|

|
|
3
3
|
[](https://badge.fury.io/js/cdk-dia)
|
|
4
|
+
[](code_of_conduct.md)
|
|
4
5
|
|
|
5
6
|
# 🎡 CDK-Dia - Automated diagrams for CDK infrastructure
|
|
6
7
|
|
|
7
|
-
_Cdk-dia diagrams your CDK provisioned infrastructure using the
|
|
8
|
+
_Cdk-dia diagrams your CDK provisioned infrastructure using the Graphviz dot lanuguage._
|
|
8
9
|
|
|
9
10
|
## Example
|
|
10
11
|
|
|
@@ -13,7 +14,7 @@ This Diagram was automatically generated from an AWS CDK stack
|
|
|
13
14
|
<img src="docs/diagram.png" />
|
|
14
15
|
</p>
|
|
15
16
|
|
|
16
|
-
## Getting started
|
|
17
|
+
## Getting started - Typescript / Javascript
|
|
17
18
|
Add cdk-dia to your CDK project
|
|
18
19
|
```sh
|
|
19
20
|
$ npm install cdk-dia
|
|
@@ -37,12 +38,39 @@ $ npx cdk-dia
|
|
|
37
38
|
```
|
|
38
39
|
<br/>
|
|
39
40
|
|
|
41
|
+
## Getting started - any other CDK language
|
|
42
|
+
Globally install cdk-dia
|
|
43
|
+
```sh
|
|
44
|
+
$ npm install cdk-dia -g
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Install Graphviz
|
|
48
|
+
```sh
|
|
49
|
+
$ brew install graphviz
|
|
50
|
+
```
|
|
51
|
+
* If you don't use brew: Graphviz installation in many environments is [well documented](https://graphviz.org/download/).
|
|
52
|
+
* make sure Graphviz's dot binary is available in your PATH.
|
|
53
|
+
|
|
54
|
+
Synthesize your CDK application
|
|
55
|
+
```sh
|
|
56
|
+
$ cdk synth
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Generate a CDK-DIA diagram
|
|
60
|
+
```sh
|
|
61
|
+
$ cdk-dia
|
|
62
|
+
```
|
|
63
|
+
<br/>
|
|
64
|
+
|
|
40
65
|
## Customize diagrams
|
|
41
66
|
|
|
42
67
|
In some cases it is useful to be able to tweak a diagram. For this purpose CDK-DIA includes customizers/decorators
|
|
43
68
|
you can use with your CDK constructs in order to tweak the diagram.
|
|
44
69
|
|
|
45
|
-
|
|
70
|
+
### Limitations:
|
|
71
|
+
|
|
72
|
+
* Customization and decorators are currently only support for Typescript/Javascript CDK projects.
|
|
73
|
+
* In order to customize you have to add cdk-dia as a npm project dependency (globally installing it using `npm i -g` won't allow you to use the `CdkDiaDecorator` class)
|
|
46
74
|
|
|
47
75
|
### Example:
|
|
48
76
|
Consider the following diagram of a 3-Tier CDK Stack:
|
|
@@ -63,4 +91,9 @@ This results in a Diagram where the DB-Tier was not collapsed providing more det
|
|
|
63
91
|
* a full example or the above can be found at [examples/decoration-example](examples/decoration-example)
|
|
64
92
|
|
|
65
93
|
## CLI arguments
|
|
66
|
-
```npx cdk-dia --help``` - Get possible arguments
|
|
94
|
+
* ```npx cdk-dia --help``` - Get possible arguments
|
|
95
|
+
* ```npx cdk-dia --stacks stackOne stackFour``` - only diagram chosen aws-cdk stacks
|
|
96
|
+
* ```npx cdk-dia --stacks pipelinestack/prod/database``` - choose stacks by path (nested stacks, pipeline stacks)
|
|
97
|
+
|
|
98
|
+
## 🙏🏽 Contributing
|
|
99
|
+
Contribution is covered in the [CONTRIBUTING.md](./CONTRIBUTING.md) markdown.
|
|
File without changes
|
package/{bin → dist/bin}/cli.js
RENAMED
|
@@ -24,41 +24,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
const chalk_1 = __importDefault(require("chalk"));
|
|
27
|
-
const terminal_link_1 = __importDefault(require("terminal-link"));
|
|
28
27
|
const yargs_1 = __importDefault(require("yargs/yargs"));
|
|
29
28
|
const path = __importStar(require("path"));
|
|
30
|
-
const graphviz_1 = require("../src/graphviz");
|
|
31
29
|
const cdk_dia_1 = require("../src/cdk-dia");
|
|
30
|
+
const rendering = __importStar(require("../src/render/index"));
|
|
32
31
|
async function initCli() {
|
|
33
32
|
return yargs_1.default(process.argv.slice(2)).options({
|
|
34
33
|
'cdk-tree-path': { type: 'string', alias: 'tree', default: 'cdk.out/tree.json', describe: 'Path of synthesized cdk cloud assembly' },
|
|
35
34
|
'target-path': { type: 'string', alias: 'target', default: 'diagram.png', describe: 'Target path for rendered PNG' },
|
|
36
35
|
'collapse': { type: 'boolean', default: true, describe: 'Collapse CDK Constructs' },
|
|
36
|
+
'stacks': { type: 'array', describe: 'Stacks to include (if not specified all stacks are diagramed)' }
|
|
37
37
|
}).version(false).argv;
|
|
38
38
|
}
|
|
39
39
|
async function generateDiagram(args) {
|
|
40
|
-
const packageBasePath = path.dirname(require.resolve('cdk-dia/package.json'));
|
|
41
40
|
const cdkDia = new cdk_dia_1.CdkDia();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
let includedStacks = false;
|
|
42
|
+
if (args.stacks !== undefined) {
|
|
43
|
+
includedStacks = args.stacks.map(it => it.toString());
|
|
44
|
+
}
|
|
45
|
+
const packageBasePath = path.dirname(require.resolve('../../package.json'));
|
|
46
|
+
cdkDia.generateDiagram(args["cdk-tree-path"], args["target-path"], args.collapse, packageBasePath, includedStacks)
|
|
47
|
+
.then((output) => output.userOutput())
|
|
48
|
+
.catch(e => {
|
|
48
49
|
throw e;
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
function printError(e) {
|
|
52
|
-
if (e instanceof
|
|
53
|
+
if (e instanceof rendering.RenderingError) {
|
|
53
54
|
notifyRenderingError(e);
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
|
-
|
|
57
|
-
notifyRenderingError(new graphviz_1.RenderingError(`Unexpected error occurred: ${e.message}`));
|
|
57
|
+
notifyRenderingError(new rendering.RenderingError(`Unexpected error occurred: ${e.message}`));
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
function notifyRenderingError(e) {
|
|
61
|
-
console.log(e);
|
|
62
61
|
console.log(`${chalk_1.default.red.bold(`Failed to render diagram: ${e.message}`)}`);
|
|
63
62
|
if (e.fixTips.length > 0)
|
|
64
63
|
console.log(`${chalk_1.default.underline(`What could you try?`)}`);
|
|
@@ -66,7 +65,10 @@ function notifyRenderingError(e) {
|
|
|
66
65
|
console.log(`\t${tip}`);
|
|
67
66
|
});
|
|
68
67
|
}
|
|
69
|
-
initCli()
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
initCli()
|
|
69
|
+
.then(args => {
|
|
70
|
+
generateDiagram(args)
|
|
71
|
+
.catch(printError);
|
|
72
|
+
})
|
|
73
|
+
.catch(printError);
|
|
72
74
|
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAyB;AACzB,wDAA+B;AAC/B,2CAA4B;AAC5B,4CAAqC;AACrC,+DAAgD;AAEhD,KAAK,UAAU,OAAO;IAElB,OAAO,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxC,eAAe,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,wCAAwC,EAAC;QAClI,aAAa,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,8BAA8B,EAAC;QAClH,UAAU,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAC;QACjF,QAAQ,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,+DAA+D,EAAC;KACvG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA;AAC1B,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAmB;IAE9C,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAA;IAE3B,IAAI,cAAc,GAAqB,KAAK,CAAA;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;QAC3B,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;KACxD;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAE3E,MAAM,CAAC,eAAe,CAClB,IAAI,CAAC,eAAe,CAAC,EACrB,IAAI,CAAC,aAAa,CAAC,EACnB,IAAI,CAAC,QAAQ,EACb,eAAe,EACf,cAAc,CAAC;SACd,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SACrC,KAAK,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,CAAC,CAAA;IACX,CAAC,CAAC,CAAA;AACV,CAAC;AAED,SAAS,UAAU,CAAC,CAAC;IACjB,IAAI,CAAC,YAAY,SAAS,CAAC,cAAc,EAAE;QACvC,oBAAoB,CAAC,CAAC,CAAC,CAAA;KAC1B;SAAM;QACH,oBAAoB,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;KAChG;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,CAA2B;IACrD,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAE1E,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAE5D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;AACN,CAAC;AAED,OAAO,EAAE;KACJ,IAAI,CAAC,IAAI,CAAC,EAAE;IACT,eAAe,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,UAAU,CAAC,CAAA;AAC1B,CAAC,CAAC;KACD,KAAK,CAAC,UAAU,CAAC,CAAA"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./src/cdk/construct-decorator"), exports);
|
|
14
|
+
__exportStar(require("./src/cdk"), exports);
|
|
15
|
+
__exportStar(require("./src/render/graphviz"), exports);
|
|
16
|
+
__exportStar(require("./src/diagram"), exports);
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA6C;AAC7C,4CAAyB;AACzB,wDAAqC;AACrC,gDAA6B"}
|
|
@@ -3,11 +3,21 @@ export declare class Tree {
|
|
|
3
3
|
tree: Node;
|
|
4
4
|
static fromObject(object: Record<string, unknown>): Tree;
|
|
5
5
|
}
|
|
6
|
+
export declare class ConstructInfoFqn {
|
|
7
|
+
static STACK: ConstructInfoFqn;
|
|
8
|
+
static STAGE: ConstructInfoFqn;
|
|
9
|
+
static APP: ConstructInfoFqn;
|
|
10
|
+
static CUSTOM_RESOURCE: ConstructInfoFqn;
|
|
11
|
+
static of: (val: string) => ConstructInfoFqn | undefined;
|
|
12
|
+
constructor(cdkVal: string);
|
|
13
|
+
readonly cdkVal: string;
|
|
14
|
+
}
|
|
6
15
|
export declare class Node {
|
|
7
16
|
id: string;
|
|
8
17
|
path: string;
|
|
9
18
|
children: Map<string, Node>;
|
|
10
19
|
attributes: Map<string, string | Node | Record<string, string>>;
|
|
20
|
+
constructInfoFqn: ConstructInfoFqn | undefined;
|
|
11
21
|
pathParts: () => Array<string>;
|
|
12
22
|
findInSubTree(predicate: (Node: any) => boolean): Node | null;
|
|
13
23
|
static fromObject(object: Record<string, unknown | Record<string, string>>): Node;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Node = exports.Tree = void 0;
|
|
3
|
+
exports.Node = exports.ConstructInfoFqn = exports.Tree = void 0;
|
|
4
4
|
class Tree {
|
|
5
5
|
static fromObject(object) {
|
|
6
6
|
const tree = new Tree();
|
|
@@ -10,8 +10,25 @@ class Tree {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.Tree = Tree;
|
|
13
|
+
class ConstructInfoFqn {
|
|
14
|
+
constructor(cdkVal) {
|
|
15
|
+
this.cdkVal = cdkVal;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ConstructInfoFqn = ConstructInfoFqn;
|
|
19
|
+
ConstructInfoFqn.STACK = new ConstructInfoFqn("@aws-cdk/core.Stack");
|
|
20
|
+
ConstructInfoFqn.STAGE = new ConstructInfoFqn("@aws-cdk/core.Stage");
|
|
21
|
+
ConstructInfoFqn.APP = new ConstructInfoFqn("@aws-cdk/core.App");
|
|
22
|
+
ConstructInfoFqn.CUSTOM_RESOURCE = new ConstructInfoFqn("@aws-cdk/core.CustomResource");
|
|
23
|
+
ConstructInfoFqn.of = (val) => [
|
|
24
|
+
ConstructInfoFqn.STACK,
|
|
25
|
+
ConstructInfoFqn.STAGE,
|
|
26
|
+
ConstructInfoFqn.APP,
|
|
27
|
+
ConstructInfoFqn.CUSTOM_RESOURCE
|
|
28
|
+
].find(fqn => fqn.cdkVal === val);
|
|
13
29
|
class Node {
|
|
14
30
|
constructor() {
|
|
31
|
+
this.constructInfoFqn = undefined;
|
|
15
32
|
this.pathParts = () => this.path.split("/");
|
|
16
33
|
}
|
|
17
34
|
findInSubTree(predicate) {
|
|
@@ -41,6 +58,9 @@ class Node {
|
|
|
41
58
|
node.attributes.set(attrKey, object['attributes'][attrKey]);
|
|
42
59
|
}
|
|
43
60
|
}
|
|
61
|
+
if (object['constructInfo'] != undefined && object['constructInfo']['fqn'] != undefined) {
|
|
62
|
+
node.constructInfoFqn = ConstructInfoFqn.of(object['constructInfo']['fqn']);
|
|
63
|
+
}
|
|
44
64
|
return node;
|
|
45
65
|
}
|
|
46
66
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-tree.js","sourceRoot":"","sources":["../../../src/cdk/cdk-tree.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -23,14 +23,16 @@ exports.CdkDia = void 0;
|
|
|
23
23
|
const cdk = __importStar(require("../src/cdk"));
|
|
24
24
|
const path = __importStar(require("path"));
|
|
25
25
|
const diagrams = __importStar(require("../src/diagram"));
|
|
26
|
-
const graphviz = __importStar(require("../src/graphviz"));
|
|
26
|
+
const graphviz = __importStar(require("../src/render/graphviz"));
|
|
27
27
|
class CdkDia {
|
|
28
|
-
async generateDiagram(treeJsonPath, targetPath, cdkBasePath = require.resolve('cdk-dia/package.json'),
|
|
28
|
+
async generateDiagram(treeJsonPath, targetPath, collapse, cdkBasePath = require.resolve('cdk-dia/package.json'), includedStacks = false) {
|
|
29
29
|
const cdkTree = cdk.TreeJsonLoader.load(path.isAbsolute(treeJsonPath) ? treeJsonPath : path.join(process.cwd(), treeJsonPath));
|
|
30
30
|
const generator = new diagrams.AwsDiagramGenerator(new diagrams.AwsEdgeResolver(), new diagrams.AwsIconSupplier(`${cdkBasePath}`));
|
|
31
|
-
const diagram = generator.generate(cdkTree, collapse);
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
const diagram = generator.generate(cdkTree, collapse, includedStacks);
|
|
32
|
+
return new graphviz.Graphviz().render({
|
|
33
|
+
diagram: diagram,
|
|
34
|
+
path: `${targetPath}`
|
|
35
|
+
});
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
exports.CdkDia = CdkDia;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdk-dia.js","sourceRoot":"","sources":["../../src/cdk-dia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AACjC,2CAA4B;AAC5B,yDAA0C;AAC1C,iEAAkD;AAElD,MAAa,MAAM;IAEf,KAAK,CAAC,eAAe,CAAC,YAAoB,EACpB,UAAkB,EAClB,QAAiB,EACjB,cAAsB,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAC7D,iBAAmC,KAAK;QAG1D,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QAG9H,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAA;QAClI,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;QAGrE,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,GAAG,UAAU,EAAE;SACxB,CAAC,CAAA;IACN,CAAC;CACJ;AArBD,wBAqBC"}
|
|
@@ -2,20 +2,21 @@ import * as cdk from "../../cdk";
|
|
|
2
2
|
import { AwsEdgeResolver } from "./aws-edge-resolver";
|
|
3
3
|
import { AwsIconSupplier, Diagram, DiagramGenerator } from "..";
|
|
4
4
|
export declare class AwsDiagramGenerator extends DiagramGenerator {
|
|
5
|
-
static CDK_STACK_DEPTH: number;
|
|
6
|
-
static NON_DIAGRAMED_ID_PREFIXES: string[];
|
|
7
5
|
private readonly edgeResolver;
|
|
8
6
|
private readonly iconSupplier;
|
|
9
7
|
constructor(edgeResolver: AwsEdgeResolver, iconSupplier: AwsIconSupplier);
|
|
10
|
-
generate(cdkTree: cdk.Tree, collapse: boolean): Diagram;
|
|
8
|
+
generate(cdkTree: cdk.Tree, collapse: boolean, includedStacks?: string[] | false): Diagram;
|
|
11
9
|
private generateComponentsTree;
|
|
12
10
|
private generateSubTree;
|
|
13
11
|
private generateComponent;
|
|
12
|
+
private removeNonIncludedDiagrams;
|
|
13
|
+
private isStack;
|
|
14
|
+
private idIncluded;
|
|
14
15
|
private applyAttributeSetCustomizers;
|
|
15
16
|
private generateCfnComponent;
|
|
16
|
-
private cfnProps;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
17
|
+
private static cfnProps;
|
|
18
|
+
private static generateCfnProps;
|
|
19
|
+
private static hasCfnProps;
|
|
19
20
|
private collapseCdkConstructs;
|
|
20
21
|
private collapseSubtreeToNode;
|
|
21
22
|
private removeCdkAssets;
|
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
3
|
exports.AwsDiagramGenerator = void 0;
|
|
23
|
-
const _ = __importStar(require("lodash"));
|
|
24
|
-
const __1 = require("..");
|
|
25
4
|
const cdk_1 = require("../../cdk");
|
|
5
|
+
const __1 = require("..");
|
|
26
6
|
const customizable_attribute_1 = require("../component/customizable-attribute");
|
|
27
7
|
class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
28
8
|
constructor(edgeResolver, iconSupplier) {
|
|
@@ -30,12 +10,13 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
30
10
|
this.edgeResolver = edgeResolver;
|
|
31
11
|
this.iconSupplier = iconSupplier;
|
|
32
12
|
}
|
|
33
|
-
generate(cdkTree, collapse) {
|
|
13
|
+
generate(cdkTree, collapse, includedStacks = false) {
|
|
34
14
|
const diagram = new __1.Diagram();
|
|
35
15
|
const cdkRoot = cdkTree.tree;
|
|
36
16
|
diagram.root = this.generateComponentsTree(cdkRoot);
|
|
17
|
+
if (includedStacks !== false)
|
|
18
|
+
this.removeNonIncludedDiagrams(diagram, includedStacks);
|
|
37
19
|
this.edgeResolver.resolveEdges(cdkRoot, diagram);
|
|
38
|
-
this.removeNonDiagramedComponents(diagram);
|
|
39
20
|
if (collapse)
|
|
40
21
|
this.collapseCdkConstructs(diagram.root);
|
|
41
22
|
this.removeCdkAssets(diagram.root);
|
|
@@ -48,10 +29,12 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
48
29
|
const root = new __1.RootComponent(cdkRoot.id);
|
|
49
30
|
cdkRoot.children.forEach((value) => {
|
|
50
31
|
const component = this.generateSubTree(value, root);
|
|
51
|
-
if (component != null)
|
|
32
|
+
if (component != null && value.constructInfoFqn === undefined) {
|
|
52
33
|
component.tags.set(__1.ComponentTags.isCdkStack, "true");
|
|
53
|
-
|
|
34
|
+
}
|
|
35
|
+
if (component != null) {
|
|
54
36
|
root.addSubComponent(component);
|
|
37
|
+
}
|
|
55
38
|
});
|
|
56
39
|
return root;
|
|
57
40
|
}
|
|
@@ -67,22 +50,63 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
67
50
|
return component;
|
|
68
51
|
}
|
|
69
52
|
generateComponent(cdkNode, parentComponent) {
|
|
70
|
-
const { cfnType, label } =
|
|
53
|
+
const { cfnType, label } = AwsDiagramGenerator.cfnProps(cdkNode);
|
|
71
54
|
let component;
|
|
72
55
|
if (cfnType != null) {
|
|
73
56
|
component = this.generateCfnComponent(cdkNode, cfnType, label, parentComponent);
|
|
74
57
|
}
|
|
75
58
|
else {
|
|
76
59
|
const relevantNode = cdkNode.findInSubTree(node => {
|
|
77
|
-
return
|
|
60
|
+
return AwsDiagramGenerator.hasCfnProps(node);
|
|
78
61
|
});
|
|
79
62
|
if (relevantNode == null)
|
|
80
63
|
return null;
|
|
81
64
|
component = new __1.DiagramComponent(AwsDiagramGenerator.sanitizeComponentId(cdkNode.path), [cdkNode.id], parentComponent);
|
|
82
65
|
}
|
|
66
|
+
if (cdkNode.constructInfoFqn === cdk_1.ConstructInfoFqn.STACK) {
|
|
67
|
+
component.tags.set(__1.ComponentTags.isCdkStack, "true");
|
|
68
|
+
}
|
|
69
|
+
if (cdkNode.constructInfoFqn === cdk_1.ConstructInfoFqn.STAGE) {
|
|
70
|
+
component.tags.set(__1.ComponentTags.isCdkStage, "true");
|
|
71
|
+
}
|
|
83
72
|
this.applyAttributeSetCustomizers(cdkNode, component);
|
|
84
73
|
return component;
|
|
85
74
|
}
|
|
75
|
+
removeNonIncludedDiagrams(diagram, includedStackIds) {
|
|
76
|
+
const excludedStacks = [];
|
|
77
|
+
const includedStacks = [];
|
|
78
|
+
diagram.root.subTreeApplyAllComponents((component) => {
|
|
79
|
+
const isStack = this.isStack(component);
|
|
80
|
+
const idIncluded = this.idIncluded(includedStackIds, component);
|
|
81
|
+
if (isStack) {
|
|
82
|
+
if (!idIncluded) {
|
|
83
|
+
excludedStacks.push(component);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
includedStacks.push(component);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
diagram.root.subTreeApplyAllComponents((component) => {
|
|
91
|
+
const inExcludedStack = excludedStacks.find(excludedStack => component.isAncestor(excludedStack)) != null;
|
|
92
|
+
const inIncludedStack = includedStacks.find(includedStack => component.isAncestor(includedStack)) != null;
|
|
93
|
+
const isStack = this.isStack(component);
|
|
94
|
+
const isIncludedStack = excludedStacks.includes(component);
|
|
95
|
+
const containsIncludedStack = component.subTreeFindComponent(subComponent => {
|
|
96
|
+
return this.isStack(subComponent) && this.idIncluded(includedStackIds, subComponent);
|
|
97
|
+
});
|
|
98
|
+
if ((inExcludedStack && !inIncludedStack && !containsIncludedStack) ||
|
|
99
|
+
(isStack && !containsIncludedStack && isIncludedStack)) {
|
|
100
|
+
component.destroyAndDetach();
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
isStack(component) {
|
|
105
|
+
return component.tags.get(__1.ComponentTags.isCdkStack) == "true";
|
|
106
|
+
}
|
|
107
|
+
idIncluded(includedStacks, component) {
|
|
108
|
+
return includedStacks.map(it => it.toLowerCase()).includes(component.id.toLowerCase());
|
|
109
|
+
}
|
|
86
110
|
applyAttributeSetCustomizers(tree, component) {
|
|
87
111
|
tree.attributes.forEach((value, key) => {
|
|
88
112
|
if (key.startsWith(cdk_1.CdkDia.attrPrefix)) {
|
|
@@ -90,6 +114,8 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
90
114
|
case customizable_attribute_1.CollapssingCustomizer.name:
|
|
91
115
|
customizable_attribute_1.CollapssingCustomizer.fromAttributeValue(value).customize(component);
|
|
92
116
|
break;
|
|
117
|
+
default:
|
|
118
|
+
throw new Error(`Unknown customizer ${key}`);
|
|
93
119
|
}
|
|
94
120
|
}
|
|
95
121
|
});
|
|
@@ -109,30 +135,23 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
109
135
|
component.label = component.label.filter(it => { return it.toUpperCase() != "RESOURCE"; });
|
|
110
136
|
return component;
|
|
111
137
|
}
|
|
112
|
-
cfnProps(tree) {
|
|
138
|
+
static cfnProps(tree) {
|
|
113
139
|
const cfnTypeAttr = tree.attributes.get("aws:cdk:cloudformation:type");
|
|
114
140
|
if (cfnTypeAttr !== undefined) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
141
|
+
return AwsDiagramGenerator.generateCfnProps(cfnTypeAttr);
|
|
142
|
+
}
|
|
143
|
+
if (tree.constructInfoFqn === cdk_1.ConstructInfoFqn.CUSTOM_RESOURCE) {
|
|
144
|
+
return AwsDiagramGenerator.generateCfnProps("AWS::CloudFormation::CustomResource");
|
|
118
145
|
}
|
|
119
146
|
return { cfnType: null, label: null };
|
|
120
147
|
}
|
|
121
|
-
|
|
122
|
-
const
|
|
123
|
-
return cfnType
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const idParts = component.id.split("/");
|
|
129
|
-
if (idParts.length > 0 && _.find(AwsDiagramGenerator.NON_DIAGRAMED_ID_PREFIXES, prefix => {
|
|
130
|
-
return idParts[idParts.length - 1].startsWith(prefix);
|
|
131
|
-
}) != undefined) {
|
|
132
|
-
component.destroySelfWithFromParent();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
});
|
|
148
|
+
static generateCfnProps(cfnType) {
|
|
149
|
+
const label = cfnType.split("::").slice(1).join(" ");
|
|
150
|
+
return { cfnType: cfnType, label: label };
|
|
151
|
+
}
|
|
152
|
+
static hasCfnProps(node) {
|
|
153
|
+
const { cfnType } = AwsDiagramGenerator.cfnProps(node);
|
|
154
|
+
return cfnType != null || node.constructInfoFqn !== undefined;
|
|
136
155
|
}
|
|
137
156
|
collapseCdkConstructs(node) {
|
|
138
157
|
const collapsingCustomization = node.tags.get(__1.ComponentTags.collapssingOverride);
|
|
@@ -183,7 +202,10 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
183
202
|
root.subComponents().forEach(component => {
|
|
184
203
|
const newComponent = this.collapseDoubleClusters(component);
|
|
185
204
|
if (component !== newComponent) {
|
|
186
|
-
|
|
205
|
+
if (component.tags.get(__1.ComponentTags.isCdkStack) !== "true" &&
|
|
206
|
+
component.tags.get(__1.ComponentTags.isCdkStage) !== "true") {
|
|
207
|
+
root.replaceSubComponent(component, newComponent);
|
|
208
|
+
}
|
|
187
209
|
}
|
|
188
210
|
});
|
|
189
211
|
const components = root.subComponents();
|
|
@@ -194,14 +216,14 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
194
216
|
return root;
|
|
195
217
|
}
|
|
196
218
|
removeCrossStackEdges(current) {
|
|
197
|
-
if ((current instanceof __1.DiagramComponent) && current.
|
|
219
|
+
if ((current instanceof __1.DiagramComponent) && current.tags.get(__1.ComponentTags.isCdkStack) == "true") {
|
|
198
220
|
try {
|
|
199
|
-
const stackRootComponent = current.
|
|
221
|
+
const stackRootComponent = current.treeAncestorWithTag(__1.ComponentTags.isCdkStack, "true");
|
|
200
222
|
current.links.getLinkedComponents().forEach(linkedComponent => {
|
|
201
223
|
if (!stackRootComponent.componentIsInSubTree(linkedComponent)) {
|
|
202
224
|
current.links.removeLink(linkedComponent);
|
|
203
225
|
if (linkedComponent instanceof __1.DiagramComponent) {
|
|
204
|
-
stackRootComponent.links.addLink(linkedComponent.
|
|
226
|
+
stackRootComponent.links.addLink(linkedComponent.treeAncestorWithTag(__1.ComponentTags.isCdkStack, "true"));
|
|
205
227
|
}
|
|
206
228
|
}
|
|
207
229
|
});
|
|
@@ -224,8 +246,6 @@ class AwsDiagramGenerator extends __1.DiagramGenerator {
|
|
|
224
246
|
}
|
|
225
247
|
}
|
|
226
248
|
exports.AwsDiagramGenerator = AwsDiagramGenerator;
|
|
227
|
-
AwsDiagramGenerator.CDK_STACK_DEPTH = 2;
|
|
228
|
-
AwsDiagramGenerator.NON_DIAGRAMED_ID_PREFIXES = ["SsmParameterValue"];
|
|
229
249
|
AwsDiagramGenerator.sanitizeComponentId = (path) => path.replace(RegExp(":", "g"), "_");
|
|
230
250
|
AwsDiagramGenerator.cleanLabel = (label) => {
|
|
231
251
|
if (label.length > 1 && label[label.length - 1] == "Resource")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-diagram-generator.js","sourceRoot":"","sources":["../../../../src/diagram/aws/aws-diagram-generator.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -59,7 +59,8 @@ class AwsEdgeResolver {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
findUniqueResourceId(component) {
|
|
62
|
-
const
|
|
62
|
+
const stackDepth = component.treeAncestorWithTag(component_1.ComponentTags.isCdkStack, "true");
|
|
63
|
+
const pathParts = component.idPathParts().slice(stackDepth.depth());
|
|
63
64
|
if (pathParts.length === 0)
|
|
64
65
|
return false;
|
|
65
66
|
return uniqueid_1.makeUniqueId(pathParts);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-edge-resolver.js","sourceRoot":"","sources":["../../../../src/diagram/aws/aws-edge-resolver.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|