@appland/appmap 3.34.0 → 3.35.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 +12 -0
- package/built/appmap.html +1 -1
- package/built/cmds/record/testCaseRecording.js +12 -10
- package/built/cmds/record/testCaseRecording.js.map +1 -1
- package/built/fingerprint/fingerprintWatchCommand.js +12 -10
- package/built/fingerprint/fingerprintWatchCommand.js.map +1 -1
- package/built/main.js.map +1 -1
- package/package.json +1 -1
|
@@ -52,17 +52,17 @@ class TestCaseRecording {
|
|
|
52
52
|
if (maxTime)
|
|
53
53
|
userInteraction_1.default.progress(`Running tests for up to ${maxTime} seconds`);
|
|
54
54
|
let waitTime = maxTime;
|
|
55
|
-
async function waitForProcess(
|
|
56
|
-
const commandStr =
|
|
55
|
+
async function waitForProcess(childProcess) {
|
|
56
|
+
const commandStr = childProcess.spawnargs.join(' ');
|
|
57
57
|
const startTime = Date.now();
|
|
58
58
|
return new Promise((resolve) => {
|
|
59
|
-
var _a, _b;
|
|
59
|
+
var _a, _b, _c, _d;
|
|
60
60
|
let reported = false;
|
|
61
61
|
let interruptTimeout;
|
|
62
62
|
function interrupt() {
|
|
63
|
-
if (
|
|
63
|
+
if (childProcess.pid) {
|
|
64
64
|
userInteraction_1.default.progress(`Stopping test command after ${maxTime} seconds: ${commandStr}`);
|
|
65
|
-
(0, process_1.kill)(
|
|
65
|
+
(0, process_1.kill)(childProcess.pid, 'SIGTERM');
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
const output = [];
|
|
@@ -82,14 +82,16 @@ Test command failed with status code ${exitCode}: ${commandStr}`);
|
|
|
82
82
|
}
|
|
83
83
|
resolve({ exitCode, output: output.join() });
|
|
84
84
|
}
|
|
85
|
-
if (
|
|
86
|
-
return report(
|
|
85
|
+
if (childProcess.exitCode)
|
|
86
|
+
return report(childProcess.exitCode);
|
|
87
87
|
const onData = (data) => {
|
|
88
88
|
output.push(data.toString());
|
|
89
89
|
};
|
|
90
|
-
(_a =
|
|
91
|
-
(_b =
|
|
92
|
-
|
|
90
|
+
(_a = childProcess.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
|
|
91
|
+
(_b = childProcess.stderr) === null || _b === void 0 ? void 0 : _b.pipe(process.stderr);
|
|
92
|
+
(_c = childProcess.stdout) === null || _c === void 0 ? void 0 : _c.on('data', onData);
|
|
93
|
+
(_d = childProcess.stderr) === null || _d === void 0 ? void 0 : _d.on('data', onData);
|
|
94
|
+
childProcess.on('exit', report);
|
|
93
95
|
if (waitTime) {
|
|
94
96
|
interruptTimeout = setTimeout(interrupt, waitTime * 1000);
|
|
95
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCaseRecording.js","sourceRoot":"","sources":["../../../src/cmds/record/testCaseRecording.ts"],"names":[],"mappings":";;;;;AAAA,iDAA0D;AAC1D,qCAAyC;AACzC,uCAA8C;AAC9C,yEAAoC;AACpC,mDAKyB;AACzB,mDAAqE;AAErE,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,IAAI,iBAAiB,GAAmB,EAAE,CAAC;AAE3C,MAAM,kBAAkB,GAA6B;IACnD,OAAO,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,wBAAwB,CAAC;CACpE,CAAC;AAEF,MAAqB,iBAAiB;IACpC,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpC,IAAI,OAAO,CAAC,GAAG;gBAAE,IAAA,cAAI,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,YAAY,GAAG,EAAE,CAAC;QAClB,iBAAiB,GAAG,EAAE,CAAC;QAEvB,IAAI,YAAY,GAAG,CAAC,MAAM,IAAA,gCAAgB,EACxC,8BAA8B,EAC9B,EAAE,CACH,CAAkB,CAAC;QAEpB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAErD,IAAI,IAAA,eAAO,GAAE,EAAE;YACb,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC,CACxE,CAAC;YACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBACvD,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBACvC,IAAI,EAAE,CAAC;YAEV,MAAM,OAAO,CAAC,GAAG,CACf,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAC5C,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;qBACxC,CAAC,CAAC;oBACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;SACH;QAED,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAkB;QACrC,IAAI,OAAO,GAAuB,CAAC,MAAM,IAAA,2BAAW,EAClD,yBAAyB,EACzB,CAAC,CAAC,CACH,CAAW,CAAC;QAEb,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,OAAO,GAAG,SAAS,CAAC;QAExC,IAAI,OAAO;YAAE,yBAAE,CAAC,QAAQ,CAAC,2BAA2B,OAAO,UAAU,CAAC,CAAC;QAEvE,IAAI,QAAQ,GAAG,OAAO,CAAC;QACvB,KAAK,UAAU,cAAc,CAC3B,
|
|
1
|
+
{"version":3,"file":"testCaseRecording.js","sourceRoot":"","sources":["../../../src/cmds/record/testCaseRecording.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const chokidar = require('chokidar');
|
|
3
3
|
const fs = require('fs-extra');
|
|
4
4
|
const path = require('path');
|
|
5
|
-
const { verbose } = require('../utils');
|
|
5
|
+
const { verbose, listAppMapFiles } = require('../utils');
|
|
6
6
|
const FingerprintQueue = require('./fingerprintQueue');
|
|
7
7
|
class FingerprintWatchCommand {
|
|
8
8
|
constructor(directory) {
|
|
@@ -20,16 +20,18 @@ class FingerprintWatchCommand {
|
|
|
20
20
|
this.pidfilePath = null;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
execute() {
|
|
23
|
+
async execute() {
|
|
24
|
+
this.fpQueue = new FingerprintQueue();
|
|
25
|
+
this.fpQueue.setCounterFn(() => {
|
|
26
|
+
this.numProcessed += 1;
|
|
27
|
+
});
|
|
28
|
+
// Index existing AppMap files
|
|
29
|
+
await listAppMapFiles(this.directory, (file) => this.fpQueue.push(file));
|
|
30
|
+
this.fpQueue.process();
|
|
31
|
+
this.watcher = chokidar.watch(`${this.directory}/**/*.appmap.json`, {
|
|
32
|
+
ignoreInitial: true,
|
|
33
|
+
});
|
|
24
34
|
return new Promise((resolve) => {
|
|
25
|
-
this.fpQueue = new FingerprintQueue();
|
|
26
|
-
this.fpQueue.setCounterFn(() => {
|
|
27
|
-
this.numProcessed += 1;
|
|
28
|
-
});
|
|
29
|
-
this.fpQueue.process();
|
|
30
|
-
this.watcher = chokidar.watch(`${this.directory}/**/*.appmap.json`, {
|
|
31
|
-
ignoreInitial: true,
|
|
32
|
-
});
|
|
33
35
|
this.watcher
|
|
34
36
|
.on('add', this.added.bind(this))
|
|
35
37
|
.on('change', this.changed.bind(this))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvD,MAAM,uBAAuB;IAC3B,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,mBAAmB,EAAE;YAClE,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO;iBACT,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAChC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,IAAI;QACV,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD;QACD,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CACV,uBAAuB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CACrE,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,IAAI;QACV,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC"}
|