cdk-dia 0.3.0 → 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 +34 -3
- package/{bin → dist/bin}/cli.d.ts +0 -0
- package/{bin → dist/bin}/cli.js +13 -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 +0 -0
- package/{src → dist/src}/cdk/cdk-tree.js +0 -0
- package/{src → dist/src}/cdk/cdk-tree.js.map +0 -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/{src → dist/src}/cdk-dia.d.ts +2 -1
- package/{src → dist/src}/cdk-dia.js +5 -3
- package/{src → dist/src}/cdk-dia.js.map +1 -1
- package/{src → dist/src}/diagram/aws/aws-diagram-generator.d.ts +0 -0
- package/{src → dist/src}/diagram/aws/aws-diagram-generator.js +0 -0
- package/{src → dist/src}/diagram/aws/aws-diagram-generator.js.map +0 -0
- package/{src → dist/src}/diagram/aws/aws-edge-resolver.d.ts +0 -0
- package/{src → dist/src}/diagram/aws/aws-edge-resolver.js +0 -0
- package/{src → dist/src}/diagram/aws/aws-edge-resolver.js.map +0 -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 +0 -0
- package/{src → dist/src}/diagram/component/component.js +0 -0
- package/{src → dist/src}/diagram/component/component.js.map +0 -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/{src → dist/src}/diagram/tests/generator.test.d.ts +0 -0
- package/{src → dist/src}/diagram/tests/generator.test.js +0 -0
- package/{src → dist/src}/diagram/tests/generator.test.js.map +0 -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} +15 -69
- 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/{src → dist/src/render}/graphviz/styling.d.ts +1 -1
- package/{src → dist/src/render}/graphviz/styling.js +1 -1
- 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 +0 -0
- package/{src → dist/src}/test-fixtures/testCases.js.map +0 -0
- 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 +8 -6
- package/bin/cli.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.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:
|
|
@@ -66,3 +94,6 @@ This results in a Diagram where the DB-Tier was not collapsed providing more det
|
|
|
66
94
|
* ```npx cdk-dia --help``` - Get possible arguments
|
|
67
95
|
* ```npx cdk-dia --stacks stackOne stackFour``` - only diagram chosen aws-cdk stacks
|
|
68
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,11 +24,10 @@ 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' },
|
|
@@ -43,27 +42,22 @@ async function generateDiagram(args) {
|
|
|
43
42
|
if (args.stacks !== undefined) {
|
|
44
43
|
includedStacks = args.stacks.map(it => it.toString());
|
|
45
44
|
}
|
|
46
|
-
const packageBasePath = path.dirname(require.resolve('
|
|
47
|
-
cdkDia.generateDiagram(args["cdk-tree-path"], args["target-path"], args.collapse, packageBasePath, includedStacks)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
else
|
|
51
|
-
console.log(chalk_1.default.green(`CDK code diagram generated to PNG at ${chalk_1.default.bold(pngFilename)}`));
|
|
52
|
-
}).catch(e => {
|
|
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 => {
|
|
53
49
|
throw e;
|
|
54
50
|
});
|
|
55
51
|
}
|
|
56
52
|
function printError(e) {
|
|
57
|
-
if (e instanceof
|
|
53
|
+
if (e instanceof rendering.RenderingError) {
|
|
58
54
|
notifyRenderingError(e);
|
|
59
55
|
}
|
|
60
56
|
else {
|
|
61
|
-
|
|
62
|
-
notifyRenderingError(new graphviz_1.RenderingError(`Unexpected error occurred: ${e.message}`));
|
|
57
|
+
notifyRenderingError(new rendering.RenderingError(`Unexpected error occurred: ${e.message}`));
|
|
63
58
|
}
|
|
64
59
|
}
|
|
65
60
|
function notifyRenderingError(e) {
|
|
66
|
-
console.log(e);
|
|
67
61
|
console.log(`${chalk_1.default.red.bold(`Failed to render diagram: ${e.message}`)}`);
|
|
68
62
|
if (e.fixTips.length > 0)
|
|
69
63
|
console.log(`${chalk_1.default.underline(`What could you try?`)}`);
|
|
@@ -71,7 +65,10 @@ function notifyRenderingError(e) {
|
|
|
71
65
|
console.log(`\t${tip}`);
|
|
72
66
|
});
|
|
73
67
|
}
|
|
74
|
-
initCli()
|
|
75
|
-
|
|
76
|
-
|
|
68
|
+
initCli()
|
|
69
|
+
.then(args => {
|
|
70
|
+
generateDiagram(args)
|
|
71
|
+
.catch(printError);
|
|
72
|
+
})
|
|
73
|
+
.catch(printError);
|
|
77
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"}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as graphviz from "../src/render/graphviz";
|
|
1
2
|
export declare class CdkDia {
|
|
2
|
-
generateDiagram(treeJsonPath: string, targetPath: string, collapse: boolean, cdkBasePath?: string, includedStacks?: string[] | false): Promise<
|
|
3
|
+
generateDiagram(treeJsonPath: string, targetPath: string, collapse: boolean, cdkBasePath?: string, includedStacks?: string[] | false): Promise<graphviz.GraphvizRenderingOutput>;
|
|
3
4
|
}
|
|
@@ -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
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
31
|
const diagram = generator.generate(cdkTree, collapse, includedStacks);
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
return new graphviz.Graphviz().render({
|
|
33
|
+
diagram: diagram,
|
|
34
|
+
path: `${targetPath}`
|
|
35
|
+
});
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
exports.CdkDia = CdkDia;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-dia.js","sourceRoot":"","sources":["../../src/cdk-dia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AACjC,2CAA4B;AAC5B,yDAA0C;AAC1C,
|
|
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"}
|
|
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
|
|
@@ -71,20 +71,34 @@
|
|
|
71
71
|
"C4": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C4-Instance_48_Dark.png",
|
|
72
72
|
"C5": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5-Instance_48_Dark.png",
|
|
73
73
|
"C5N": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5n-Instance_48_Dark.png",
|
|
74
|
+
"C5A": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5a-Instance_48_Dark.png",
|
|
75
|
+
"C5D": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5d-Instance_48_Dark.png",
|
|
76
|
+
"C5AD": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5ad-Instance_48_Dark.png",
|
|
74
77
|
"C6G": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C6g-Instance_48_Dark.png",
|
|
75
78
|
"D2": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D2-Instance_48_Dark.png",
|
|
79
|
+
"D3": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3-Instance_48_Dark.png",
|
|
80
|
+
"D3EN": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3en-Instance_48_Dark.png",
|
|
76
81
|
"DB": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_DB-Instance_48_Dark.png",
|
|
77
82
|
"F1": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_F1-Instance_48_Dark.png",
|
|
78
83
|
"G3": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G3-Instance_48_Dark.png",
|
|
84
|
+
"G4AD": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4ad-Instance_48_Dark.png",
|
|
85
|
+
"G4DN": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4dn-Instance_48_Dark.png",
|
|
79
86
|
"H1": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_H1-Instance_48_Dark.png",
|
|
87
|
+
"I2": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I2-Instance_48_Dark.png",
|
|
80
88
|
"I3": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I3-Instance_48_Dark.png",
|
|
89
|
+
"I3EN": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I3en-Instance_48_Dark.png",
|
|
90
|
+
"INF1": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Inf1-Instance_48_Dark.png",
|
|
81
91
|
"M4": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M4-Instance_48_Dark.png",
|
|
82
92
|
"M5": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5-Instance_48_Dark.png",
|
|
83
93
|
"M5A": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5a-Instance_48_Dark.png",
|
|
84
94
|
"M5N": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5n-Instance_48_Dark.png",
|
|
85
95
|
"M6G": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M6g-Instance_48_Dark.png",
|
|
96
|
+
"MAC": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Mac-Instance_48_Dark.png",
|
|
86
97
|
"P2": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P2-Instance_48_Dark.png",
|
|
87
98
|
"P3": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3-Instance_48_Dark.png",
|
|
99
|
+
"P3DN": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3dn-Instance_48_Dark.png",
|
|
100
|
+
"P4": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4-Instance_48_Dark.png",
|
|
101
|
+
"P4D": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4d-Instance_48_Dark.png",
|
|
88
102
|
"R4": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R4-Instance_48_Dark.png",
|
|
89
103
|
"R5": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5-Instance_48_Dark.png",
|
|
90
104
|
"R5A": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5a-Instance_48_Dark.png",
|
|
@@ -93,6 +107,8 @@
|
|
|
93
107
|
"T2": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T2-Instance_48_Dark.png",
|
|
94
108
|
"T3": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3-Instance_48_Dark.png",
|
|
95
109
|
"T3A": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3a-Instance_48_Dark.png",
|
|
110
|
+
"T4G": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T4g-Instance_48_Dark.png",
|
|
111
|
+
"TRAINIUM": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png",
|
|
96
112
|
"X1": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1-Instance_48_Dark.png",
|
|
97
113
|
"X1E": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1e-Instance_48_Dark.png",
|
|
98
114
|
"Z1D": "icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Z1D-Instance_48_Dark.png"
|
|
@@ -228,7 +244,7 @@
|
|
|
228
244
|
},
|
|
229
245
|
{
|
|
230
246
|
"resourceType": "AWS::EC2::SecurityGroup",
|
|
231
|
-
"filePath":
|
|
247
|
+
"filePath": "icons/aws/security_group.png"
|
|
232
248
|
},
|
|
233
249
|
{
|
|
234
250
|
"resourceType": "AWS::EC2::TrafficMirrorFilterRule",
|
|
@@ -1226,6 +1242,7 @@
|
|
|
1226
1242
|
},
|
|
1227
1243
|
{
|
|
1228
1244
|
"resourcePrefix": "AWS::Cognito",
|
|
1245
|
+
"genericFilePath": "icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Cognito_64.png",
|
|
1229
1246
|
"specificResources": [
|
|
1230
1247
|
{
|
|
1231
1248
|
"resourceType": "AWS::Cognito::UserPoolRiskConfigurationAttachment",
|
|
@@ -2166,7 +2183,7 @@
|
|
|
2166
2183
|
"specificResources": [
|
|
2167
2184
|
{
|
|
2168
2185
|
"resourceType": "AWS::Logs::MetricFilter",
|
|
2169
|
-
"filePath": "icons/aws/
|
|
2186
|
+
"filePath": "icons/aws/cloudwatch_metric_filter.png"
|
|
2170
2187
|
},
|
|
2171
2188
|
{
|
|
2172
2189
|
"resourceType": "AWS::Logs::SubscriptionFilter",
|
|
@@ -2178,11 +2195,11 @@
|
|
|
2178
2195
|
},
|
|
2179
2196
|
{
|
|
2180
2197
|
"resourceType": "AWS::Logs::LogGroup",
|
|
2181
|
-
"filePath":
|
|
2198
|
+
"filePath": "icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_Amazon-Cloudwatch_Logs_48_Dark_gen.png"
|
|
2182
2199
|
},
|
|
2183
2200
|
{
|
|
2184
2201
|
"resourceType": "AWS::Logs::LogStream",
|
|
2185
|
-
"filePath":
|
|
2202
|
+
"filePath": "icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_Amazon-Cloudwatch_Logs_48_Dark_gen.png"
|
|
2186
2203
|
}
|
|
2187
2204
|
]
|
|
2188
2205
|
},
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,6 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./diagram"), exports);
|
|
14
14
|
__exportStar(require("./component/component"), exports);
|
|
15
|
+
__exportStar(require("./component/customizable-attribute"), exports);
|
|
15
16
|
__exportStar(require("./component/diagram-component"), exports);
|
|
16
17
|
__exportStar(require("./component/root-component"), exports);
|
|
17
18
|
__exportStar(require("./component/link"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/diagram/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,wDAAqC;AACrC,gEAA6C;AAC7C,6DAA0C;AAC1C,mDAAgC;AAChC,oDAAiC;AACjC,0DAAuC;AACvC,8DAA2C;AAC3C,0DAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/diagram/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,wDAAqC;AACrC,qEAAkD;AAClD,gEAA6C;AAC7C,6DAA0C;AAC1C,mDAAgC;AAChC,oDAAiC;AACjC,0DAAuC;AACvC,8DAA2C;AAC3C,0DAAuC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as diagram from "../diagram/index";
|
|
2
|
+
export interface DiagramRenderer {
|
|
3
|
+
render(props: RenderingProps): Promise<RenderingOutput>;
|
|
4
|
+
}
|
|
5
|
+
export declare abstract class RenderingProps {
|
|
6
|
+
diagram: diagram.Diagram;
|
|
7
|
+
}
|
|
8
|
+
export interface RenderingOutput {
|
|
9
|
+
userOutput(): any;
|
|
10
|
+
}
|
|
11
|
+
export declare class RenderingError extends Error {
|
|
12
|
+
readonly debugInfo: string[];
|
|
13
|
+
readonly fixTips: string[];
|
|
14
|
+
constructor(message: string, debugInfo?: string[], fixTips?: string[]);
|
|
15
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RenderingError = void 0;
|
|
3
|
+
exports.RenderingError = exports.RenderingProps = void 0;
|
|
4
|
+
class RenderingProps {
|
|
5
|
+
}
|
|
6
|
+
exports.RenderingProps = RenderingProps;
|
|
4
7
|
class RenderingError extends Error {
|
|
5
8
|
constructor(message, debugInfo = [], fixTips = []) {
|
|
6
9
|
super(message);
|
|
@@ -11,4 +14,4 @@ class RenderingError extends Error {
|
|
|
11
14
|
}
|
|
12
15
|
}
|
|
13
16
|
exports.RenderingError = RenderingError;
|
|
14
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=diagram-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagram-renderer.js","sourceRoot":"","sources":["../../../src/render/diagram-renderer.ts"],"names":[],"mappings":";;;AAMA,MAAsB,cAAc;CAEnC;AAFD,wCAEC;AAKD,MAAa,cAAe,SAAQ,KAAK;IAKrC,YAAY,OAAe,EAAE,YAAsB,EAAE,EAAE,UAAoB,EAAE;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;CACJ;AAdD,wCAcC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Digraph } from "ts-graphviz";
|
|
2
|
+
import * as diagram from "../../diagram";
|
|
3
|
+
export declare class GraphvizGenerator {
|
|
4
|
+
generate(dia: diagram.Diagram): Digraph;
|
|
5
|
+
private breakLineEveryMaxChars;
|
|
6
|
+
private wordsToLabel;
|
|
7
|
+
private diagramGraph;
|
|
8
|
+
private addToGraph;
|
|
9
|
+
private addEdges;
|
|
10
|
+
private findFirstArbitraryClusterDirectLeaf;
|
|
11
|
+
}
|
|
@@ -22,52 +22,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.
|
|
26
|
-
const fs = __importStar(require("fs"));
|
|
27
|
-
const util = __importStar(require("util"));
|
|
28
|
-
const _ = __importStar(require("lodash"));
|
|
29
|
-
const hasbin = __importStar(require("hasbin"));
|
|
30
|
-
const word_wrap_1 = __importDefault(require("word-wrap"));
|
|
31
|
-
const child_process_1 = __importDefault(require("child_process"));
|
|
25
|
+
exports.GraphvizGenerator = void 0;
|
|
32
26
|
const ts_graphviz_1 = require("ts-graphviz");
|
|
33
|
-
const sanitizeFilename = require('sanitize-filename');
|
|
34
27
|
const styling = __importStar(require("./styling"));
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
class
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
styling.applyBaseGraphStyling(
|
|
41
|
-
this.diagramGraph(dia);
|
|
42
|
-
|
|
43
|
-
async generatePng(path) {
|
|
44
|
-
const dotFileName = this.generateDot(path);
|
|
45
|
-
try {
|
|
46
|
-
await this.dotToPng(dotFileName, path);
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
if (!hasbin.sync(Generator.graphvizBinary)) {
|
|
50
|
-
throw new rendering_error_1.RenderingError("Graphvig '" + Generator.graphvizBinary + "' binary does not exist locally or in PATH", [], [
|
|
51
|
-
"Install Graphviz and make sure it is available in PATH",
|
|
52
|
-
"Using brew: 'brew install graphviz'"
|
|
53
|
-
]);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
if (e instanceof rendering_error_1.RenderingError) {
|
|
57
|
-
throw e;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
throw new rendering_error_1.RenderingError(e.message);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return path;
|
|
65
|
-
}
|
|
66
|
-
generateDot(path) {
|
|
67
|
-
const data = ts_graphviz_1.toDot(this.rootGraph);
|
|
68
|
-
const fullPath = `${path}.dot`;
|
|
69
|
-
fs.writeFileSync(fullPath, data);
|
|
70
|
-
return fullPath;
|
|
28
|
+
const _ = __importStar(require("lodash"));
|
|
29
|
+
const word_wrap_1 = __importDefault(require("word-wrap"));
|
|
30
|
+
class GraphvizGenerator {
|
|
31
|
+
generate(dia) {
|
|
32
|
+
const rootGraph = ts_graphviz_1.digraph('Diagram');
|
|
33
|
+
styling.applyBaseGraphStyling(rootGraph);
|
|
34
|
+
this.diagramGraph(rootGraph, dia);
|
|
35
|
+
return rootGraph;
|
|
71
36
|
}
|
|
72
37
|
breakLineEveryMaxChars(label, charsPerLine) {
|
|
73
38
|
let fullWords;
|
|
@@ -119,10 +84,10 @@ class Generator {
|
|
|
119
84
|
});
|
|
120
85
|
return words;
|
|
121
86
|
}
|
|
122
|
-
diagramGraph(
|
|
123
|
-
const root =
|
|
124
|
-
this.addToGraph(root,
|
|
125
|
-
this.addEdges(
|
|
87
|
+
diagramGraph(rootGraph, diagram1) {
|
|
88
|
+
const root = rootGraph.createSubgraph(diagram1.root.id);
|
|
89
|
+
this.addToGraph(root, diagram1.root);
|
|
90
|
+
this.addEdges(rootGraph, diagram1.root);
|
|
126
91
|
}
|
|
127
92
|
addToGraph(g, node) {
|
|
128
93
|
const labelFontSize = 12;
|
|
@@ -169,25 +134,6 @@ class Generator {
|
|
|
169
134
|
findFirstArbitraryClusterDirectLeaf(node) {
|
|
170
135
|
return node.subComponents().find(sub => { return sub.subComponents().length == 0; });
|
|
171
136
|
}
|
|
172
|
-
async dotToPng(sourceDotFile, targetPngFile) {
|
|
173
|
-
const cmd = `${Generator.graphvizBinary} ${sanitizeFilename(sourceDotFile)} -T png > ${sanitizeFilename(targetPngFile)}`;
|
|
174
|
-
try {
|
|
175
|
-
const { stdout, stderr } = await exec(cmd);
|
|
176
|
-
const fileExists = fs.existsSync(targetPngFile);
|
|
177
|
-
if (!fileExists) {
|
|
178
|
-
throw new rendering_error_1.RenderingError("Failed to generate PNG: file does not exist.");
|
|
179
|
-
}
|
|
180
|
-
const stats = fs.lstatSync(targetPngFile);
|
|
181
|
-
if (stats.size < 2) {
|
|
182
|
-
throw new rendering_error_1.RenderingError("Generated PNG doesn't seem valid: file size is too small.", [stdout, stderr], [". make sure Graphviz is installed and available in the PATH"]);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
catch (e) {
|
|
186
|
-
throw new rendering_error_1.RenderingError(e.message);
|
|
187
|
-
}
|
|
188
|
-
return true;
|
|
189
|
-
}
|
|
190
137
|
}
|
|
191
|
-
exports.
|
|
192
|
-
|
|
193
|
-
//# sourceMappingURL=generator.js.map
|
|
138
|
+
exports.GraphvizGenerator = GraphvizGenerator;
|
|
139
|
+
//# sourceMappingURL=GraphvizGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphvizGenerator.js","sourceRoot":"","sources":["../../../../src/render/graphviz/GraphvizGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as diagram from "../../diagram";
|
|
2
|
+
import { DiagramRenderer, RenderingOutput, RenderingProps } from "../diagram-renderer";
|
|
3
|
+
export declare class GraphvizRenderingProps extends RenderingProps {
|
|
4
|
+
diagram: diagram.Diagram;
|
|
5
|
+
path: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class GraphvizRenderingOutput implements RenderingOutput {
|
|
8
|
+
private imagePath;
|
|
9
|
+
private imageType;
|
|
10
|
+
constructor(imagePath: string, imageType: string);
|
|
11
|
+
userOutput(): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class Graphviz implements DiagramRenderer {
|
|
14
|
+
render(props: GraphvizRenderingProps): Promise<GraphvizRenderingOutput>;
|
|
15
|
+
renderToDot(dia: diagram.Diagram, targetDotPath: string): void;
|
|
16
|
+
private static generatePng;
|
|
17
|
+
private static sanitizeAndResolvePath;
|
|
18
|
+
private static dotToPng;
|
|
19
|
+
private static GRAPHVIZ_BINARY;
|
|
20
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.Graphviz = exports.GraphvizRenderingOutput = exports.GraphvizRenderingProps = void 0;
|
|
26
|
+
const fs = __importStar(require("fs"));
|
|
27
|
+
const util = __importStar(require("util"));
|
|
28
|
+
const hasbin = __importStar(require("hasbin"));
|
|
29
|
+
const ts_graphviz_1 = require("ts-graphviz");
|
|
30
|
+
const child_process_1 = __importDefault(require("child_process"));
|
|
31
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
32
|
+
const terminal_link_1 = __importDefault(require("terminal-link"));
|
|
33
|
+
const sanitizeFilename = require('sanitize-filename');
|
|
34
|
+
const exec = util.promisify(child_process_1.default.exec);
|
|
35
|
+
const diagram_renderer_1 = require("../diagram-renderer");
|
|
36
|
+
const GraphvizGenerator_1 = require("./GraphvizGenerator");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
class GraphvizRenderingProps extends diagram_renderer_1.RenderingProps {
|
|
39
|
+
}
|
|
40
|
+
exports.GraphvizRenderingProps = GraphvizRenderingProps;
|
|
41
|
+
class GraphvizRenderingOutput {
|
|
42
|
+
constructor(imagePath, imageType) {
|
|
43
|
+
this.imagePath = imagePath;
|
|
44
|
+
this.imageType = imageType;
|
|
45
|
+
}
|
|
46
|
+
userOutput() {
|
|
47
|
+
if (terminal_link_1.default.isSupported)
|
|
48
|
+
console.log(chalk_1.default.green(`CDK code diagram generated to ${this.imageType.toUpperCase()} at ${chalk_1.default.bold(terminal_link_1.default(this.imagePath, this.imagePath))}`));
|
|
49
|
+
else
|
|
50
|
+
console.log(chalk_1.default.green(`CDK code diagram generated to ${this.imageType.toUpperCase()} at ${chalk_1.default.bold(this.imagePath)}`));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.GraphvizRenderingOutput = GraphvizRenderingOutput;
|
|
54
|
+
class Graphviz {
|
|
55
|
+
async render(props) {
|
|
56
|
+
const basePath = props.path.replace(/\.[^/.]+$/, "");
|
|
57
|
+
const targetDotPath = `${basePath}.dot`;
|
|
58
|
+
const targetPngPath = `${basePath}.png`;
|
|
59
|
+
this.renderToDot(props.diagram, targetDotPath);
|
|
60
|
+
await Graphviz.generatePng(targetDotPath, targetPngPath);
|
|
61
|
+
return new GraphvizRenderingOutput(targetPngPath, "png");
|
|
62
|
+
}
|
|
63
|
+
renderToDot(dia, targetDotPath) {
|
|
64
|
+
const graphRoot = new GraphvizGenerator_1.GraphvizGenerator().generate(dia);
|
|
65
|
+
const dot = ts_graphviz_1.toDot(graphRoot);
|
|
66
|
+
fs.writeFileSync(targetDotPath, dot);
|
|
67
|
+
}
|
|
68
|
+
static async generatePng(dotPath, targetPngPath) {
|
|
69
|
+
try {
|
|
70
|
+
await Graphviz.dotToPng(dotPath, targetPngPath);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
if (!hasbin.sync(Graphviz.GRAPHVIZ_BINARY)) {
|
|
74
|
+
throw new diagram_renderer_1.RenderingError("Graphvig '" + Graphviz.GRAPHVIZ_BINARY + "' binary does not exist locally or in PATH", [], [
|
|
75
|
+
"Install Graphviz and make sure it is available in PATH",
|
|
76
|
+
"Using brew: 'brew install graphviz'"
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
if (e instanceof diagram_renderer_1.RenderingError) {
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
throw new diagram_renderer_1.RenderingError(e.message);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
static sanitizeAndResolvePath(dirty) {
|
|
90
|
+
return path.resolve(dirty.split(path.sep).map(it => {
|
|
91
|
+
return sanitizeFilename(it);
|
|
92
|
+
}).join(path.sep));
|
|
93
|
+
}
|
|
94
|
+
static async dotToPng(sourceDotFile, targetPngFile) {
|
|
95
|
+
const cmdParts = [
|
|
96
|
+
Graphviz.GRAPHVIZ_BINARY,
|
|
97
|
+
Graphviz.sanitizeAndResolvePath(sourceDotFile),
|
|
98
|
+
`-T png`,
|
|
99
|
+
`>`,
|
|
100
|
+
Graphviz.sanitizeAndResolvePath(targetPngFile)
|
|
101
|
+
];
|
|
102
|
+
const { stdout, stderr } = await exec(cmdParts.join(" "));
|
|
103
|
+
const fileExists = fs.existsSync(targetPngFile);
|
|
104
|
+
if (!fileExists) {
|
|
105
|
+
throw new diagram_renderer_1.RenderingError("Failed to generate PNG: file does not exist.");
|
|
106
|
+
}
|
|
107
|
+
const stats = fs.lstatSync(targetPngFile);
|
|
108
|
+
if (stats.size < 2) {
|
|
109
|
+
throw new diagram_renderer_1.RenderingError("Generated PNG doesn't seem valid: file size is too small.", [stdout, stderr], [". make sure Graphviz is installed and available in the PATH"]);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.Graphviz = Graphviz;
|
|
114
|
+
Graphviz.GRAPHVIZ_BINARY = "dot";
|
|
115
|
+
//# sourceMappingURL=graphviz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphviz.js","sourceRoot":"","sources":["../../../../src/render/graphviz/graphviz.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./graphviz";
|
|
@@ -10,6 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./
|
|
14
|
-
__exportStar(require("./rendering-error"), exports);
|
|
13
|
+
__exportStar(require("./graphviz"), exports);
|
|
15
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/render/graphviz/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Graph, INode, ISubgraph } from "ts-graphviz";
|
|
2
|
-
import { ComponentIcon } from "
|
|
2
|
+
import { ComponentIcon } from "../../diagram/component/icon";
|
|
3
3
|
export declare function applyBaseGraphStyling(graph: Graph): void;
|
|
4
4
|
export declare function applyClusterStyling(subGraph: ISubgraph, depth: number): void;
|
|
5
5
|
export declare function applyBasicNodeStyling(gnode: INode, labelFontSize: number): void;
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ColorPalette = exports.applyNodeWithIconStyling = exports.applyBasicNodeStyling = exports.applyClusterStyling = exports.applyBaseGraphStyling = void 0;
|
|
7
7
|
const values_js_1 = __importDefault(require("values.js"));
|
|
8
|
-
const icon_1 = require("
|
|
8
|
+
const icon_1 = require("../../diagram/component/icon");
|
|
9
9
|
function applyBaseGraphStyling(graph) {
|
|
10
10
|
graph.set("splines", "ortho");
|
|
11
11
|
graph.set("pad", "1.0");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styling.js","sourceRoot":"","sources":["../../../../src/render/graphviz/styling.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -21,9 +21,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
const fs = __importStar(require("fs"));
|
|
23
23
|
const rimraf = __importStar(require("rimraf"));
|
|
24
|
-
const
|
|
25
|
-
const testCases_1 = require("
|
|
26
|
-
const generator_test_1 = require("
|
|
24
|
+
const graphviz_1 = require("../graphviz");
|
|
25
|
+
const testCases_1 = require("../../../test-fixtures/testCases");
|
|
26
|
+
const generator_test_1 = require("../../../diagram/tests/generator.test");
|
|
27
27
|
const path = __importStar(require("path"));
|
|
28
28
|
if (global['jest-specific-init'] == undefined) {
|
|
29
29
|
global['jest-specific-init'] = true;
|
|
@@ -39,11 +39,11 @@ describe("diagram converted to DOT file as expected", () => {
|
|
|
39
39
|
testCases_1.testCases.forEach(test => {
|
|
40
40
|
it(`${test.cdkTreePath} - ${test.jsonTreeFile} - ${test.id}`, async () => {
|
|
41
41
|
const diagram = generator_test_1.givenDiagram(test);
|
|
42
|
-
const generator = new
|
|
43
|
-
const
|
|
44
|
-
|
|
42
|
+
const generator = new graphviz_1.Graphviz();
|
|
43
|
+
const dotFilePath = `${basePath}/${test.jsonTreeFile}-${test.id}.dot`;
|
|
44
|
+
generator.renderToDot(diagram, dotFilePath);
|
|
45
45
|
const pathToSnap = path.resolve(process.cwd(), `./snapshots/diagram-converted-to-DOT-file-as-expected-${test.jsonTreeFile}-${test.id}.snapshot`);
|
|
46
|
-
expect(fs.readFileSync(
|
|
46
|
+
expect(fs.readFileSync(dotFilePath).toString()).toMatchSpecificSnapshot(pathToSnap);
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../../../src/render/graphviz/tests/generator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,+CAAgC;AAChC,0CAAoC;AACpC,gEAA0D;AAC1D,0EAAkE;AAClE,2CAA4B;AAE5B,IAAI,MAAM,CAAC,oBAAoB,CAAC,IAAI,SAAS,EAAE;IAC1C,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrC;AAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAExB,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAA;AAElD,SAAS,CAAC,GAAG,EAAE;IACV,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IAEtD,qBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAEpB,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,MAAM,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAEpE,MAAM,OAAO,GAAG,6BAAY,CAAC,IAAI,CAAC,CAAA;YAElC,MAAM,SAAS,GAAG,IAAI,mBAAQ,EAAE,CAAA;YAEhC,MAAM,WAAW,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,MAAM,CAAA;YACrE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yDAAyD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;YACjJ,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACzF,CAAC,CAAC,CAAA;IACP,CAAC,CAAC,CAAA;AACP,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./diagram-renderer";
|
|
@@ -0,0 +1,14 @@
|
|
|
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("./diagram-renderer"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cdk-dia",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "🎡 Automated diagrams of CDK provisioned infrastructure",
|
|
5
5
|
"scripts": {
|
|
6
|
-
"
|
|
6
|
+
"build-watch": "tsc --watch",
|
|
7
|
+
"prepare": "tsc && cp src/diagram/aws/awsResouceIconMatches.json dist/src/diagram/aws/awsResouceIconMatches.json",
|
|
7
8
|
"test": "tsc && jest"
|
|
8
9
|
},
|
|
9
10
|
"bin": {
|
|
10
|
-
"cdk-dia": "bin/cli.js"
|
|
11
|
+
"cdk-dia": "dist/bin/cli.js"
|
|
11
12
|
},
|
|
12
13
|
"jest": {
|
|
13
14
|
"testEnvironment": "node"
|
|
14
15
|
},
|
|
15
|
-
"main": "index.js",
|
|
16
|
-
"types": "index.d.ts",
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
17
18
|
"files": [
|
|
18
|
-
"
|
|
19
|
+
"dist",
|
|
20
|
+
"icons"
|
|
19
21
|
],
|
|
20
22
|
"author": "Tom Roshko @pistazie",
|
|
21
23
|
"license": "MIT",
|
package/bin/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as diagram from "../diagram";
|
|
2
|
-
export declare class Generator {
|
|
3
|
-
private readonly rootGraph;
|
|
4
|
-
constructor(dia: diagram.Diagram);
|
|
5
|
-
generatePng(path: string): Promise<string>;
|
|
6
|
-
generateDot(path: string): string;
|
|
7
|
-
private breakLineEveryMaxChars;
|
|
8
|
-
private wordsToLabel;
|
|
9
|
-
private diagramGraph;
|
|
10
|
-
private addToGraph;
|
|
11
|
-
private addEdges;
|
|
12
|
-
private findFirstArbitraryClusterDirectLeaf;
|
|
13
|
-
private dotToPng;
|
|
14
|
-
private static graphvizBinary;
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/graphviz/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,0CAA2B;AAC3B,+CAAgC;AAChC,0DAA4B;AAC5B,kEAAwC;AACxC,6CAA4D;AAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAGrD,mDAAoC;AACpC,uDAAgD;AAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAY,CAAC,IAAI,CAAC,CAAA;AAE9C,MAAa,SAAS;IAIlB,YAAY,GAAoB;QAE5B,IAAI,CAAC,SAAS,GAAG,qBAAO,CAAC,SAAS,CAAC,CAAA;QAEnC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAY;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI;YACA,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;SACzC;QAAC,OAAO,CAAC,EAAE;YAER,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAC;gBACvC,MAAM,IAAI,gCAAc,CAAC,YAAY,GAAC,SAAS,CAAC,cAAc,GAAC,4CAA4C,EAAC,EAAE,EAAC;oBAC3G,wDAAwD;oBACxD,qCAAqC;iBACxC,CAAC,CAAA;aACL;iBACI;gBACD,IAAI,CAAC,YAAY,gCAAc,EAAE;oBAC7B,MAAM,CAAC,CAAA;iBACV;qBAAM;oBACH,MAAM,IAAI,gCAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;iBACtC;aACJ;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,MAAM,IAAI,GAAG,mBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAA;QAC9B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChC,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,sBAAsB,CAAC,KAAe,EAAE,YAAoB;QAEhE,IAAI,SAAmB,CAAA;QACvB,IAAI,KAAK,IAAI,SAAS;YAClB,SAAS,GAAG,CAAC,EAAE,CAAC,CAAA;;YAEhB,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC,CAAA;QAE5F,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAExG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAC;YAClB,MAAM,UAAU,GAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA,CAAC,CAAC,CAAC,CAAA;YAElH,KAAK,GAAG,UAAU,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,YAAY,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;SAC1E;QAED,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE;gBACnD,OAAO,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aAC5B;iBAAM;gBACH,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE;oBACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACnB,OAAO,GAAG,EAAE,CAAA;oBACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;iBACvB;qBAAM;oBACH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACnB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;iBACrB;aACJ;YACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACzB;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE3C,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,YAAY,CAAC,SAAmB,EAAE,YAAoB;QAC1D,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAErB,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACnB;iBAAM;gBACH,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,EAAE;oBACvB,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,YAAY;iBACtB,CAAC,CAAC,IAAI,EAAE,CAAA;gBACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;aAClE;QACL,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,YAAY,CAAC,CAAkB;QAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAEO,UAAU,CAAC,CAAY,EAAE,IAAuB;QAEpD,MAAM,aAAa,GAAG,EAAE,CAAA;QACxB,MAAM,YAAY,GAAG,aAAa,GAAG,GAAG,CAAA;QAExC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAEjC,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,oBAAoB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAEnE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAE5D,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAGnD,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;SAEtE;aAAM;YACH,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACxE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAEpD,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YAEnD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBAC7C,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;aACvF;SACJ;IACL,CAAC;IAEO,QAAQ,CAAC,CAAQ,EAAE,IAAuB;QAE9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAGhD,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAG,CAAC,EAAE;gBAQ3C,MAAM,kBAAkB,GAAG,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAA;gBACzE,MAAM,sBAAsB,GAAG,IAAI,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAA;gBACjF,IAAI,kBAAkB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAG;oBAC3E,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE;wBAC7D,GAAG,EAAE,MAAM;wBACX,KAAK,EAAE,oBAAoB,IAAI,CAAC,EAAE,EAAE;wBACpC,KAAK,EAAE,oBAAoB,QAAQ,CAAC,EAAE,EAAE;wBACxC,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,CAAC;qBACd,CAAC,CAAA;iBACL;aACJ;iBAAK;gBAEF,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC,CAAA;aACtD;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,mCAAmC,CAAC,IAAuB;QAC/D,OAAQ,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACzF,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,aAAqB;QAE/D,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,cAAc,IAAI,gBAAgB,CAAC,aAAa,CAAC,aAAa,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAA;QAExH,IAAI;YACA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;YAExC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;YAC/C,IAAI,CAAC,UAAU,EAAC;gBACZ,MAAM,IAAI,gCAAc,CAAC,8CAA8C,CAAC,CAAA;aAC3E;YAED,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YACzC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAC;gBACf,MAAM,IAAI,gCAAc,CAAC,2DAA2D,EAChF,CAAC,MAAM,EAAC,MAAM,CAAC,EACf,CAAC,6DAA6D,CAAC,CAAC,CAAA;aACvE;SACJ;QAAC,OAAO,CAAC,EAAC;YACP,MAAM,IAAI,gCAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;SACtC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;;AA1ML,8BA6MC;AADkB,wBAAc,GAAG,KAAK,CAAA"}
|
package/src/graphviz/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphviz/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA2B;AAC3B,oDAAiC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rendering-error.js","sourceRoot":"","sources":["../../../src/graphviz/rendering-error.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,KAAK;IAKrC,YAAY,OAAe,EAAE,YAAsB,EAAE,EAAE,UAAoB,EAAE;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;CACJ;AAdD,wCAcC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styling.js","sourceRoot":"","sources":["../../../src/graphviz/styling.ts"],"names":[],"mappings":";;;;;;AACA,0DAA8B;AAC9B,oDAA4E;AAE5E,SAAgB,qBAAqB,CAAC,KAAY;IAG9C,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACnC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC3B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC1B,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAGjC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC7C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC5C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACvC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC7C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACnD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAGtC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC/C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC7C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACjD,CAAC;AA/BD,sDA+BC;AAED,SAAgB,mBAAmB,CAAC,QAAmB,EAAE,KAAa;IAElE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAC/C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAE/C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IACpD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACxD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACzE,CAAC;AAXD,kDAWC;AAED,SAAgB,qBAAqB,CAAC,KAAY,EAAE,aAAqB;IACrE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AACnD,CAAC;AAFD,sDAEC;AAED,SAAgB,wBAAwB,CAAC,IAAW,EAAE,IAAmB,EAAE,aAAqB,EAAE,eAAuB;IAErH,MAAM,WAAW,GAAG,CAAC,CAAA;IAErB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAEpC,IAAI,IAAI,CAAC,MAAM,IAAI,0BAAmB,CAAC,MAAM,EAAE;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC,CAAA;KAChG;SAAM;QACH,MAAM,KAAK,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC,CAAC,CAAA;KAC1G;AACL,CAAC;AApBD,4DAoBC;AAED,MAAa,YAAY;IAErB,MAAM,CAAC,KAAK,CAAC,GAAW;QAEpB,MAAM,KAAK,GAAG,IAAI,mBAAM,CAAC,SAAS,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QAClC,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;IAC5B,CAAC;CACJ;AARD,oCAQC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../../src/graphviz/tests/generator.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,+CAAgC;AAChC,4CAAsC;AACtC,6DAAuD;AACvD,uEAA+D;AAC/D,2CAA4B;AAE5B,IAAI,MAAM,CAAC,oBAAoB,CAAC,IAAI,SAAS,EAAE;IAC1C,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrC;AAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAExB,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAA;AAElD,SAAS,CAAC,GAAG,EAAE;IACV,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IAEtD,qBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAEpB,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,MAAM,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAEpE,MAAM,OAAO,GAAG,6BAAY,CAAC,IAAI,CAAC,CAAA;YAElC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,OAAO,CAAC,CAAA;YAExC,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,CAAA;YAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YAE/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yDAAyD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;YACjJ,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACrF,CAAC,CAAC,CAAA;IACP,CAAC,CAAC,CAAA;AACP,CAAC,CAAC,CAAA"}
|