@appland/appmap 3.15.0 → 3.17.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 +34 -0
- package/built/appmap.html +1 -1
- package/built/main.js.map +1 -1
- package/built/package.json +3 -1
- package/built/src/cmds/open/openers.js +14 -7
- package/built/src/cmds/open/openers.js.map +1 -1
- package/built/src/cmds/open/showAppMap.js +13 -1
- package/built/src/cmds/open/showAppMap.js.map +1 -1
- package/built/src/cmds/record/configureRemainingRequestOptions.js +1 -2
- package/built/src/cmds/record/configureRemainingRequestOptions.js.map +1 -1
- package/built/src/cmds/record/confirmProcessCharacteristics.js +13 -8
- package/built/src/cmds/record/confirmProcessCharacteristics.js.map +1 -1
- package/built/src/cmds/record/createRecording.js +7 -1
- package/built/src/cmds/record/createRecording.js.map +1 -1
- package/built/src/cmds/record/intro.js +5 -5
- package/built/src/cmds/record/record.js +3 -1
- package/built/src/cmds/record/record.js.map +1 -1
- package/package.json +4 -2
- package/built/src/cmds/record/validate.js +0 -2
- package/built/src/cmds/record/validate.js.map +0 -1
package/built/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/src/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"@appland/models": "workspace:^1.8.1",
|
|
72
72
|
"@sidvind/better-ajv-errors": "^0.9.1",
|
|
73
73
|
"@types/moo": "^0.5.5",
|
|
74
|
+
"JSONStream": "^1.3.5",
|
|
74
75
|
"ajv": "^8.6.3",
|
|
75
76
|
"applicationinsights": "^2.1.4",
|
|
76
77
|
"async": "^3.2.0",
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
"port-pid": "^0.0.7",
|
|
95
96
|
"ps-node": "^0.1.6",
|
|
96
97
|
"semver": "^7.3.5",
|
|
98
|
+
"supports-hyperlinks": "^2.2.0",
|
|
97
99
|
"w3c-xmlserializer": "^2.0.0",
|
|
98
100
|
"yargs": "^17.1.1"
|
|
99
101
|
}
|
|
@@ -3,16 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.openInTool = exports.openInVSCode = exports.openInBrowser = void 0;
|
|
6
|
+
exports.openInTool = exports.openInVSCode = exports.vscodeURL = exports.openInBrowser = exports.abspath = void 0;
|
|
7
7
|
const serveAndOpenAppMap_1 = __importDefault(require("./serveAndOpenAppMap"));
|
|
8
|
+
const supports_hyperlinks_1 = __importDefault(require("supports-hyperlinks"));
|
|
9
|
+
const path_1 = require("path");
|
|
8
10
|
// See also: https://github.com/applandinc/scanner/pull/9/files#diff-3294a832ea2276e554177e0b3007cc2d401c082912c7fbde49fa09141bf1aed1R1
|
|
9
11
|
function hyperlink(filePath, link) {
|
|
10
12
|
const OSC = '\u001B]';
|
|
11
13
|
const BEL = '\u0007';
|
|
12
14
|
const SEP = ';';
|
|
13
|
-
|
|
14
|
-
const supportsHyperlinks = require('supports-hyperlinks');
|
|
15
|
-
if (!supportsHyperlinks.stdout) {
|
|
15
|
+
if (!supports_hyperlinks_1.default.stdout) {
|
|
16
16
|
return filePath;
|
|
17
17
|
}
|
|
18
18
|
return [
|
|
@@ -30,17 +30,24 @@ function hyperlink(filePath, link) {
|
|
|
30
30
|
BEL,
|
|
31
31
|
].join('');
|
|
32
32
|
}
|
|
33
|
+
function abspath(file) {
|
|
34
|
+
return path_1.resolve(process.cwd(), file);
|
|
35
|
+
}
|
|
36
|
+
exports.abspath = abspath;
|
|
33
37
|
async function openInBrowser(appMapFile) {
|
|
34
38
|
await serveAndOpenAppMap_1.default(appMapFile);
|
|
35
39
|
}
|
|
36
40
|
exports.openInBrowser = openInBrowser;
|
|
41
|
+
function vscodeURL(appMapFile) {
|
|
42
|
+
return path_1.join('vscode://file/', abspath(appMapFile));
|
|
43
|
+
}
|
|
44
|
+
exports.vscodeURL = vscodeURL;
|
|
37
45
|
async function openInVSCode(appMapFile) {
|
|
38
|
-
|
|
39
|
-
console.log(hyperlink(appMapFile, link));
|
|
46
|
+
console.log(hyperlink(appMapFile, vscodeURL(appMapFile)));
|
|
40
47
|
}
|
|
41
48
|
exports.openInVSCode = openInVSCode;
|
|
42
49
|
async function openInTool(appMapFile, toolId) {
|
|
43
|
-
const link = `${toolId}://open?file=${appMapFile}`;
|
|
50
|
+
const link = `${toolId}://open?file=${abspath(appMapFile)}`;
|
|
44
51
|
console.log(hyperlink(appMapFile, link));
|
|
45
52
|
}
|
|
46
53
|
exports.openInTool = openInTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openers.js","sourceRoot":"","sources":["../../../../src/cmds/open/openers.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;
|
|
1
|
+
{"version":3,"file":"openers.js","sourceRoot":"","sources":["../../../../src/cmds/open/openers.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;AACtD,8EAAqD;AACrD,+BAAqC;AAErC,uIAAuI;AACvI,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;QACL,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,IAAI;QACJ,GAAG;QACH,QAAQ;QACR,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;KACJ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,cAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAFD,0BAEC;AAEM,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,4BAAkB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAFD,sCAEC;AAED,SAAgB,SAAS,CAAC,UAAkB;IAC1C,OAAO,WAAI,CAAC,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"}
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
6
7
|
const userInteraction_1 = __importDefault(require("../userInteraction"));
|
|
7
8
|
const openers_1 = require("./openers");
|
|
8
9
|
const Openers = [
|
|
@@ -13,7 +14,14 @@ const Openers = [
|
|
|
13
14
|
{ name: 'RubyMine', toolId: 'x-mine', fn: openers_1.openInTool },
|
|
14
15
|
];
|
|
15
16
|
async function showAppMap(appMapFile) {
|
|
16
|
-
|
|
17
|
+
const termProgram = process.env.TERM_PROGRAM;
|
|
18
|
+
if (process.platform === 'darwin') {
|
|
19
|
+
if (termProgram === 'vscode') {
|
|
20
|
+
child_process_1.spawn('code', [openers_1.abspath(appMapFile)]);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
userInteraction_1.default.progress(`There are multiple options for viewing the AppMap. Please choose one (you can do this as many times as you'd like).`);
|
|
17
25
|
const { outputTool } = await userInteraction_1.default.prompt({
|
|
18
26
|
type: 'list',
|
|
19
27
|
name: 'outputTool',
|
|
@@ -22,7 +30,11 @@ async function showAppMap(appMapFile) {
|
|
|
22
30
|
});
|
|
23
31
|
const opener = Openers.find((o) => o.name === outputTool);
|
|
24
32
|
if (opener) {
|
|
33
|
+
console.log();
|
|
34
|
+
console.log(`Click this link to open the AppMap in ${outputTool}:`);
|
|
35
|
+
console.log();
|
|
25
36
|
await opener.fn(appMapFile, opener.toolId);
|
|
37
|
+
console.log();
|
|
26
38
|
await showAppMap(appMapFile);
|
|
27
39
|
}
|
|
28
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"showAppMap.js","sourceRoot":"","sources":["../../../../src/cmds/open/showAppMap.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"showAppMap.js","sourceRoot":"","sources":["../../../../src/cmds/open/showAppMap.ts"],"names":[],"mappings":";;;;;AAAA,iDAAsC;AACtC,yEAAoC;AACpC,uCAA6E;AAQ7E,MAAM,OAAO,GAAa;IACxB,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,uBAAa,EAAE;IAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,sBAAY,EAAE;IACrC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAU,EAAE;IACpD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,oBAAU,EAAE;IACtD,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,oBAAU,EAAE;CACvD,CAAC;AAEa,KAAK,UAAU,UAAU,CAAC,UAAkB;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACjC,IAAI,WAAW,KAAK,QAAQ,EAAE;YAC5B,qBAAK,CAAC,MAAM,EAAE,CAAC,iBAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO;SACR;KACF;IAED,yBAAE,CAAC,QAAQ,CACT,qHAAqH,CACtH,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;KACrD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;KAC9B;AACH,CAAC;AA5BD,6BA4BC"}
|
|
@@ -19,8 +19,7 @@ async function configureRemainingRequestOptions(requestOptions) {
|
|
|
19
19
|
default: false,
|
|
20
20
|
});
|
|
21
21
|
requestOptions.protocol = useSSL ? 'https:' : 'http:';
|
|
22
|
-
userInteraction_1.default.progress(`
|
|
23
|
-
userInteraction_1.default.progress(`Here's the URL I will use:\n`);
|
|
22
|
+
userInteraction_1.default.progress(`Here's the URL I will use to try and connect to the AppMap agent:\n`);
|
|
24
23
|
userInteraction_1.default.progress(`${requestOptions.protocol}//${requestOptions.hostname}:${requestOptions.port}${requestOptions.path}_appmap/record`);
|
|
25
24
|
userInteraction_1.default.progress('');
|
|
26
25
|
await ready_1.default();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureRemainingRequestOptions.js","sourceRoot":"","sources":["../../../../src/cmds/record/configureRemainingRequestOptions.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,oDAA4B;AAEb,KAAK,UAAU,gCAAgC,CAC5D,cAA8B;IAE9B,cAAc,CAAC,IAAI,GAAG,CACpB,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gIAAgI;QACzI,OAAO,EAAE,GAAG;KACb,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;IAEb,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtD,yBAAE,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"configureRemainingRequestOptions.js","sourceRoot":"","sources":["../../../../src/cmds/record/configureRemainingRequestOptions.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,oDAA4B;AAEb,KAAK,UAAU,gCAAgC,CAC5D,cAA8B;IAE9B,cAAc,CAAC,IAAI,GAAG,CACpB,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gIAAgI;QACzI,OAAO,EAAE,GAAG;KACb,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;IAEb,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtD,yBAAE,CAAC,QAAQ,CACT,qEAAqE,CACtE,CAAC;IACF,yBAAE,CAAC,QAAQ,CACT,GAAG,cAAc,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,gBAAgB,CACpH,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,eAAK,EAAE,CAAC;AAChB,CAAC;AA7BD,mDA6BC"}
|
|
@@ -35,21 +35,26 @@ using a reverse-lookup by port number.`);
|
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
-
await port_pid_1.default(requestOptions.port).then(async (pids) => {
|
|
38
|
+
const pids = await port_pid_1.default(requestOptions.port).then(async (pids) => {
|
|
39
39
|
if (pids && pids.tcp.length > 0) {
|
|
40
|
-
|
|
40
|
+
await Promise.all(pids.tcp.map(printPid));
|
|
41
|
+
return pids;
|
|
41
42
|
}
|
|
42
43
|
else {
|
|
43
44
|
userInteraction_1.default.error(`No process found on port ${requestOptions.port}`);
|
|
44
45
|
}
|
|
45
46
|
});
|
|
47
|
+
async function confirm() {
|
|
48
|
+
const { looksGood } = await userInteraction_1.default.prompt({
|
|
49
|
+
type: 'confirm',
|
|
50
|
+
name: 'looksGood',
|
|
51
|
+
message: `Is this your server running at localhost:${requestOptions.port}?`,
|
|
52
|
+
default: 'y',
|
|
53
|
+
});
|
|
54
|
+
return looksGood;
|
|
55
|
+
}
|
|
46
56
|
userInteraction_1.default.progress('');
|
|
47
|
-
const
|
|
48
|
-
type: 'confirm',
|
|
49
|
-
name: 'looksGood',
|
|
50
|
-
message: 'Does this look right?',
|
|
51
|
-
default: 'y',
|
|
52
|
-
});
|
|
57
|
+
const looksGood = pids && (await confirm());
|
|
53
58
|
if (!looksGood) {
|
|
54
59
|
const { reconfigureOrRetry } = await userInteraction_1.default.prompt({
|
|
55
60
|
type: 'list',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmProcessCharacteristics.js","sourceRoot":"","sources":["../../../../src/cmds/record/confirmProcessCharacteristics.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AACpC,wDAA+B;AAC/B,sDAAyB;AAEzB,kFAA0D;AAC1D,oDAA4B;AAEb,KAAK,UAAU,6BAA6B,CACzD,cAA8B;IAE9B,IAAI,cAAc,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3C,yBAAE,CAAC,QAAQ,CACT,yHAAyH,CAC1H,CAAC;QACF,OAAO;KACR;IAED,yBAAE,CAAC,QAAQ,CAAC;uCACyB,CAAC,CAAC;IACvC,yBAAE,CAAC,MAAM,GAAG,yCAAyC,CAAC;IAEtD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,iBAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,GAAQ,EAAE,UAAiB;gBACtD,IAAI,GAAG,EAAE;oBACP,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,GAAG,EAAE,CAAC,CAAC;oBAC7C,OAAO;iBACR;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACX,yBAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAMF,MAAM,kBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"confirmProcessCharacteristics.js","sourceRoot":"","sources":["../../../../src/cmds/record/confirmProcessCharacteristics.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AACpC,wDAA+B;AAC/B,sDAAyB;AAEzB,kFAA0D;AAC1D,oDAA4B;AAEb,KAAK,UAAU,6BAA6B,CACzD,cAA8B;IAE9B,IAAI,cAAc,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3C,yBAAE,CAAC,QAAQ,CACT,yHAAyH,CAC1H,CAAC;QACF,OAAO;KACR;IAED,yBAAE,CAAC,QAAQ,CAAC;uCACyB,CAAC,CAAC;IACvC,yBAAE,CAAC,MAAM,GAAG,yCAAyC,CAAC;IAEtD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,iBAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,GAAQ,EAAE,UAAiB;gBACtD,IAAI,GAAG,EAAE;oBACP,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,GAAG,EAAE,CAAC,CAAC;oBAC7C,OAAO;iBACR;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACX,yBAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAMF,MAAM,IAAI,GAAG,MAAM,kBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;QACxE,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;SACb;aAAM;YACL,yBAAE,CAAC,KAAK,CAAC,4BAA4B,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,OAAO;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C,cAAc,CAAC,IAAI,GAAG;YAC3E,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;YACjC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EACL,8IAA8I;SACjJ,CAAC,CAAC;QAEH,IAAI,kBAAkB,KAAK,aAAa,EAAE;YACxC,MAAM,8BAAoB,CAAC,cAAc,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,eAAK,EAAE,CAAC;SACf;QAED,MAAM,6BAA6B,CAAC,cAAc,CAAC,CAAC;KACrD;AACH,CAAC;AA5ED,gDA4EC"}
|
|
@@ -25,7 +25,13 @@ async function createRecording(requestOptions) {
|
|
|
25
25
|
default: 'y',
|
|
26
26
|
});
|
|
27
27
|
const data = await rr.stop();
|
|
28
|
-
|
|
28
|
+
if (data) {
|
|
29
|
+
userInteraction_1.default.success(`Recording has finished, with ${data.length} bytes of data.`);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
userInteraction_1.default.warn(`Recording was stopped, but no data was obtained.`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
29
35
|
const { appMapName } = await userInteraction_1.default.prompt({
|
|
30
36
|
type: 'input',
|
|
31
37
|
name: 'appMapName',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/createRecording.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,wEAAgD;AAChD,2BAAoC;AAErB,KAAK,UAAU,eAAe,CAC3C,cAA8B;IAE9B,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC;IAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,yBAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACtC,yBAAE,CAAC,QAAQ,CACT,+JAA+J,CAChK,CAAC;IAEF,yBAAE,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAElC,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,yBAAE,CAAC,OAAO,CAAC,gCAAgC,
|
|
1
|
+
{"version":3,"file":"createRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/createRecording.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,wEAAgD;AAChD,2BAAoC;AAErB,KAAK,UAAU,eAAe,CAC3C,cAA8B;IAE9B,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC;IAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,yBAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACtC,yBAAE,CAAC,QAAQ,CACT,+JAA+J,CAChK,CAAC;IAEF,yBAAE,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAElC,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,EAAE;QACR,yBAAE,CAAC,OAAO,CAAC,gCAAgC,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;KAC1E;SAAM;QACL,yBAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC5D,OAAO;KACR;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,gCAAgC;QACzC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,yBAAE,CAAC,MAAM,GAAG,uBAAuB,QAAQ,EAAE,CAAC;IAC9C,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAK,CAAC,CAAC;IAE9B,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlDD,kCAkDC"}
|
|
@@ -10,11 +10,11 @@ async function default_1() {
|
|
|
10
10
|
the instructions in the AppMap documentation. Choose the most suitable link here,
|
|
11
11
|
then configure and launch your app process. Press enter wen you're ready to continue.`);
|
|
12
12
|
userInteraction_1.default.progress(`
|
|
13
|
-
Rails:
|
|
14
|
-
Django:
|
|
15
|
-
Flask:
|
|
16
|
-
Java
|
|
17
|
-
|
|
13
|
+
Rails: https://appland.com/docs/reference/appmap-ruby.html#remote-recording
|
|
14
|
+
Django: https://appland.com/docs/reference/appmap-python.html#django
|
|
15
|
+
Flask: https://appland.com/docs/reference/appmap-python.html#flask
|
|
16
|
+
Java: https://appland.com/docs/reference/appmap-java.html#remote-recording
|
|
17
|
+
JavaScript: https://appland.com/docs/reference/appmap-agent-js.html#remote-recording
|
|
18
18
|
`);
|
|
19
19
|
return ready_1.default();
|
|
20
20
|
}
|
|
@@ -25,7 +25,9 @@ const handler = async (argv) => {
|
|
|
25
25
|
await configureConnection_1.default(requestOptions);
|
|
26
26
|
await testConnection_1.default(requestOptions);
|
|
27
27
|
const appMapFile = await createRecording_1.default(requestOptions);
|
|
28
|
-
|
|
28
|
+
if (appMapFile) {
|
|
29
|
+
await showAppMap_1.default(appMapFile);
|
|
30
|
+
}
|
|
29
31
|
};
|
|
30
32
|
return runCommand_1.default(commandFn);
|
|
31
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cmds/record/record.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAsC;AACtC,+DAAuC;AAEvC,oDAA4B;AAC5B,gFAAwD;AACxD,sEAA8C;AAC9C,wEAAgD;AAChD,oEAA4C;AAE/B,QAAA,OAAO,GAAG,QAAQ,CAAC;AACnB,QAAA,QAAQ,GACnB,mEAAmE,CAAC;AAE/D,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;IACpC,eAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,MAAM,eAAK,EAAE,CAAC;QAEd,IAAI,cAAc,GAAmB,EAAE,CAAC;QAExC,MAAM,6BAAmB,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,wBAAc,CAAC,cAAc,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,yBAAe,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,oBAAU,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cmds/record/record.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAsC;AACtC,+DAAuC;AAEvC,oDAA4B;AAC5B,gFAAwD;AACxD,sEAA8C;AAC9C,wEAAgD;AAChD,oEAA4C;AAE/B,QAAA,OAAO,GAAG,QAAQ,CAAC;AACnB,QAAA,QAAQ,GACnB,mEAAmE,CAAC;AAE/D,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;IACpC,eAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,MAAM,eAAK,EAAE,CAAC;QAEd,IAAI,cAAc,GAAmB,EAAE,CAAC;QAExC,MAAM,6BAAmB,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,wBAAc,CAAC,cAAc,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,yBAAe,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE;YACd,MAAM,oBAAU,CAAC,UAAU,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,OAAO,oBAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/src/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -66,11 +66,12 @@
|
|
|
66
66
|
"vuex"
|
|
67
67
|
],
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@appland/components": "1.
|
|
69
|
+
"@appland/components": "1.21.0",
|
|
70
70
|
"@appland/diagrams": "1.5.1",
|
|
71
71
|
"@appland/models": "^1.8.1",
|
|
72
72
|
"@sidvind/better-ajv-errors": "^0.9.1",
|
|
73
73
|
"@types/moo": "^0.5.5",
|
|
74
|
+
"JSONStream": "^1.3.5",
|
|
74
75
|
"ajv": "^8.6.3",
|
|
75
76
|
"applicationinsights": "^2.1.4",
|
|
76
77
|
"async": "^3.2.0",
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
"port-pid": "^0.0.7",
|
|
95
96
|
"ps-node": "^0.1.6",
|
|
96
97
|
"semver": "^7.3.5",
|
|
98
|
+
"supports-hyperlinks": "^2.2.0",
|
|
97
99
|
"w3c-xmlserializer": "^2.0.0",
|
|
98
100
|
"yargs": "^17.1.1"
|
|
99
101
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/cmds/record/validate.ts"],"names":[],"mappings":""}
|