@appland/appmap 3.67.2 → 3.68.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/CHANGELOG.md +7 -0
- package/built/cmds/open/openers.js +3 -3
- package/built/cmds/open/openers.js.map +1 -1
- package/built/cmds/open/showAppMap.js +1 -8
- package/built/cmds/open/showAppMap.js.map +1 -1
- package/built/cmds/sequenceDiagram.js +64 -18
- package/built/cmds/sequenceDiagram.js.map +1 -1
- package/built/html/{page.css → appmap.css} +1 -1
- package/built/html/appmap.html +1 -1
- package/built/html/{page.js → appmap.js} +72 -72
- package/built/html/appmap.js.map +7 -0
- package/built/html/sequenceDiagram.css +2 -0
- package/built/html/sequenceDiagram.css.map +7 -0
- package/built/html/sequenceDiagram.html +1 -0
- package/built/html/sequenceDiagram.js +357 -0
- package/built/html/sequenceDiagram.js.map +7 -0
- package/built/lib/serveAndOpen.js +124 -0
- package/built/lib/serveAndOpen.js.map +1 -0
- package/package.json +7 -6
- package/built/cmds/open/serveAndOpenAppMap.js +0 -91
- package/built/cmds/open/serveAndOpenAppMap.js.map +0 -1
- package/built/html/page.js.map +0 -7
- /package/built/html/{page.css.map → appmap.css.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [@appland/appmap-v3.68.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.67.2...@appland/appmap-v3.68.0) (2023-03-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Generate png of sequence diagram ([c7fc54b](https://github.com/getappmap/appmap-js/commit/c7fc54bd56b14db6e76749e9c46f810ada8001b9))
|
|
7
|
+
|
|
1
8
|
# [@appland/appmap-v3.67.2](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.67.1...@appland/appmap-v3.67.2) (2023-03-15)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.openInTool = exports.openInVSCode = exports.vscodeURL = exports.openInBrowser = exports.abspath = void 0;
|
|
7
|
-
const
|
|
7
|
+
const serveAndOpen_1 = require("../../lib/serveAndOpen");
|
|
8
8
|
const supports_hyperlinks_1 = __importDefault(require("supports-hyperlinks"));
|
|
9
9
|
const path_1 = require("path");
|
|
10
10
|
// See also: https://github.com/getappmap/scanner/pull/9/files#diff-3294a832ea2276e554177e0b3007cc2d401c082912c7fbde49fa09141bf1aed1R1
|
|
@@ -21,8 +21,8 @@ function abspath(file) {
|
|
|
21
21
|
return (0, path_1.resolve)(process.cwd(), file);
|
|
22
22
|
}
|
|
23
23
|
exports.abspath = abspath;
|
|
24
|
-
async function openInBrowser(appMapFile) {
|
|
25
|
-
await (0,
|
|
24
|
+
async function openInBrowser(appMapFile, verifyInSubdir) {
|
|
25
|
+
await (0, serveAndOpen_1.serveAndOpenAppMap)(appMapFile, verifyInSubdir);
|
|
26
26
|
}
|
|
27
27
|
exports.openInBrowser = openInBrowser;
|
|
28
28
|
function vscodeURL(appMapFile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openers.js","sourceRoot":"","sources":["../../../src/cmds/open/openers.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"openers.js","sourceRoot":"","sources":["../../../src/cmds/open/openers.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA4D;AAC5D,8EAAqD;AACrD,+BAAqC;AAErC,sIAAsI;AACtI,SAAS,SAAS,CAAC,QAAgB,EAAE,IAAY;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC;IACtB,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,MAAM,GAAG,GAAG,GAAG,CAAC;IAEhB,IAAI,CAAC,6BAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,0BAEC;AAEM,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,cAAuB;IAC7E,MAAM,IAAA,iCAAkB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AACvD,CAAC;AAFD,sCAEC;AAED,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,IAAA,WAAI,EAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAFD,oCAEC;AAEM,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,GAAG,MAAM,gBAAgB,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAHD,gCAGC"}
|
|
@@ -6,20 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const child_process_1 = require("child_process");
|
|
7
7
|
const userInteraction_1 = __importDefault(require("../userInteraction"));
|
|
8
8
|
const openers_1 = require("./openers");
|
|
9
|
-
const Openers = [
|
|
10
|
-
{ name: 'Browser tab', fn: openers_1.openInBrowser },
|
|
11
|
-
{ name: 'VS Code', fn: openers_1.openInVSCode },
|
|
12
|
-
{ name: 'IntelliJ', toolId: 'idea', fn: openers_1.openInTool },
|
|
13
|
-
{ name: 'PyCharm', toolId: 'pycharm', fn: openers_1.openInTool },
|
|
14
|
-
{ name: 'RubyMine', toolId: 'x-mine', fn: openers_1.openInTool },
|
|
15
|
-
];
|
|
16
9
|
async function showAppMap(appMapFile) {
|
|
17
10
|
const termProgram = process.env.TERM_PROGRAM;
|
|
18
11
|
if (process.platform === 'darwin' && termProgram === 'vscode') {
|
|
19
12
|
(0, child_process_1.spawn)('code', [(0, openers_1.abspath)(appMapFile)]);
|
|
20
13
|
}
|
|
21
14
|
else {
|
|
22
|
-
await (0, openers_1.openInBrowser)(appMapFile);
|
|
15
|
+
await (0, openers_1.openInBrowser)(appMapFile, false);
|
|
23
16
|
}
|
|
24
17
|
const { action } = await userInteraction_1.default.prompt({
|
|
25
18
|
type: 'list',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"showAppMap.js","sourceRoot":"","sources":["../../../src/cmds/open/showAppMap.ts"],"names":[],"mappings":";;;;;AAAA,iDAAsC;AACtC,yEAAoC;AACpC,uCAA6E;
|
|
1
|
+
{"version":3,"file":"showAppMap.js","sourceRoot":"","sources":["../../../src/cmds/open/showAppMap.ts"],"names":[],"mappings":";;;;;AAAA,iDAAsC;AACtC,yEAAoC;AACpC,uCAA6E;AAE9D,KAAK,UAAU,UAAU,CAAC,UAAkB;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,WAAW,KAAK,QAAQ,EAAE;QAC7D,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACtC;SAAM;QACL,MAAM,IAAA,uBAAa,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KACxC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,CAAC,UAAU,UAAU,EAAE,EAAE,MAAM,CAAC;KAC1C,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;KAC9B;AACH,CAAC;AAjBD,6BAiBC"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.handler = exports.builder = exports.describe = exports.command = void 0;
|
|
4
7
|
const promises_1 = require("fs/promises");
|
|
5
8
|
const path_1 = require("path");
|
|
9
|
+
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
6
10
|
const handleWorkingDirectory_1 = require("../lib/handleWorkingDirectory");
|
|
7
11
|
const utils_1 = require("../utils");
|
|
8
12
|
const models_1 = require("@appland/models");
|
|
9
13
|
const sequence_diagram_1 = require("@appland/sequence-diagram");
|
|
14
|
+
const serveAndOpen_1 = require("../lib/serveAndOpen");
|
|
15
|
+
const assert_1 = __importDefault(require("assert"));
|
|
10
16
|
exports.command = 'sequence-diagram <appmap...>';
|
|
11
17
|
exports.describe = 'Generate a sequence diagram for an AppMap';
|
|
12
18
|
const builder = (args) => {
|
|
@@ -22,6 +28,11 @@ const builder = (args) => {
|
|
|
22
28
|
args.option('output-dir', {
|
|
23
29
|
describe: 'directory in which to save the sequence diagrams',
|
|
24
30
|
});
|
|
31
|
+
args.option('show-browser', {
|
|
32
|
+
describe: 'when using a browser to render the diagram, show the browser window',
|
|
33
|
+
type: 'boolean',
|
|
34
|
+
default: false,
|
|
35
|
+
});
|
|
25
36
|
args.option('loops', {
|
|
26
37
|
describe: 'identify loops and collect under a Loop object',
|
|
27
38
|
type: 'boolean',
|
|
@@ -30,8 +41,8 @@ const builder = (args) => {
|
|
|
30
41
|
args.option('format', {
|
|
31
42
|
describe: 'output format',
|
|
32
43
|
alias: 'f',
|
|
33
|
-
choices: ['plantuml', 'json'],
|
|
34
|
-
default: '
|
|
44
|
+
choices: ['png', 'plantuml', 'json'],
|
|
45
|
+
default: 'png',
|
|
35
46
|
});
|
|
36
47
|
args.option('exclude', {
|
|
37
48
|
describe: 'code objects to exclude from the diagram',
|
|
@@ -47,11 +58,17 @@ const handler = async (argv) => {
|
|
|
47
58
|
process.exitCode = 1;
|
|
48
59
|
return;
|
|
49
60
|
}
|
|
50
|
-
if (!sequence_diagram_1.Formatters.includes(argv.format)) {
|
|
61
|
+
if (argv.format !== 'png' && !sequence_diagram_1.Formatters.includes(argv.format)) {
|
|
51
62
|
console.log(`Invalid format: ${argv.format}`);
|
|
52
63
|
process.exitCode = 1;
|
|
53
64
|
return;
|
|
54
65
|
}
|
|
66
|
+
let browser;
|
|
67
|
+
if (argv.format === 'png') {
|
|
68
|
+
if ((0, utils_1.verbose)())
|
|
69
|
+
console.warn(`Preparing browser for PNG rendering`);
|
|
70
|
+
browser = await puppeteer_1.default.launch({ timeout: 120 * 1000, headless: !argv.showBrowser });
|
|
71
|
+
}
|
|
55
72
|
const generateDiagram = async (appmapFileName) => {
|
|
56
73
|
const appmapData = JSON.parse(await (0, promises_1.readFile)(appmapFileName, 'utf-8'));
|
|
57
74
|
const appmap = (0, models_1.buildAppMap)().source(appmapData).build();
|
|
@@ -60,28 +77,57 @@ const handler = async (argv) => {
|
|
|
60
77
|
};
|
|
61
78
|
if (argv.exclude)
|
|
62
79
|
specOptions.exclude = Array.isArray(argv.exclude) ? argv.exclude : [argv.exclude];
|
|
63
|
-
const specification = sequence_diagram_1.Specification.build(appmap, specOptions);
|
|
64
|
-
const diagram = (0, sequence_diagram_1.buildDiagram)(appmapFileName, appmap, specification);
|
|
65
|
-
const template = (0, sequence_diagram_1.format)(argv.format, diagram, appmapFileName);
|
|
66
80
|
if (argv.outputDir)
|
|
67
81
|
await (0, promises_1.mkdir)(argv.outputDir, { recursive: true });
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
template.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
82
|
+
const specification = sequence_diagram_1.Specification.build(appmap, specOptions);
|
|
83
|
+
const diagram = (0, sequence_diagram_1.buildDiagram)(appmapFileName, appmap, specification);
|
|
84
|
+
const printDiagram = async (format) => {
|
|
85
|
+
const template = (0, sequence_diagram_1.format)(format, diagram, appmapFileName);
|
|
86
|
+
const outputFileName = [
|
|
87
|
+
(0, path_1.basename)(appmapFileName, '.appmap.json'),
|
|
88
|
+
'.sequence',
|
|
89
|
+
template.extension,
|
|
90
|
+
].join('');
|
|
91
|
+
let resultPath;
|
|
92
|
+
if (argv.outputDir)
|
|
93
|
+
resultPath = (0, path_1.join)(argv.outputDir, outputFileName);
|
|
94
|
+
else
|
|
95
|
+
resultPath = (0, path_1.join)((0, path_1.dirname)(appmapFileName), outputFileName);
|
|
96
|
+
await (0, promises_1.writeFile)(resultPath, template.diagram);
|
|
97
|
+
return resultPath;
|
|
98
|
+
};
|
|
99
|
+
if (argv.format === 'png') {
|
|
100
|
+
// PNG rendering is performed by loading the sequence
|
|
101
|
+
// diagram in a browser and taking a screenshot.
|
|
102
|
+
const diagramPath = await printDiagram(sequence_diagram_1.FormatType.JSON);
|
|
103
|
+
const outputPath = await new Promise((resolve) => (0, serveAndOpen_1.serveAndOpenSequenceDiagram)(diagramPath, false, async (url) => {
|
|
104
|
+
if ((0, utils_1.verbose)())
|
|
105
|
+
console.warn(`Rendering PNG`);
|
|
106
|
+
(0, assert_1.default)(browser, 'Browser not initialized');
|
|
107
|
+
const page = await browser.newPage();
|
|
108
|
+
if (argv.verbose)
|
|
109
|
+
page.on('console', (msg) => console.log('CONSOLE: ', msg.text()));
|
|
110
|
+
const outputPath = (0, path_1.join)((0, path_1.dirname)(diagramPath), [(0, path_1.basename)(diagramPath, '.json'), '.png'].join(''));
|
|
111
|
+
await page.goto(url);
|
|
112
|
+
await page.waitForSelector('.sequence-diagram');
|
|
113
|
+
await page.screenshot({ path: outputPath, fullPage: true });
|
|
114
|
+
resolve(outputPath);
|
|
115
|
+
}));
|
|
116
|
+
console.warn(`Printed diagram ${outputPath}`);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// Other forms of output are produced directly by the
|
|
120
|
+
// sequence diagram library.
|
|
121
|
+
const outputPath = await printDiagram(argv.format);
|
|
122
|
+
console.log(`Printed diagram ${outputPath}`);
|
|
123
|
+
}
|
|
80
124
|
};
|
|
81
125
|
for (let i = 0; i < argv.appmap.length; i++) {
|
|
82
126
|
const appmapFile = argv.appmap[i];
|
|
83
127
|
await generateDiagram(appmapFile);
|
|
84
128
|
}
|
|
129
|
+
if (browser)
|
|
130
|
+
await browser.close();
|
|
85
131
|
};
|
|
86
132
|
exports.handler = handler;
|
|
87
133
|
//# sourceMappingURL=sequenceDiagram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequenceDiagram.js","sourceRoot":"","sources":["../../src/cmds/sequenceDiagram.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sequenceDiagram.js","sourceRoot":"","sources":["../../src/cmds/sequenceDiagram.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.appmap{position:relative;width:100%;min-width:inherit;max-width:inherit;height:100%;min-height:inherit;max-height:inherit;font-size:14px;font-family:IBM Plex Mono,monospace;overflow:hidden;user-select:none}.appmap__content{display:inline-block}.appmap.appmap--theme-dark{background-color:#010306}.appmap.appmap--theme-light{background-color:#fff}.appmap.is-grabbing{cursor:grabbing}.appmap__zoom{position:absolute;top:50%;right:0;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.appmap__zoom-button{border:none;border-radius:.5rem;padding:.25rem .5rem;appearance:none;background:#242c41;color:#808b98;font-weight:700;cursor:pointer;opacity:.8}.appmap__zoom-button:hover{opacity:1}.appmap__zoom-bar{margin:3px 6px;position:relative;width:20px;height:90px;cursor:pointer}.appmap__zoom-bar:before{content:"";position:absolute;top:-3px;left:50%;bottom:-3px;margin-left:-3px;width:6px;background:#242c41;opacity:.8}.appmap__zoom-grab{position:absolute;border-radius:3px;left:0;width:100%;height:6px;background:#808b98;cursor:grab}.appmap__context-menu{position:absolute;top:0;left:0;user-select:none}.appmap__context-menu .dropdown-menu{background-color:#242c41;box-shadow:4px 4px 1px #010306;top:100%;left:0;z-index:1000;display:block;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none}.appmap__context-menu .dropdown-menu p{display:block;margin:0;padding:.25rem 1.5rem;color:#808b98;white-space:nowrap;font-style:italic}.appmap__context-menu .dropdown-menu .dropdown-item{display:block;border:0;width:100%;padding:.25rem 1.5rem;color:#eaeaea;cursor:pointer;white-space:nowrap;background-color:transparent}.appmap__context-menu .dropdown-menu .dropdown-item:hover{color:#e3e5e8;background-color:#364262;text-decoration:none}.appmap__component-diagram{font-size:75%}.appmap__component-diagram:not(:root){overflow:visible}.appmap__component-diagram .node.highlight rect,.appmap__component-diagram .node.highlight circle,.appmap__component-diagram .node.highlight ellipse,.appmap__component-diagram .node.highlight path,.appmap__component-diagram .node.highlight polygon{stroke-width:3px}.appmap__component-diagram .node .label{font-size:inherit;font-weight:700;line-height:1}.appmap__component-diagram .node .label__icon,.appmap__component-diagram .cluster .label__icon{cursor:pointer}.appmap__component-diagram .edgePath path{stroke-width:3px}.appmap__component-diagram .edgePath>path{fill:none}.appmap__component-diagram .edgePath marker path{stroke-width:1px;stroke-dasharray:1px,0px}.appmap__component-diagram .nodeLabels{pointer-events:none}.appmap__component-diagram .nodeLabels .package.dim{opacity:1}.appmap--theme-dark .appmap__component-diagram .node.dim .label{fill:#181a1d}.appmap--theme-dark .appmap__component-diagram .node.external-service{fill:#ebdf90}.appmap--theme-dark .appmap__component-diagram .node.external-service .label{fill:#010306}.appmap--theme-dark .appmap__component-diagram .node.external-service.dim{fill:#181914}.appmap--theme-dark .appmap__component-diagram .node.package{fill:#6fddd6}.appmap--theme-dark .appmap__component-diagram .node.package .label{fill:#010306}.appmap--theme-dark .appmap__component-diagram .node.package.dim{fill:#0c191b}.appmap--theme-dark .appmap__component-diagram .node.class{fill:#4362b1}.appmap--theme-dark .appmap__component-diagram .node.class.dim{fill:#080d17}.appmap--theme-dark .appmap__component-diagram .node.database{fill:#9c2fba}.appmap--theme-dark .appmap__component-diagram .node.database path{stroke:#010306}.appmap--theme-dark .appmap__component-diagram .node.database.dim>path{fill:#110718}.appmap--theme-dark .appmap__component-diagram .node.http,.appmap--theme-dark .appmap__component-diagram .node.route{fill:#542168}.appmap--theme-dark .appmap__component-diagram .node.http.dim,.appmap--theme-dark .appmap__component-diagram .node.route.dim{fill:#090610}.appmap--theme-dark .appmap__component-diagram .node.class[data-parent-type=http]{fill:#542168}.appmap--theme-dark .appmap__component-diagram .node.class[data-parent-type=http].dim{fill:#090610}.appmap--theme-dark .appmap__component-diagram .node.io{fill:#f92672}.appmap--theme-dark .appmap__component-diagram .node.io.dim{fill:#1a0711}.appmap--theme-dark .appmap__component-diagram .node .label{fill:#e3e5e8}.appmap--theme-dark .appmap__component-diagram .node.highlight rect,.appmap--theme-dark .appmap__component-diagram .node.highlight circle,.appmap--theme-dark .appmap__component-diagram .node.highlight ellipse,.appmap--theme-dark .appmap__component-diagram .node.highlight path,.appmap--theme-dark .appmap__component-diagram .node.highlight polygon{stroke:#ff07aa}.appmap--theme-dark .appmap__component-diagram .cluster rect{fill:none;stroke:#ff07aa;stroke-width:0}.appmap--theme-dark .appmap__component-diagram .cluster--bordered rect{stroke-width:2}.appmap--theme-dark .appmap__component-diagram .cluster--package rect{fill:#051514;stroke:#6fddd6}.appmap--theme-dark .appmap__component-diagram .cluster--http rect{fill:#000;stroke:#542168}.appmap--theme-dark .appmap__component-diagram .cluster--database rect{stroke:#9c2fba}.appmap--theme-dark .appmap__component-diagram .cluster .label{fill:#e3e5e8;font-size:1rem;font-weight:700}.appmap--theme-dark .appmap__component-diagram .edgePath.highlight path{stroke:#ff07aa}.appmap--theme-dark .appmap__component-diagram .edgePath.highlight marker{fill:#ff07aa}.appmap--theme-dark .appmap__component-diagram .edgePath.highlight--inbound path{stroke:#6fddd6}.appmap--theme-dark .appmap__component-diagram .edgePath.highlight--inbound marker{fill:#6fddd6}.appmap--theme-dark .appmap__component-diagram .edgePath.dim marker{fill:#05070c}.appmap--theme-dark .appmap__component-diagram .edgePath.dim path{stroke:#05070c}.appmap--theme-dark .appmap__component-diagram .edgePath path{stroke:#242c41}.appmap--theme-dark .appmap__component-diagram .edgePath:not(.highlight):not(.dim):hover path{stroke:#5b6fa3}.appmap--theme-dark .appmap__component-diagram .edgePath:not(.highlight):not(.dim):hover marker{fill:#5b6fa3}.appmap--theme-dark .appmap__component-diagram .edgePath marker{fill:#242c41}.appmap--theme-dark .appmap__component-diagram .nodeLabels{fill:#e3e5e8}.appmap--theme-dark .appmap__component-diagram .nodeLabels .dim{opacity:10%}.appmap--theme-dark .appmap__component-diagram .nodeLabels .package{fill:#010306}.appmap--theme-dark .appmap__component-diagram .nodeLabels .label__children-count{fill-opacity:.7}.appmap--theme-light .appmap__component-diagram .node.dim .label{fill:#fff}.appmap--theme-light .appmap__component-diagram .node.external-service{fill:#ebdf90}.appmap--theme-light .appmap__component-diagram .node.external-service .label{fill:#fff}.appmap--theme-light .appmap__component-diagram .node.external-service.dim{fill:#fdfcf4}.appmap--theme-light .appmap__component-diagram .node.package{fill:#008b69}.appmap--theme-light .appmap__component-diagram .node.package .label{fill:#fff}.appmap--theme-light .appmap__component-diagram .node.package.dim{fill:#e6f3f0}.appmap--theme-light .appmap__component-diagram .node.class{fill:#919191}.appmap--theme-light .appmap__component-diagram .node.class.dim{fill:#f4f4f4}.appmap--theme-light .appmap__component-diagram .node.database{fill:#9c2fba}.appmap--theme-light .appmap__component-diagram .node.database path{stroke:#fff}.appmap--theme-light .appmap__component-diagram .node.database.dim>path{fill:#f5eaf8}.appmap--theme-light .appmap__component-diagram .node.http,.appmap--theme-light .appmap__component-diagram .node.route{fill:#8e45aa}.appmap--theme-light .appmap__component-diagram .node.http.dim,.appmap--theme-light .appmap__component-diagram .node.route.dim{fill:#f4ecf7}.appmap--theme-light .appmap__component-diagram .node.class[data-parent-type=http]{fill:#8e45aa}.appmap--theme-light .appmap__component-diagram .node.class[data-parent-type=http].dim{fill:#f4ecf7}.appmap--theme-light .appmap__component-diagram .node.io{fill:#8685ef}.appmap--theme-light .appmap__component-diagram .node.io.dim{fill:#f3f3fd}.appmap--theme-light .appmap__component-diagram .node .label{fill:#fff}.appmap--theme-light .appmap__component-diagram .node.highlight rect,.appmap--theme-light .appmap__component-diagram .node.highlight circle,.appmap--theme-light .appmap__component-diagram .node.highlight ellipse,.appmap--theme-light .appmap__component-diagram .node.highlight path,.appmap--theme-light .appmap__component-diagram .node.highlight polygon{stroke:#474554}.appmap--theme-light .appmap__component-diagram .cluster rect{fill:none;stroke:#474554;stroke-width:0}.appmap--theme-light .appmap__component-diagram .cluster--bordered rect{stroke-width:2}.appmap--theme-light .appmap__component-diagram .cluster--package rect{fill:#000;stroke:#008b69}.appmap--theme-light .appmap__component-diagram .cluster--http rect{fill:#150a19;stroke:#8e45aa}.appmap--theme-light .appmap__component-diagram .cluster--database rect{stroke:#9c2fba}.appmap--theme-light .appmap__component-diagram .cluster .label{fill:#fff;font-size:1rem;font-weight:700}.appmap--theme-light .appmap__component-diagram .edgePath.highlight path{stroke:#474554}.appmap--theme-light .appmap__component-diagram .edgePath.highlight marker{fill:#474554}.appmap--theme-light .appmap__component-diagram .edgePath.highlight--inbound path{stroke:#008b69}.appmap--theme-light .appmap__component-diagram .edgePath.highlight--inbound marker{fill:#008b69}.appmap--theme-light .appmap__component-diagram .edgePath.dim marker{fill:#f3f5f6}.appmap--theme-light .appmap__component-diagram .edgePath.dim path{stroke:#f3f5f6}.appmap--theme-light .appmap__component-diagram .edgePath path{stroke:#889fa5}.appmap--theme-light .appmap__component-diagram .edgePath:not(.highlight):not(.dim):hover path{stroke:#dfe5e7}.appmap--theme-light .appmap__component-diagram .edgePath:not(.highlight):not(.dim):hover marker{fill:#dfe5e7}.appmap--theme-light .appmap__component-diagram .edgePath marker{fill:#889fa5}.appmap--theme-light .appmap__component-diagram .nodeLabels{fill:#fff}.appmap--theme-light .appmap__component-diagram .nodeLabels .dim{opacity:10%}.appmap--theme-light .appmap__component-diagram .nodeLabels .package{fill:#fff}.appmap--theme-light .appmap__component-diagram .nodeLabels .label__children-count{fill-opacity:.7}
|
|
2
|
-
/*# sourceMappingURL=
|
|
2
|
+
/*# sourceMappingURL=appmap.css.map */
|
package/built/html/appmap.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<html><head><title>
|
|
1
|
+
<html><head><title>AppMap Viewer</title><link rel="stylesheet" href="appmap.css"></head><body><div id="app"></div><script src="appmap.js" defer=""></script></body></html>
|