@appland/appmap 3.16.1 → 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 CHANGED
@@ -1,3 +1,16 @@
1
+ # [@appland/appmap-v3.17.0](https://github.com/applandinc/appmap-js/compare/@appland/appmap-v3.16.1...@appland/appmap-v3.17.0) (2022-01-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Don't prompt the user for confirmation if the process was obviously not found ([c1e7aea](https://github.com/applandinc/appmap-js/commit/c1e7aea7977b2e74b1b8f137b78435b980d0e997))
7
+ * Handle the case when no data is obtained from recording ([16b0a98](https://github.com/applandinc/appmap-js/commit/16b0a98b9676f7491144948c370d2f4c6eba60ff))
8
+
9
+
10
+ ### Features
11
+
12
+ * Shortcut the record 'open' step when running in the VSCode terminal ([85d7a75](https://github.com/applandinc/appmap-js/commit/85d7a754a2da457aa39719ebdd0f75416f04e3dd))
13
+
1
14
  # [@appland/appmap-v3.16.1](https://github.com/applandinc/appmap-js/compare/@appland/appmap-v3.16.0...@appland/appmap-v3.16.1) (2022-01-25)
2
15
 
3
16
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appland/appmap",
3
- "version": "3.16.1",
3
+ "version": "3.17.0",
4
4
  "description": "",
5
5
  "bin": "built/src/cli.js",
6
6
  "publishConfig": {
@@ -3,9 +3,10 @@ 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
8
  const supports_hyperlinks_1 = __importDefault(require("supports-hyperlinks"));
9
+ const path_1 = require("path");
9
10
  // See also: https://github.com/applandinc/scanner/pull/9/files#diff-3294a832ea2276e554177e0b3007cc2d401c082912c7fbde49fa09141bf1aed1R1
10
11
  function hyperlink(filePath, link) {
11
12
  const OSC = '\u001B]';
@@ -29,17 +30,24 @@ function hyperlink(filePath, link) {
29
30
  BEL,
30
31
  ].join('');
31
32
  }
33
+ function abspath(file) {
34
+ return path_1.resolve(process.cwd(), file);
35
+ }
36
+ exports.abspath = abspath;
32
37
  async function openInBrowser(appMapFile) {
33
38
  await serveAndOpenAppMap_1.default(appMapFile);
34
39
  }
35
40
  exports.openInBrowser = openInBrowser;
41
+ function vscodeURL(appMapFile) {
42
+ return path_1.join('vscode://file/', abspath(appMapFile));
43
+ }
44
+ exports.vscodeURL = vscodeURL;
36
45
  async function openInVSCode(appMapFile) {
37
- const link = 'vscode://file/' + appMapFile;
38
- console.log(hyperlink(appMapFile, link));
46
+ console.log(hyperlink(appMapFile, vscodeURL(appMapFile)));
39
47
  }
40
48
  exports.openInVSCode = openInVSCode;
41
49
  async function openInTool(appMapFile, toolId) {
42
- const link = `${toolId}://open?file=${appMapFile}`;
50
+ const link = `${toolId}://open?file=${abspath(appMapFile)}`;
43
51
  console.log(hyperlink(appMapFile, link));
44
52
  }
45
53
  exports.openInTool = openInTool;
@@ -1 +1 @@
1
- {"version":3,"file":"openers.js","sourceRoot":"","sources":["../../../../src/cmds/open/openers.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;AACtD,8EAAqD;AAErD,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;AAEM,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,4BAAkB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAFD,sCAEC;AAEM,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,MAAM,IAAI,GAAG,gBAAgB,GAAG,UAAU,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAHD,oCAGC;AAEM,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,MAAe;IAClE,MAAM,IAAI,GAAG,GAAG,MAAM,gBAAgB,UAAU,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAHD,gCAGC"}
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
- userInteraction_1.default.progress(`There are three options for viewing the AppMap. Please choose one (you can do this as many times as you'd like).`);
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,uCAAoE;AAQpE,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,yBAAE,CAAC,QAAQ,CACT,kHAAkH,CACnH,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,MAAM,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;KAC9B;AACH,CAAC;AAhBD,6BAgBC"}
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(`OK. Now I will try and connect to the AppMap recording agent.`);
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,CAAC,+DAA+D,CAAC,CAAC;IAC7E,yBAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAC5C,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;AA5BD,mDA4BC"}
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
- return Promise.all(pids.tcp.map(printPid));
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 { looksGood } = await userInteraction_1.default.prompt({
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;QAC3D,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC5C;aAAM;YACL,yBAAE,CAAC,KAAK,CAAC,4BAA4B,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC,CAAC;IAEH,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IACH,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;AAtED,gDAsEC"}
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
- userInteraction_1.default.success(`Recording has finished, with ${data.length} bytes of data.`);
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,IAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAE1E,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;AA7CD,kCA6CC"}
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"}
@@ -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
- await showAppMap_1.default(appMapFile);
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;IAC/B,CAAC,CAAC;IAEF,OAAO,oBAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAfW,QAAA,OAAO,WAelB"}
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.16.1",
3
+ "version": "3.17.0",
4
4
  "description": "",
5
5
  "bin": "built/src/cli.js",
6
6
  "publishConfig": {