@appland/appmap 3.32.2 → 3.34.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 +27 -0
- package/built/appmap.html +1 -1
- package/built/cmds/agentInstaller/install-agent.js +2 -1
- package/built/cmds/agentInstaller/install-agent.js.map +1 -1
- package/built/cmds/errors.js +8 -1
- package/built/cmds/errors.js.map +1 -1
- package/built/cmds/open/serveAndOpenAppMap.js +1 -1
- package/built/cmds/open/serveAndOpenAppMap.js.map +1 -1
- package/built/cmds/record/recordContext.js +55 -1
- package/built/cmds/record/recordContext.js.map +1 -1
- package/built/cmds/record/state/testCasesComplete.js +14 -1
- package/built/cmds/record/state/testCasesComplete.js.map +1 -1
- package/built/cmds/record/state/testCasesRunning.js +2 -8
- package/built/cmds/record/state/testCasesRunning.js.map +1 -1
- package/built/cmds/record/testCaseRecording.js +17 -9
- package/built/cmds/record/testCaseRecording.js.map +1 -1
- package/built/cmds/userInteraction.js +14 -0
- package/built/cmds/userInteraction.js.map +1 -1
- package/built/lib/ticket/openTicket.js +91 -0
- package/built/lib/ticket/openTicket.js.map +1 -0
- package/built/lib/ticket/zendesk.js +85 -0
- package/built/lib/ticket/zendesk.js.map +1 -0
- package/built/main.js.map +1 -1
- package/package.json +5 -3
|
@@ -15,6 +15,7 @@ const installers_1 = require("./installers");
|
|
|
15
15
|
const telemetryUtil_1 = require("./telemetryUtil");
|
|
16
16
|
const projectConfiguration_1 = require("./projectConfiguration");
|
|
17
17
|
const commandRunner_1 = require("./commandRunner");
|
|
18
|
+
const openTicket_1 = require("../../lib/ticket/openTicket");
|
|
18
19
|
class InstallerError {
|
|
19
20
|
constructor(error, duration, project) {
|
|
20
21
|
this.duration = duration;
|
|
@@ -168,8 +169,8 @@ const _handler = async (args) => {
|
|
|
168
169
|
errors.push(installerError);
|
|
169
170
|
}
|
|
170
171
|
if (errors.length) {
|
|
172
|
+
await (0, openTicket_1.openTicket)(errors.map((e) => e.message));
|
|
171
173
|
const reason = new Error(errors.map((e) => e.message).join('\n'));
|
|
172
|
-
console.log(reason.message);
|
|
173
174
|
return { exitCode: 1, err: reason };
|
|
174
175
|
}
|
|
175
176
|
return { exitCode: 0, err: null };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-agent.js","sourceRoot":"","sources":["../../../src/cmds/agentInstaller/install-agent.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,2BAAoC;AACpC,sCAKmB;AACnB,uCAA4D;AAC5D,wFAAgE;AAChE,kDAA0B;AAC1B,yEAAoC;AACpC,gEAAwC;AACxC,6CAA0C;AAC1C,mDAAuD;AACvD,iEAA2E;AAE3E,mDAA6C;
|
|
1
|
+
{"version":3,"file":"install-agent.js","sourceRoot":"","sources":["../../../src/cmds/agentInstaller/install-agent.ts"],"names":[],"mappings":"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"}
|
package/built/cmds/errors.js
CHANGED
|
@@ -3,7 +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
|
-
exports.ChildProcessError = exports.ValidationError = exports.AbortError = exports.InvalidPathError = void 0;
|
|
6
|
+
exports.ChildProcessError = exports.HttpError = exports.ValidationError = exports.AbortError = exports.InvalidPathError = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const utils_1 = require("../utils");
|
|
9
9
|
class InvalidPathError extends Error {
|
|
@@ -20,6 +20,13 @@ exports.AbortError = AbortError;
|
|
|
20
20
|
class ValidationError extends Error {
|
|
21
21
|
}
|
|
22
22
|
exports.ValidationError = ValidationError;
|
|
23
|
+
class HttpError extends Error {
|
|
24
|
+
constructor(message, response) {
|
|
25
|
+
super(message);
|
|
26
|
+
this.response = response;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.HttpError = HttpError;
|
|
23
30
|
class ChildProcessError extends Error {
|
|
24
31
|
constructor(command, output, code) {
|
|
25
32
|
super([
|
package/built/cmds/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cmds/errors.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAqB,OAAe,EAAW,IAAa;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,YAAO,GAAP,OAAO,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAS;IAE5D,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AACxC,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cmds/errors.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAqB,OAAe,EAAW,IAAa;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,YAAO,GAAP,OAAO,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAS;IAE5D,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AACxC,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C;AAS7C,MAAa,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe,EAAW,QAA4B;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,aAAQ,GAAR,QAAQ,CAAoB;IAElE,CAAC;CACF;AAJD,8BAIC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YACW,OAAe,EACf,MAAc,EACd,IAAoB;QAE7B,KAAK,CACH;YACE,gDAAgD,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;YACtE,IAAI,IAAI,gCAAgC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YAC3D,MAAM,IAAI,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;QAZO,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAgB;IAW/B,CAAC;CACF;AAhBD,8CAgBC"}
|
|
@@ -15,7 +15,7 @@ async function serveAndOpenAppMap(appMapFile) {
|
|
|
15
15
|
const builtDir = (0, path_1.join)(__dirname, '../../../built');
|
|
16
16
|
const baseDir = (await (0, utils_1.exists)(builtDir))
|
|
17
17
|
? builtDir
|
|
18
|
-
: (0, path_1.join)(__dirname, '
|
|
18
|
+
: (0, path_1.join)(__dirname, '..', '..');
|
|
19
19
|
const server = (0, http_1.createServer)(async (req, res) => {
|
|
20
20
|
// Once a request is received, the server can be closed.
|
|
21
21
|
// The socket will remain open for a while as it serves requests.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serveAndOpenAppMap.js","sourceRoot":"","sources":["../../../src/cmds/open/serveAndOpenAppMap.ts"],"names":[],"mappings":";;;;;AAAA,2BAAsC;AACtC,+BAAoD;AAEpD,gDAAwB;AACxB,+BAA4B;AAC5B,6BAA4B;AAC5B,uCAA8C;AAC9C,yEAAoC;AAErB,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACjE,yBAAE,CAAC,QAAQ,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"serveAndOpenAppMap.js","sourceRoot":"","sources":["../../../src/cmds/open/serveAndOpenAppMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,23 @@ 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.RecordProcessResult = void 0;
|
|
6
7
|
const countAppMaps_1 = __importDefault(require("./action/countAppMaps"));
|
|
7
8
|
const configuration_1 = require("./configuration");
|
|
9
|
+
class RecordProcessResult {
|
|
10
|
+
constructor(_env, command, exitCode, output) {
|
|
11
|
+
this._env = _env;
|
|
12
|
+
this.command = command;
|
|
13
|
+
this.exitCode = exitCode;
|
|
14
|
+
this.output = output;
|
|
15
|
+
}
|
|
16
|
+
get env() {
|
|
17
|
+
return Object.fromEntries(Object.entries(this._env).filter(([k, _]) => {
|
|
18
|
+
return k.startsWith('APPMAP') && !k.includes('KEY');
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.RecordProcessResult = RecordProcessResult;
|
|
8
23
|
class RecordContext {
|
|
9
24
|
constructor(appMapDir) {
|
|
10
25
|
this.appMapDir = appMapDir;
|
|
@@ -20,8 +35,12 @@ class RecordContext {
|
|
|
20
35
|
result.url = this.url;
|
|
21
36
|
if (this.testCommands)
|
|
22
37
|
result.testCommands = this.testCommands.join('; ');
|
|
23
|
-
if (this.
|
|
38
|
+
if (this.results) {
|
|
24
39
|
result.exitCodes = this.exitCodes.map(String).join(', ');
|
|
40
|
+
result.log = this.results
|
|
41
|
+
.map((r) => [r.command, JSON.stringify(r.env), r.output].join('\n===\n'))
|
|
42
|
+
.join('\n=====\n');
|
|
43
|
+
}
|
|
25
44
|
return result;
|
|
26
45
|
}
|
|
27
46
|
metrics() {
|
|
@@ -52,6 +71,41 @@ class RecordContext {
|
|
|
52
71
|
const appMapCount = await (0, countAppMaps_1.default)(this.appMapDir);
|
|
53
72
|
this.appMapCount = appMapCount;
|
|
54
73
|
}
|
|
74
|
+
// Return the number of AppMaps created during this recording
|
|
75
|
+
get appMapsCreated() {
|
|
76
|
+
if (this.initialAppMapCount === undefined ||
|
|
77
|
+
this.appMapCount === undefined) {
|
|
78
|
+
throw new Error(`Counts uninitialized, initialAppMapCount: ${this.initialAppMapCount} appMapCount: ${this.appMapCount}`);
|
|
79
|
+
}
|
|
80
|
+
return this.appMapCount - this.initialAppMapCount;
|
|
81
|
+
}
|
|
82
|
+
get results() {
|
|
83
|
+
return this._results;
|
|
84
|
+
}
|
|
85
|
+
addResult(result) {
|
|
86
|
+
if (!this._results) {
|
|
87
|
+
this._results = [];
|
|
88
|
+
}
|
|
89
|
+
this._results.push(result);
|
|
90
|
+
}
|
|
91
|
+
// The following are only available once the test commands have finished. Check to see whether
|
|
92
|
+
// this.results is defined before calling any of them.
|
|
93
|
+
get exitCodes() {
|
|
94
|
+
if (!this.results)
|
|
95
|
+
throw new Error('Internal Error, no results yet');
|
|
96
|
+
return this.results.map((r) => r.exitCode);
|
|
97
|
+
}
|
|
98
|
+
// Return the number of failures that occurred during this recording
|
|
99
|
+
get failures() {
|
|
100
|
+
if (!this.results)
|
|
101
|
+
throw new Error('Internal Error, no results yet');
|
|
102
|
+
return this.exitCodes.reduce((acc, c) => acc + (c !== 0 ? 1 : 0), 0);
|
|
103
|
+
}
|
|
104
|
+
get output() {
|
|
105
|
+
if (!this.results)
|
|
106
|
+
throw new Error('Internal Error, no results yet');
|
|
107
|
+
return this.results.map((r) => r.output);
|
|
108
|
+
}
|
|
55
109
|
}
|
|
56
110
|
exports.default = RecordContext;
|
|
57
111
|
//# sourceMappingURL=recordContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordContext.js","sourceRoot":"","sources":["../../../src/cmds/record/recordContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recordContext.js","sourceRoot":"","sources":["../../../src/cmds/record/recordContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,22 @@ 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 chalk_1 = __importDefault(require("chalk"));
|
|
7
|
+
const openTicket_1 = require("../../../lib/ticket/openTicket");
|
|
8
|
+
const userInteraction_1 = __importDefault(require("../../userInteraction"));
|
|
6
9
|
const printAppMapCount_1 = __importDefault(require("../action/printAppMapCount"));
|
|
7
10
|
async function testCasesComplete(recordContext) {
|
|
8
|
-
|
|
11
|
+
// Handle command failures here, rather than in a separate state, so we maintain compatibility
|
|
12
|
+
// with the Azure Function that processes telemetry events.
|
|
13
|
+
if (recordContext.failures > 0 || recordContext.appMapsCreated === 0) {
|
|
14
|
+
userInteraction_1.default.warn(`\n${chalk_1.default.yellow('!')} The test commands failed to create AppMaps\n`);
|
|
15
|
+
const errors = recordContext.output || [
|
|
16
|
+
`
|
|
17
|
+
Test command failed with no output`,
|
|
18
|
+
];
|
|
19
|
+
await (0, openTicket_1.openTicket)(errors);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
9
22
|
await (0, printAppMapCount_1.default)(recordContext.appMapDir);
|
|
10
23
|
return;
|
|
11
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCasesComplete.js","sourceRoot":"","sources":["../../../../src/cmds/record/state/testCasesComplete.ts"],"names":[],"mappings":";;;;;AAAA,kFAA0D;AAG3C,KAAK,UAAU,iBAAiB,CAC7C,aAA4B;IAE5B,
|
|
1
|
+
{"version":3,"file":"testCasesComplete.js","sourceRoot":"","sources":["../../../../src/cmds/record/state/testCasesComplete.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,+DAA4D;AAC5D,4EAAuC;AACvC,kFAA0D;AAG3C,KAAK,UAAU,iBAAiB,CAC7C,aAA4B;IAE5B,8FAA8F;IAC9F,2DAA2D;IAC3D,IAAI,aAAa,CAAC,QAAQ,GAAG,CAAC,IAAI,aAAa,CAAC,cAAc,KAAK,CAAC,EAAE;QACpE,yBAAE,CAAC,IAAI,CACL,KAAK,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CACtE,CAAC;QAEF,MAAM,MAAM,GAAa,aAAa,CAAC,MAAM,IAAI;YAC/C;mCAC6B;SAC9B,CAAC;QACF,MAAM,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;QAEzB,OAAO;KACR;IAED,MAAM,IAAA,0BAAgB,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO;AACT,CAAC;AAtBD,oCAsBC"}
|
|
@@ -3,17 +3,11 @@ 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 chalk_1 = __importDefault(require("chalk"));
|
|
7
|
-
const userInteraction_1 = __importDefault(require("../../userInteraction"));
|
|
8
6
|
const testCaseRecording_1 = __importDefault(require("../testCaseRecording"));
|
|
9
7
|
const testCasesComplete_1 = __importDefault(require("./testCasesComplete"));
|
|
10
8
|
async function testCasesRunning(recordContext) {
|
|
11
|
-
|
|
12
|
-
recordContext.
|
|
13
|
-
if (!exitCodes.every((code) => code === 0)) {
|
|
14
|
-
userInteraction_1.default.warn(`\n${chalk_1.default.yellow('!')} Some test commands failed\n`);
|
|
15
|
-
await userInteraction_1.default.continue('Press enter to continue');
|
|
16
|
-
}
|
|
9
|
+
await testCaseRecording_1.default.waitFor(recordContext);
|
|
10
|
+
await recordContext.populateAppMapCount();
|
|
17
11
|
return testCasesComplete_1.default;
|
|
18
12
|
}
|
|
19
13
|
exports.default = testCasesRunning;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCasesRunning.js","sourceRoot":"","sources":["../../../../src/cmds/record/state/testCasesRunning.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"testCasesRunning.js","sourceRoot":"","sources":["../../../../src/cmds/record/state/testCasesRunning.ts"],"names":[],"mappings":";;;;;AACA,6EAAqD;AAErD,4EAAoD;AAErC,KAAK,UAAU,gBAAgB,CAC5C,aAA4B;IAE5B,MAAM,2BAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/C,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAE1C,OAAO,2BAAiB,CAAC;AAC3B,CAAC;AARD,mCAQC"}
|
|
@@ -8,6 +8,7 @@ const process_1 = require("process");
|
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
9
|
const userInteraction_1 = __importDefault(require("../userInteraction"));
|
|
10
10
|
const configuration_1 = require("./configuration");
|
|
11
|
+
const recordContext_1 = require("./recordContext");
|
|
11
12
|
let TestCommands = [];
|
|
12
13
|
let TestCaseProcesses = [];
|
|
13
14
|
const DiagnosticCommands = {
|
|
@@ -44,7 +45,7 @@ class TestCaseRecording {
|
|
|
44
45
|
}
|
|
45
46
|
TestCommands = testCommands;
|
|
46
47
|
}
|
|
47
|
-
static async waitFor() {
|
|
48
|
+
static async waitFor(ctx) {
|
|
48
49
|
let maxTime = (await (0, configuration_1.readSetting)('test_recording.max_time', -1));
|
|
49
50
|
if (maxTime === -1)
|
|
50
51
|
maxTime = undefined;
|
|
@@ -55,6 +56,7 @@ class TestCaseRecording {
|
|
|
55
56
|
const commandStr = process.spawnargs.join(' ');
|
|
56
57
|
const startTime = Date.now();
|
|
57
58
|
return new Promise((resolve) => {
|
|
59
|
+
var _a, _b;
|
|
58
60
|
let reported = false;
|
|
59
61
|
let interruptTimeout;
|
|
60
62
|
function interrupt() {
|
|
@@ -63,6 +65,7 @@ class TestCaseRecording {
|
|
|
63
65
|
(0, process_1.kill)(process.pid, 'SIGTERM');
|
|
64
66
|
}
|
|
65
67
|
}
|
|
68
|
+
const output = [];
|
|
66
69
|
function report(exitCode) {
|
|
67
70
|
if (reported)
|
|
68
71
|
return;
|
|
@@ -74,32 +77,37 @@ class TestCaseRecording {
|
|
|
74
77
|
if (interruptTimeout)
|
|
75
78
|
clearTimeout(interruptTimeout);
|
|
76
79
|
if (exitCode && exitCode !== 0) {
|
|
77
|
-
userInteraction_1.default.progress(`
|
|
80
|
+
userInteraction_1.default.progress(`
|
|
81
|
+
Test command failed with status code ${exitCode}: ${commandStr}`);
|
|
78
82
|
}
|
|
79
|
-
resolve(exitCode);
|
|
83
|
+
resolve({ exitCode, output: output.join() });
|
|
80
84
|
}
|
|
81
85
|
if (process.exitCode)
|
|
82
86
|
return report(process.exitCode);
|
|
87
|
+
const onData = (data) => {
|
|
88
|
+
output.push(data.toString());
|
|
89
|
+
};
|
|
90
|
+
(_a = process.stdout) === null || _a === void 0 ? void 0 : _a.on('data', onData);
|
|
91
|
+
(_b = process.stderr) === null || _b === void 0 ? void 0 : _b.on('data', onData);
|
|
83
92
|
process.on('exit', report);
|
|
84
93
|
if (waitTime) {
|
|
85
94
|
interruptTimeout = setTimeout(interrupt, waitTime * 1000);
|
|
86
95
|
}
|
|
87
96
|
});
|
|
88
97
|
}
|
|
89
|
-
const exitCodes = [];
|
|
90
98
|
for (const cmd of TestCommands) {
|
|
91
99
|
cmd.env || (cmd.env = {});
|
|
92
100
|
userInteraction_1.default.progress(`Running test command: ${TestCaseRecording.envString(cmd.env)}${cmd.command}`);
|
|
93
101
|
const args = cmd.command.split(' ');
|
|
102
|
+
const env = Object.assign(process.env, cmd.env);
|
|
94
103
|
const proc = (0, child_process_1.spawn)(args[0], args.slice(1), {
|
|
95
|
-
env
|
|
104
|
+
env,
|
|
96
105
|
shell: true,
|
|
97
|
-
stdio: ['ignore'
|
|
106
|
+
stdio: ['ignore'],
|
|
98
107
|
});
|
|
99
|
-
const exitCode = await waitForProcess(proc);
|
|
100
|
-
|
|
108
|
+
const { exitCode, output } = await waitForProcess(proc);
|
|
109
|
+
ctx.addResult(new recordContext_1.RecordProcessResult(env, cmd.command, exitCode, output));
|
|
101
110
|
}
|
|
102
|
-
return exitCodes;
|
|
103
111
|
}
|
|
104
112
|
static envString(env) {
|
|
105
113
|
const str = Object.keys(env).length > 0
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"testCaseRecording.js","sourceRoot":"","sources":["../../../src/cmds/record/testCaseRecording.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,9 +35,16 @@ class UserInteraction {
|
|
|
35
35
|
});
|
|
36
36
|
return confirm;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Prints a message to STDOUT.
|
|
40
|
+
*/
|
|
38
41
|
progress(msg) {
|
|
39
42
|
console.log(msg);
|
|
40
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Finishes an in-progress command, showing a success indicator at the beginning of the line.
|
|
46
|
+
* Prints an optional message inside of a box.
|
|
47
|
+
*/
|
|
41
48
|
success(msg, align = 'center') {
|
|
42
49
|
if (this.spinner.isSpinning) {
|
|
43
50
|
this.spinner.succeed();
|
|
@@ -51,6 +58,10 @@ class UserInteraction {
|
|
|
51
58
|
}));
|
|
52
59
|
}
|
|
53
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Halts an in-progress command, showing a failure indicator at the beginning of the line.
|
|
63
|
+
* Prints an optional error message to
|
|
64
|
+
*/
|
|
54
65
|
error(msg) {
|
|
55
66
|
if (this.spinner.isSpinning) {
|
|
56
67
|
this.spinner.fail();
|
|
@@ -60,6 +71,9 @@ class UserInteraction {
|
|
|
60
71
|
console.error(msg);
|
|
61
72
|
}
|
|
62
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Prints a message to STDERR.
|
|
76
|
+
*/
|
|
63
77
|
warn(msg) {
|
|
64
78
|
console.error(msg);
|
|
65
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../src/cmds/userInteraction.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAiE;AACjE,8CAA+B;AAC/B,kDAA0B;AAC1B,oCAAmC;AAMnC,MAAa,eAAe;IAA5B;QACU,YAAO,GAAQ,IAAA,aAAG,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../src/cmds/userInteraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
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.openTicket = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const userInteraction_1 = __importDefault(require("../../cmds/userInteraction"));
|
|
9
|
+
const telemetry_1 = __importDefault(require("../../telemetry"));
|
|
10
|
+
const zendesk_1 = require("./zendesk");
|
|
11
|
+
async function openTicket(errors) {
|
|
12
|
+
var _a;
|
|
13
|
+
userInteraction_1.default.progress([
|
|
14
|
+
`Help is available from the AppMap support team! If you want assistance, the test command,
|
|
15
|
+
error message, exit code, and APPMAP environment variables can be uploaded securely to the
|
|
16
|
+
AppMap ZenDesk support portal. The AppMap team will respond to you by email, so we'll need your
|
|
17
|
+
email address to open the support request.
|
|
18
|
+
`,
|
|
19
|
+
].join('\n'));
|
|
20
|
+
const message = `Would you like to open a support request?`;
|
|
21
|
+
const { email, openTicket } = await userInteraction_1.default.prompt({
|
|
22
|
+
type: 'confirm',
|
|
23
|
+
name: 'openTicket',
|
|
24
|
+
default: true,
|
|
25
|
+
message,
|
|
26
|
+
prefix: chalk_1.default.red('!'),
|
|
27
|
+
}).then(async (answers) => {
|
|
28
|
+
if (!answers.openTicket) {
|
|
29
|
+
userInteraction_1.default.progress([
|
|
30
|
+
`
|
|
31
|
+
You've elected not to open a support request for this problem.
|
|
32
|
+
|
|
33
|
+
If you change your mind, you can always reach us by email: support@appmap.io
|
|
34
|
+
`,
|
|
35
|
+
].join('\n'));
|
|
36
|
+
telemetry_1.default.sendEvent({
|
|
37
|
+
name: 'open-ticket:declined',
|
|
38
|
+
});
|
|
39
|
+
return { openTicket: false };
|
|
40
|
+
}
|
|
41
|
+
const { email } = await userInteraction_1.default.prompt([
|
|
42
|
+
{
|
|
43
|
+
name: 'email',
|
|
44
|
+
message: 'Please provide your email address, so that we can contact you with a response:',
|
|
45
|
+
validate: (v) => v.trim().length > 0 || 'Please enter your email address',
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
email,
|
|
50
|
+
openTicket: true,
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
if (!openTicket) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const id = await (0, zendesk_1.createRequest)(errors, email);
|
|
58
|
+
telemetry_1.default.sendEvent({
|
|
59
|
+
name: 'open-ticket:success',
|
|
60
|
+
});
|
|
61
|
+
userInteraction_1.default.success(`Thank you very much for reporting this problem.
|
|
62
|
+
|
|
63
|
+
Ticket ${id} has been successfully created on your behalf.
|
|
64
|
+
|
|
65
|
+
Please monitor your email for updates. Thank you for using AppMap!`, 'left');
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const he = e;
|
|
69
|
+
const response = he.response;
|
|
70
|
+
let eventName;
|
|
71
|
+
let error = undefined;
|
|
72
|
+
if (response) {
|
|
73
|
+
eventName = `open-ticket:${((_a = he.response) === null || _a === void 0 ? void 0 : _a.status) === 429 ? 'rate-limit' : 'error'}`;
|
|
74
|
+
error = response.toString();
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
eventName = 'open-ticket:no-response';
|
|
78
|
+
}
|
|
79
|
+
telemetry_1.default.sendEvent({
|
|
80
|
+
name: eventName,
|
|
81
|
+
properties: {
|
|
82
|
+
error,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
userInteraction_1.default.error(`${chalk_1.default.red('!')} A failure occurred attempting to create a ticket.
|
|
86
|
+
|
|
87
|
+
${chalk_1.default.red('!')} This problem has been reported to the AppMap team.`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.openTicket = openTicket;
|
|
91
|
+
//# sourceMappingURL=openTicket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openTicket.js","sourceRoot":"","sources":["../../../src/lib/ticket/openTicket.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,iFAA4C;AAC5C,gEAAwC;AACxC,uCAAkE;AAE3D,KAAK,UAAU,UAAU,CAAC,MAAgB;;IAC/C,yBAAE,CAAC,QAAQ,CACT;QACE;;;;CAIL;KACI,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACF,MAAM,OAAO,GAAG,2CAA2C,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QAC5C,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,OAAO;QACP,MAAM,EAAE,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;KACvB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,yBAAE,CAAC,QAAQ,CACT;gBACE;;;;CAIT;aACQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YAEF,mBAAS,CAAC,SAAS,CAAC;gBAClB,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CAAC;YAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;SAC9B;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAChC;gBACE,IAAI,EAAE,OAAO;gBACb,OAAO,EACL,gFAAgF;gBAClF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC;aAC3D;SACF,CAAC,CAAC;QACH,OAAO;YACL,KAAK;YACL,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IAED,IAAI;QACF,MAAM,EAAE,GAAG,MAAM,IAAA,uBAAoB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrD,mBAAS,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;QACH,yBAAE,CAAC,OAAO,CACR;;SAEG,EAAE;;mEAEwD,EAC7D,MAAM,CACP,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAc,CAAC;QAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;QAC7B,IAAI,SAAiB,CAAC;QACtB,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,QAAQ,EAAE;YACZ,SAAS,GAAG,eACV,CAAA,MAAA,EAAE,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAC/C,EAAE,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC7B;aAAM;YACL,SAAS,GAAG,yBAAyB,CAAC;SACvC;QACD,mBAAS,CAAC,SAAS,CAAC;YAClB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,KAAK;aACN;SACF,CAAC,CAAC;QACH,yBAAE,CAAC,KAAK,CACN,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC;;EAErB,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,qDAAqD,CAChE,CAAC;KACH;AACH,CAAC;AA7FD,gCA6FC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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.createRequest = exports.APPMAP_SUPPORT_URL = void 0;
|
|
7
|
+
// There is a Zendesk API client: https://github.com/blakmatrix/node-zendesk . It appears to have
|
|
8
|
+
// some issues, notably incomplete typing (https://github.com/blakmatrix/node-zendesk/issues/251).
|
|
9
|
+
// We're only making a single API call here, so just use Axios instead.
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
const strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
12
|
+
const errors_1 = require("../../cmds/errors");
|
|
13
|
+
exports.APPMAP_SUPPORT_URL = process.env.APPMAP_SUPPORT_URL || 'https://appland.zendesk.com';
|
|
14
|
+
// debugAdapter gets installed when process.env.APPMAP_ZENDESK_DEBUG is "true". It prints out the
|
|
15
|
+
// details of the outbound request, but doesn't actually send it.
|
|
16
|
+
const debugAdapter = async (config) => {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
console.log(config.baseURL);
|
|
19
|
+
console.log(config.method);
|
|
20
|
+
console.log(config.url);
|
|
21
|
+
console.log(JSON.parse(config.data));
|
|
22
|
+
const response = {
|
|
23
|
+
data: '{"request": {"id": "<zendesk request id>"}}',
|
|
24
|
+
status: 200,
|
|
25
|
+
statusText: 'OK',
|
|
26
|
+
headers: {},
|
|
27
|
+
config,
|
|
28
|
+
request: {},
|
|
29
|
+
};
|
|
30
|
+
resolve(response);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
async function createRequest(errors, email) {
|
|
34
|
+
const body = JSON.stringify({
|
|
35
|
+
request: {
|
|
36
|
+
comment: {
|
|
37
|
+
body: `Messages:
|
|
38
|
+
${errors.map((e) => `===\n${(0, strip_ansi_1.default)(e)}\n===`).join('\n')}`,
|
|
39
|
+
},
|
|
40
|
+
subject: `CLI command failure`,
|
|
41
|
+
requester: {
|
|
42
|
+
email,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
try {
|
|
47
|
+
const headers = {
|
|
48
|
+
Accept: 'application/json',
|
|
49
|
+
'Content-Type': 'application/json',
|
|
50
|
+
};
|
|
51
|
+
// Authorization it not required to create a Zendesk request. Without it, though, the API
|
|
52
|
+
// endpoint is limited to 5 requests per hour, which is a nuisance when doing development.
|
|
53
|
+
//
|
|
54
|
+
// Per https://developer.zendesk.com/api-reference/ticketing/introduction/#api-token, the format
|
|
55
|
+
// for ZENDESK_AUTHZ is {email_address}msg, {ken:{api_token}.
|
|
56
|
+
const zendeskAuthz = process.env.ZENDESK_AUTHZ;
|
|
57
|
+
if (zendeskAuthz) {
|
|
58
|
+
body: headers['Authorization'] = `Basic ${Buffer.from(zendeskAuthz).toString('base64')}`;
|
|
59
|
+
}
|
|
60
|
+
const { data: res } = await axios_1.default
|
|
61
|
+
.create({
|
|
62
|
+
baseURL: exports.APPMAP_SUPPORT_URL,
|
|
63
|
+
adapter: process.env.APPMAP_ZENDESK_DEBUG ? debugAdapter : undefined,
|
|
64
|
+
headers,
|
|
65
|
+
})
|
|
66
|
+
.post('/api/v2/requests.json', body);
|
|
67
|
+
return res.request.id;
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
const ae = e;
|
|
71
|
+
const msg = 'Failed to create a Zendesk Request';
|
|
72
|
+
if (!ae.response) {
|
|
73
|
+
throw new errors_1.HttpError(msg);
|
|
74
|
+
}
|
|
75
|
+
const response = ae.response;
|
|
76
|
+
throw new errors_1.HttpError(msg, {
|
|
77
|
+
status: response.status,
|
|
78
|
+
headers: response.headers,
|
|
79
|
+
body: JSON.stringify(response.data),
|
|
80
|
+
toString: () => JSON.stringify(response, (k, v) => (k !== 'request' ? v : undefined), 2),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.createRequest = createRequest;
|
|
85
|
+
//# sourceMappingURL=zendesk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zendesk.js","sourceRoot":"","sources":["../../../src/lib/ticket/zendesk.ts"],"names":[],"mappings":"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"}
|