@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
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.serveAndOpenAppMap = exports.serveAndOpenSequenceDiagram = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const http_1 = require("http");
|
|
9
|
+
const open_1 = __importDefault(require("open"));
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const url_1 = require("url");
|
|
12
|
+
const utils_1 = require("../utils");
|
|
13
|
+
const userInteraction_1 = __importDefault(require("../cmds/userInteraction"));
|
|
14
|
+
function mimeTypeOfName(filename) {
|
|
15
|
+
return ({
|
|
16
|
+
js: 'application/javascript',
|
|
17
|
+
css: 'text/css',
|
|
18
|
+
json: 'application/json',
|
|
19
|
+
map: 'application/json',
|
|
20
|
+
}[(0, path_1.extname)(filename)] || 'application/octet-stream');
|
|
21
|
+
}
|
|
22
|
+
async function serveAndOpen(file, resources, verifyInSubdir, onListen) {
|
|
23
|
+
userInteraction_1.default.progress(`Opening ${file}`);
|
|
24
|
+
const baseDir = (0, path_1.join)(__dirname, '..', '..', 'built', 'html');
|
|
25
|
+
if (!(await (0, utils_1.exists)((0, path_1.join)(baseDir, file))))
|
|
26
|
+
throw new Error(`File ${file} does not exist`);
|
|
27
|
+
const server = (0, http_1.createServer)(async (req, res) => {
|
|
28
|
+
const send404 = () => {
|
|
29
|
+
res.writeHead(404);
|
|
30
|
+
res.end();
|
|
31
|
+
};
|
|
32
|
+
const serveStaticFile = (dir, fileName, contentType) => {
|
|
33
|
+
const path = (0, path_1.isAbsolute)(fileName) ? fileName : (0, path_1.join)(dir, fileName);
|
|
34
|
+
if (verifyInSubdir && !path.startsWith(dir))
|
|
35
|
+
return send404();
|
|
36
|
+
if (!contentType)
|
|
37
|
+
contentType = mimeTypeOfName(fileName);
|
|
38
|
+
res.writeHead(200, 'OK', { 'Content-Type': contentType });
|
|
39
|
+
const fileStream = (0, fs_1.createReadStream)(path);
|
|
40
|
+
fileStream.pipe(res);
|
|
41
|
+
fileStream.on('open', function () {
|
|
42
|
+
if ((0, utils_1.verbose)()) {
|
|
43
|
+
console.log(`${path}: 200`);
|
|
44
|
+
}
|
|
45
|
+
res.writeHead(200);
|
|
46
|
+
});
|
|
47
|
+
fileStream.on('error', function (e) {
|
|
48
|
+
if ((0, utils_1.verbose)()) {
|
|
49
|
+
console.log(`${path}: 404 (${e})`);
|
|
50
|
+
}
|
|
51
|
+
send404();
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
if ((0, utils_1.verbose)()) {
|
|
56
|
+
console.log(req.url);
|
|
57
|
+
}
|
|
58
|
+
const requestUrl = (0, url_1.parse)(req.url);
|
|
59
|
+
const pathname = requestUrl.pathname;
|
|
60
|
+
if (pathname === '/') {
|
|
61
|
+
return serveStaticFile(baseDir, file, 'text/html');
|
|
62
|
+
}
|
|
63
|
+
else if (pathname === '/resource') {
|
|
64
|
+
const pathname = requestUrl.query;
|
|
65
|
+
if (pathname)
|
|
66
|
+
serveStaticFile(process.cwd(), decodeURIComponent(pathname));
|
|
67
|
+
else
|
|
68
|
+
send404();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
serveStaticFile(baseDir, (pathname || '/').slice(1));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
console.log(e.stack);
|
|
76
|
+
res.writeHead(500);
|
|
77
|
+
res.end(); // end the response so browsers don't hang
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
.listen(0, '127.0.0.1', () => {
|
|
81
|
+
const port = server.address().port;
|
|
82
|
+
const params = new URLSearchParams();
|
|
83
|
+
for (const [key, value] of Object.entries(resources)) {
|
|
84
|
+
params.append(key, value);
|
|
85
|
+
}
|
|
86
|
+
const url = new URL(`http://localhost:${port}/?${params.toString()}`);
|
|
87
|
+
onListen(url.toString());
|
|
88
|
+
})
|
|
89
|
+
.on('connection', function (socket) {
|
|
90
|
+
// Don't let the open socket keep the process alive.
|
|
91
|
+
socket.unref();
|
|
92
|
+
})
|
|
93
|
+
.unref();
|
|
94
|
+
}
|
|
95
|
+
exports.default = serveAndOpen;
|
|
96
|
+
async function serveAndOpenSequenceDiagram(diagramFile, verifyInSubdir, onListen) {
|
|
97
|
+
return new Promise((resolve) => {
|
|
98
|
+
serveAndOpen('sequenceDiagram.html', {
|
|
99
|
+
diagram: diagramFile,
|
|
100
|
+
}, verifyInSubdir, async (url) => {
|
|
101
|
+
onListen(url);
|
|
102
|
+
resolve(url);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
exports.serveAndOpenSequenceDiagram = serveAndOpenSequenceDiagram;
|
|
107
|
+
async function serveAndOpenAppMap(appMapFile, verifyInSubdir) {
|
|
108
|
+
return new Promise((resolve) => {
|
|
109
|
+
serveAndOpen('appmap.html', {
|
|
110
|
+
appmap: appMapFile,
|
|
111
|
+
}, verifyInSubdir, async (url) => {
|
|
112
|
+
await tryOpen(url);
|
|
113
|
+
resolve(url);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
exports.serveAndOpenAppMap = serveAndOpenAppMap;
|
|
118
|
+
async function tryOpen(url) {
|
|
119
|
+
const showMessage = () => userInteraction_1.default.warn(`\nWe could not open the browser automatically.\nOpen ${url} to view the content.\n`);
|
|
120
|
+
const cp = await (0, open_1.default)(url);
|
|
121
|
+
cp.once('error', showMessage);
|
|
122
|
+
cp.once('exit', (code, signal) => (code || signal) && showMessage());
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=serveAndOpen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serveAndOpen.js","sourceRoot":"","sources":["../../src/lib/serveAndOpen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.68.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"prettier --write"
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
|
-
"author": "",
|
|
29
|
+
"author": "AppLand, Inc",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@craftamap/esbuild-plugin-html": "^0.4.0",
|
|
33
33
|
"@types/fs-extra": "^9.0.13",
|
|
34
34
|
"@types/gitconfiglocal": "^2.0.1",
|
|
35
35
|
"@types/inquirer": "^9.0.3",
|
|
36
|
-
"@types/jest": "^
|
|
36
|
+
"@types/jest": "^29.4.1",
|
|
37
37
|
"@types/jest-sinon": "^1.0.2",
|
|
38
38
|
"@types/jsdom": "^16.2.13",
|
|
39
39
|
"@types/node": "^16",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"eslint-config-prettier": "^8.3.0",
|
|
49
49
|
"eslint-plugin-import": "^2.22.1",
|
|
50
50
|
"eslint-plugin-prettier": "^3.4.0",
|
|
51
|
-
"jest": "^
|
|
52
|
-
"jest-sinon": "^1.0
|
|
51
|
+
"jest": "^29.5.0",
|
|
52
|
+
"jest-sinon": "^1.1.0",
|
|
53
53
|
"lint-staged": "^10.5.4",
|
|
54
54
|
"memfs": "^3.4.13",
|
|
55
55
|
"openapi-types": "^12.1.0",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"sinon": "^11.1.2",
|
|
58
58
|
"tmp": "^0.2.1",
|
|
59
59
|
"tmp-promise": "^3.0.3",
|
|
60
|
-
"ts-jest": "^
|
|
60
|
+
"ts-jest": "^29.0.5",
|
|
61
61
|
"ts-node": "^10.9.1",
|
|
62
62
|
"ts-sinon": "^2.0.2",
|
|
63
63
|
"tsc": "^2.0.3",
|
|
@@ -108,6 +108,7 @@
|
|
|
108
108
|
"port-pid": "^0.0.7",
|
|
109
109
|
"pretty-bytes": "^5.6.0",
|
|
110
110
|
"ps-node": "^0.1.6",
|
|
111
|
+
"puppeteer": "^19.7.5",
|
|
111
112
|
"read-pkg-up": "^7.0.1",
|
|
112
113
|
"semver": "^7.3.5",
|
|
113
114
|
"strip-ansi": "^6.0.0",
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
const http_1 = require("http");
|
|
8
|
-
const open_1 = __importDefault(require("open"));
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const url_1 = require("url");
|
|
11
|
-
const utils_1 = require("../../utils");
|
|
12
|
-
const userInteraction_1 = __importDefault(require("../userInteraction"));
|
|
13
|
-
function mimeTypeOfName(filename) {
|
|
14
|
-
return ({
|
|
15
|
-
js: 'application/javascript',
|
|
16
|
-
css: 'text/css',
|
|
17
|
-
map: 'application/json',
|
|
18
|
-
}[(0, path_1.extname)(filename)] || 'application/octet-stream');
|
|
19
|
-
}
|
|
20
|
-
async function serveAndOpenAppMap(appMapFile) {
|
|
21
|
-
userInteraction_1.default.progress(`Opening ${appMapFile}`);
|
|
22
|
-
const baseDir = (0, path_1.join)(__dirname, '..', '..', '..', 'built', 'html');
|
|
23
|
-
const server = (0, http_1.createServer)(async (req, res) => {
|
|
24
|
-
const serveStaticFile = (fileName, contentType) => {
|
|
25
|
-
res.writeHead(200, 'OK', { 'Content-Type': contentType });
|
|
26
|
-
const fileStream = (0, fs_1.createReadStream)(fileName);
|
|
27
|
-
fileStream.pipe(res);
|
|
28
|
-
fileStream.on('open', function () {
|
|
29
|
-
if ((0, utils_1.verbose)()) {
|
|
30
|
-
console.log(`${fileName}: 200`);
|
|
31
|
-
}
|
|
32
|
-
res.writeHead(200);
|
|
33
|
-
});
|
|
34
|
-
fileStream.on('error', function (e) {
|
|
35
|
-
if ((0, utils_1.verbose)()) {
|
|
36
|
-
console.log(`${fileName}: 404`);
|
|
37
|
-
}
|
|
38
|
-
res.writeHead(404);
|
|
39
|
-
res.end();
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
try {
|
|
43
|
-
if ((0, utils_1.verbose)()) {
|
|
44
|
-
console.log(req.url);
|
|
45
|
-
}
|
|
46
|
-
var requestUrl = (0, url_1.parse)(req.url);
|
|
47
|
-
const pathname = requestUrl.pathname;
|
|
48
|
-
if (pathname === '/') {
|
|
49
|
-
return serveStaticFile((0, path_1.join)(baseDir, 'appmap.html'), 'text/html');
|
|
50
|
-
}
|
|
51
|
-
else if (pathname === '/appmap') {
|
|
52
|
-
const urlParams = new URLSearchParams(requestUrl.query);
|
|
53
|
-
const appMapFile = urlParams.get('file');
|
|
54
|
-
if (appMapFile) {
|
|
55
|
-
return serveStaticFile(appMapFile, 'application/json');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else if (pathname && !pathname.startsWith('.')) {
|
|
59
|
-
const path = (0, path_1.join)(baseDir, pathname);
|
|
60
|
-
return serveStaticFile(path, mimeTypeOfName(path));
|
|
61
|
-
}
|
|
62
|
-
if ((0, utils_1.verbose)()) {
|
|
63
|
-
console.log(`${pathname}: 404`);
|
|
64
|
-
}
|
|
65
|
-
res.writeHead(404);
|
|
66
|
-
res.end();
|
|
67
|
-
}
|
|
68
|
-
catch (e) {
|
|
69
|
-
console.log(e.stack);
|
|
70
|
-
res.writeHead(500);
|
|
71
|
-
res.end(); // end the response so browsers don't hang
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
.listen(0, '127.0.0.1', () => {
|
|
75
|
-
const port = server.address().port;
|
|
76
|
-
tryOpen(`http://localhost:${port}/?appmap=${encodeURIComponent(appMapFile)}`);
|
|
77
|
-
})
|
|
78
|
-
.on('connection', function (socket) {
|
|
79
|
-
// Don't let the open socket keep the process alive.
|
|
80
|
-
socket.unref();
|
|
81
|
-
})
|
|
82
|
-
.unref();
|
|
83
|
-
}
|
|
84
|
-
exports.default = serveAndOpenAppMap;
|
|
85
|
-
async function tryOpen(url) {
|
|
86
|
-
const showMessage = () => userInteraction_1.default.warn(`\nWe could not open the browser automatically.\nOpen ${url} to see the AppMap.\n`);
|
|
87
|
-
const cp = await (0, open_1.default)(url);
|
|
88
|
-
cp.once('error', showMessage);
|
|
89
|
-
cp.once('exit', (code, signal) => (code || signal) && showMessage());
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=serveAndOpenAppMap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serveAndOpenAppMap.js","sourceRoot":"","sources":["../../../src/cmds/open/serveAndOpenAppMap.ts"],"names":[],"mappings":"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"}
|