@appland/appmap 3.24.0 → 3.25.2
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 +21 -0
- package/built/appmap.html +1 -1
- package/built/main.js.map +1 -1
- package/built/package.json +1 -1
- package/built/src/cmds/agentInstaller/agentInstallerProcedure.js +1 -2
- package/built/src/cmds/agentInstaller/agentInstallerProcedure.js.map +1 -1
- package/built/src/cmds/record/action/countAppMaps.js +14 -0
- package/built/src/cmds/record/action/countAppMaps.js.map +1 -0
- package/built/src/cmds/record/action/printAppMapCount.js +4 -13
- package/built/src/cmds/record/action/printAppMapCount.js.map +1 -1
- package/built/src/cmds/record/action/saveRecording.js +3 -1
- package/built/src/cmds/record/action/saveRecording.js.map +1 -1
- package/built/src/cmds/record/configuration.js +13 -1
- package/built/src/cmds/record/configuration.js.map +1 -1
- package/built/src/cmds/record/prompt/obtainTestCommands.js +9 -6
- package/built/src/cmds/record/prompt/obtainTestCommands.js.map +1 -1
- package/built/src/cmds/record/record.js +34 -13
- package/built/src/cmds/record/record.js.map +1 -1
- package/built/src/cmds/record/recordContext.js +54 -0
- package/built/src/cmds/record/recordContext.js.map +1 -0
- package/built/src/cmds/record/state/agentIsRecording.js +2 -2
- package/built/src/cmds/record/state/agentIsRecording.js.map +1 -1
- package/built/src/cmds/record/state/agentNotAvailable.js +2 -1
- package/built/src/cmds/record/state/agentNotAvailable.js.map +1 -1
- package/built/src/cmds/record/state/initial.js +2 -1
- package/built/src/cmds/record/state/initial.js.map +1 -1
- package/built/src/cmds/record/state/record_remote.js +2 -1
- package/built/src/cmds/record/state/record_remote.js.map +1 -1
- package/built/src/cmds/record/state/record_test.js +2 -1
- package/built/src/cmds/record/state/record_test.js.map +1 -1
- package/built/src/cmds/record/state/recordingStopped.js +2 -2
- package/built/src/cmds/record/state/recordingStopped.js.map +1 -1
- package/built/src/cmds/record/state/testCasesComplete.js +3 -2
- package/built/src/cmds/record/state/testCasesComplete.js.map +1 -1
- package/built/src/cmds/record/state/testCasesRunning.js +9 -2
- package/built/src/cmds/record/state/testCasesRunning.js.map +1 -1
- package/built/src/cmds/record/state/testCommandsAvailable.js +2 -1
- package/built/src/cmds/record/state/testCommandsAvailable.js.map +1 -1
- package/built/src/cmds/record/state/testCommandsNeeded.js +2 -1
- package/built/src/cmds/record/state/testCommandsNeeded.js.map +1 -1
- package/built/src/cmds/record/test/isAgentAvailable.js +3 -4
- package/built/src/cmds/record/test/isAgentAvailable.js.map +1 -1
- package/built/src/cmds/record/testCaseRecording.js +4 -1
- package/built/src/cmds/record/testCaseRecording.js.map +1 -1
- package/built/src/cmds/runCommand.js +2 -1
- package/built/src/cmds/runCommand.js.map +1 -1
- package/built/src/fingerprint/canonicalize/classes.js +1 -1
- package/built/src/fingerprint/canonicalize/classes.js.map +1 -1
- package/built/src/openapi/command.js.map +1 -1
- package/package.json +2 -2
package/built/package.json
CHANGED
|
@@ -66,8 +66,7 @@ class AgentInstallerProcedure extends agentProcedure_1.default {
|
|
|
66
66
|
];
|
|
67
67
|
successMessage.push('For more information on recording AppMaps, visit:', chalk_1.default.blue(this.installer.documentation));
|
|
68
68
|
userInteraction_1.default.success(successMessage.join('\n'));
|
|
69
|
-
userInteraction_1.default.success(`The next step is to generate AppMaps. You can consult the AppMap documentation,
|
|
70
|
-
or dive right in with:
|
|
69
|
+
userInteraction_1.default.success(`The next step is to generate AppMaps. You can consult the AppMap documentation, or dive right in with:
|
|
71
70
|
|
|
72
71
|
npx @appland/appmap record
|
|
73
72
|
`, 'left');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentInstallerProcedure.js","sourceRoot":"","sources":["../../../../src/cmds/agentInstaller/agentInstallerProcedure.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AAEpB,kDAA0B;AAG1B,sCAAwD;AACxD,mDAAsC;AACtC,yEAAoC;AACpC,sEAA8C;AAE9C,MAAqB,uBAAwB,SAAQ,wBAAc;IACjE,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,6DAA6D;gBAC7D,MAAM,IAAI,CAAC,wBAAwB,EAAE;gBACrC,EAAE;gBACF,oBAAoB;aACrB;iBACE,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE;YACZ,yBAAE,CAAC,MAAM,GAAG,wBAAwB,CAAC;YACrC,yBAAE,CAAC,KAAK,CACN;gBACE,wEAAwE;gBACxE,OAAO,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB;aACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACF,MAAM,IAAI,mBAAU,CAAC,mDAAmD,CAAC,CAAC;SAC3E;QAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,YAAY,GAAG,cAAc,CAAC;YACpC,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC;YAEtB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;gBAC7C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACL,uFAAuF;gBACzF,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC;aAC1C,CAAC,CAAC;YAEH,IAAI,kBAAkB,KAAK,KAAK,EAAE;gBAChC,eAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;aAC5B;YAED,IAAI,kBAAkB,KAAK,YAAY,EAAE;gBACvC,oBAAoB,GAAG,IAAI,CAAC;aAC7B;SACF;QAED,yBAAE,CAAC,MAAM,GAAG,gCAAgC,CAAC;QAE7C,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mBAAG,EAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhC,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SAC1D;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG;YACrB,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC;SAC7D,CAAC;QAEF,cAAc,CAAC,IAAI,CACjB,mDAAmD,EACnD,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CACzC,CAAC;QAEF,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtC,yBAAE,CAAC,OAAO,CACR
|
|
1
|
+
{"version":3,"file":"agentInstallerProcedure.js","sourceRoot":"","sources":["../../../../src/cmds/agentInstaller/agentInstallerProcedure.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AAEpB,kDAA0B;AAG1B,sCAAwD;AACxD,mDAAsC;AACtC,yEAAoC;AACpC,sEAA8C;AAE9C,MAAqB,uBAAwB,SAAQ,wBAAc;IACjE,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,6DAA6D;gBAC7D,MAAM,IAAI,CAAC,wBAAwB,EAAE;gBACrC,EAAE;gBACF,oBAAoB;aACrB;iBACE,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE;YACZ,yBAAE,CAAC,MAAM,GAAG,wBAAwB,CAAC;YACrC,yBAAE,CAAC,KAAK,CACN;gBACE,wEAAwE;gBACxE,OAAO,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB;aACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACF,MAAM,IAAI,mBAAU,CAAC,mDAAmD,CAAC,CAAC;SAC3E;QAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,YAAY,GAAG,cAAc,CAAC;YACpC,MAAM,SAAS,GAAG,WAAW,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,CAAC;YAEtB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;gBAC7C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACL,uFAAuF;gBACzF,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC;aAC1C,CAAC,CAAC;YAEH,IAAI,kBAAkB,KAAK,KAAK,EAAE;gBAChC,eAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;aAC5B;YAED,IAAI,kBAAkB,KAAK,YAAY,EAAE;gBACvC,oBAAoB,GAAG,IAAI,CAAC;aAC7B;SACF;QAED,yBAAE,CAAC,MAAM,GAAG,gCAAgC,CAAC;QAE7C,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mBAAG,EAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEhC,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SAC1D;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QAEjD,MAAM,cAAc,GAAG;YACrB,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC;SAC7D,CAAC;QAEF,cAAc,CAAC,IAAI,CACjB,mDAAmD,EACnD,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CACzC,CAAC;QAEF,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtC,yBAAE,CAAC,OAAO,CACR;;;CAGL,EACK,MAAM,CACP,CAAC;IACJ,CAAC;CACF;AArFD,0CAqFC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("../../../utils");
|
|
4
|
+
async function countAppMaps(appMapDir) {
|
|
5
|
+
let fileCount = 0;
|
|
6
|
+
// This function is too verbose to be useful in this context.
|
|
7
|
+
const v = (0, utils_1.verbose)();
|
|
8
|
+
(0, utils_1.verbose)(false);
|
|
9
|
+
await (0, utils_1.listAppMapFiles)(appMapDir, (_fileName) => (fileCount += 1));
|
|
10
|
+
(0, utils_1.verbose)(v);
|
|
11
|
+
return fileCount;
|
|
12
|
+
}
|
|
13
|
+
exports.default = countAppMaps;
|
|
14
|
+
//# sourceMappingURL=countAppMaps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countAppMaps.js","sourceRoot":"","sources":["../../../../../src/cmds/record/action/countAppMaps.ts"],"names":[],"mappings":";;AAAA,0CAA0D;AAE3C,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,6DAA6D;IAC7D,MAAM,CAAC,GAAG,IAAA,eAAO,GAAE,CAAC;IACpB,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC;IACf,MAAM,IAAA,uBAAe,EAAC,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC;IAEX,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,+BAUC"}
|
|
@@ -3,20 +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 utils_1 = require("../../../utils");
|
|
7
6
|
const userInteraction_1 = __importDefault(require("../../userInteraction"));
|
|
8
|
-
const
|
|
9
|
-
async function printAppMapCount() {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const configuredAppMapDir = (_a = (await (0, configuration_1.readConfig)())) === null || _a === void 0 ? void 0 : _a.appmap_dir;
|
|
13
|
-
const appMapDir = configuredAppMapDir || '.';
|
|
14
|
-
// This function is too verbose to be useful in this context.
|
|
15
|
-
const v = (0, utils_1.verbose)();
|
|
16
|
-
(0, utils_1.verbose)(false);
|
|
17
|
-
await (0, utils_1.listAppMapFiles)(appMapDir, (_fileName) => (fileCount += 1));
|
|
18
|
-
(0, utils_1.verbose)(v);
|
|
19
|
-
userInteraction_1.default.success(`There are now ${fileCount} AppMap files in directory '${appMapDir}'.`);
|
|
7
|
+
const countAppMaps_1 = __importDefault(require("./countAppMaps"));
|
|
8
|
+
async function printAppMapCount(appMapDir) {
|
|
9
|
+
const appMapCount = await (0, countAppMaps_1.default)(appMapDir);
|
|
10
|
+
userInteraction_1.default.success(`There are now ${appMapCount} AppMap files in directory '${appMapDir}'.`);
|
|
20
11
|
userInteraction_1.default.success(`To generate OpenAPI from the AppMaps, run:
|
|
21
12
|
|
|
22
13
|
npx @appland/appmap openapi --appmap-dir ${appMapDir} -o openapi.yml
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printAppMapCount.js","sourceRoot":"","sources":["../../../../../src/cmds/record/action/printAppMapCount.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"printAppMapCount.js","sourceRoot":"","sources":["../../../../../src/cmds/record/action/printAppMapCount.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,kEAA0C;AAE3B,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC9D,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAY,EAAC,SAAS,CAAC,CAAC;IAElD,yBAAE,CAAC,OAAO,CACR,iBAAiB,WAAW,+BAA+B,SAAS,IAAI,CACzE,CAAC;IACF,yBAAE,CAAC,OAAO,CACR;;+CAE2C,SAAS;;;;6CAIX,SAAS;;;;+CAIP,SAAS;+CACT,SAAS;+CACT,SAAS;GACrD,EACC,MAAM,CACP,CAAC;AACJ,CAAC;AAvBD,mCAuBC"}
|
|
@@ -7,7 +7,7 @@ const promises_1 = require("fs/promises");
|
|
|
7
7
|
const userInteraction_1 = __importDefault(require("../../userInteraction"));
|
|
8
8
|
const configuration_1 = require("../configuration");
|
|
9
9
|
const remoteRecording_1 = __importDefault(require("../remoteRecording"));
|
|
10
|
-
async function saveRecording() {
|
|
10
|
+
async function saveRecording(recordContext) {
|
|
11
11
|
const rr = new remoteRecording_1.default(await (0, configuration_1.requestOptions)());
|
|
12
12
|
let data = await rr.stop();
|
|
13
13
|
if (data) {
|
|
@@ -24,6 +24,8 @@ async function saveRecording() {
|
|
|
24
24
|
default: 'My recording',
|
|
25
25
|
});
|
|
26
26
|
const jsonData = JSON.parse(data);
|
|
27
|
+
if (jsonData.events)
|
|
28
|
+
recordContext.appMapEventCount = jsonData.events.length;
|
|
27
29
|
jsonData['metadata'] = jsonData['metadata'] || {};
|
|
28
30
|
jsonData['metadata']['name'] = appMapName;
|
|
29
31
|
data = JSON.stringify(jsonData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveRecording.js","sourceRoot":"","sources":["../../../../../src/cmds/record/action/saveRecording.ts"],"names":[],"mappings":";;;;;AAAA,0CAAwC;AACxC,4EAAuC;AACvC,oDAAkD;
|
|
1
|
+
{"version":3,"file":"saveRecording.js","sourceRoot":"","sources":["../../../../../src/cmds/record/action/saveRecording.ts"],"names":[],"mappings":";;;;;AAAA,0CAAwC;AACxC,4EAAuC;AACvC,oDAAkD;AAElD,yEAAiD;AAElC,KAAK,UAAU,aAAa,CACzC,aAA4B;IAE5B,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC;IACvD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE3B,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,MAAM;QAAE,aAAa,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAE7E,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,yBAAE,CAAC,MAAM,GAAG,uBAAuB,QAAQ,EAAE,CAAC;IAE9C,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEhC,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AApCD,gCAoCC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeConfigOption = exports.writeSetting = exports.readConfigOption = exports.readSetting = exports.requestOptions = exports.readAllSettings = exports.readConfig = exports.setAppMapSettingsFilePath = exports.setAppMapConfigFilePath = exports.TestCommand = void 0;
|
|
6
|
+
exports.writeConfigOption = exports.writeSetting = exports.readConfigOption = exports.readSetting = exports.locationString = exports.requestOptions = exports.readAllSettings = exports.readConfig = exports.setAppMapSettingsFilePath = exports.setAppMapConfigFilePath = exports.TestCommand = void 0;
|
|
4
7
|
const fs_1 = require("fs");
|
|
5
8
|
const promises_1 = require("fs/promises");
|
|
6
9
|
const js_yaml_1 = require("js-yaml");
|
|
7
10
|
const path_1 = require("path");
|
|
11
|
+
const testCaseRecording_1 = __importDefault(require("./testCaseRecording"));
|
|
8
12
|
let AppMapConfigFilePath = 'appmap.yml';
|
|
9
13
|
let AppMapSettingsFilePath = (0, path_1.join)(process.env.HOME || '', '.appmaprc');
|
|
10
14
|
class TestCommand {
|
|
@@ -12,6 +16,9 @@ class TestCommand {
|
|
|
12
16
|
this.command = command;
|
|
13
17
|
this.env = env;
|
|
14
18
|
}
|
|
19
|
+
static toString(cmd) {
|
|
20
|
+
return `${testCaseRecording_1.default.envString(cmd.env)}${cmd.command}`;
|
|
21
|
+
}
|
|
15
22
|
}
|
|
16
23
|
exports.TestCommand = TestCommand;
|
|
17
24
|
// Returns the previous config file path.
|
|
@@ -82,6 +89,11 @@ async function requestOptions() {
|
|
|
82
89
|
return requestOptions;
|
|
83
90
|
}
|
|
84
91
|
exports.requestOptions = requestOptions;
|
|
92
|
+
async function locationString() {
|
|
93
|
+
const ro = await requestOptions();
|
|
94
|
+
return `${ro.protocol}//${ro.hostname}:${ro.port}${ro.path}`;
|
|
95
|
+
}
|
|
96
|
+
exports.locationString = locationString;
|
|
85
97
|
async function readSetting(path, defaultValue) {
|
|
86
98
|
const settings = await readSettings();
|
|
87
99
|
return findOption(settings, path, defaultValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/cmds/record/configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/cmds/record/configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ async function obtainTestCommands() {
|
|
|
19
19
|
userInteraction_1.default.progress(`Here's a suggested test command for your project:`);
|
|
20
20
|
userInteraction_1.default.progress(``);
|
|
21
21
|
// TODO: Colorize
|
|
22
|
-
userInteraction_1.default.progress(
|
|
22
|
+
userInteraction_1.default.progress(configuration_1.TestCommand.toString(testCommand));
|
|
23
23
|
userInteraction_1.default.progress(``);
|
|
24
24
|
if (await userInteraction_1.default.confirm('Use this suggested test command?')) {
|
|
25
25
|
await (0, configuration_1.writeConfigOption)('test_recording.test_commands', [testCommand]);
|
|
@@ -35,11 +35,14 @@ async function obtainTestCommands() {
|
|
|
35
35
|
}
|
|
36
36
|
let confirmed = false;
|
|
37
37
|
while (!confirmed) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
let testCommand;
|
|
39
|
+
do {
|
|
40
|
+
testCommand = (await userInteraction_1.default.prompt({
|
|
41
|
+
name: 'testCommand',
|
|
42
|
+
type: 'input',
|
|
43
|
+
message: 'Test command (without env vars):',
|
|
44
|
+
}))['testCommand'];
|
|
45
|
+
} while (!testCommand);
|
|
43
46
|
const { envVars } = await userInteraction_1.default.prompt({
|
|
44
47
|
name: 'envVars',
|
|
45
48
|
type: 'input',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obtainTestCommands.js","sourceRoot":"","sources":["../../../../../src/cmds/record/prompt/obtainTestCommands.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"obtainTestCommands.js","sourceRoot":"","sources":["../../../../../src/cmds/record/prompt/obtainTestCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ const configuration_1 = require("./configuration");
|
|
|
30
30
|
const process_1 = require("process");
|
|
31
31
|
const initial_1 = __importDefault(require("./state/initial"));
|
|
32
32
|
const telemetry_1 = __importDefault(require("../../telemetry"));
|
|
33
|
+
const recordContext_1 = __importDefault(require("./recordContext"));
|
|
33
34
|
exports.command = 'record [mode]';
|
|
34
35
|
exports.describe = 'Create an AppMap via interactive recording, aka remote recording.';
|
|
35
36
|
const builder = (args) => {
|
|
@@ -61,24 +62,44 @@ async function handler(argv) {
|
|
|
61
62
|
}
|
|
62
63
|
if (appmapConfig)
|
|
63
64
|
(0, configuration_1.setAppMapConfigFilePath)(appmapConfig);
|
|
65
|
+
const recordContext = new recordContext_1.default(directory || '.');
|
|
66
|
+
await recordContext.initialize();
|
|
64
67
|
const { mode } = argv;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
async function initialState() {
|
|
69
|
+
if (mode) {
|
|
70
|
+
recordContext.recordMethod = mode;
|
|
71
|
+
return (await Promise.resolve().then(() => __importStar(require(`./state/record_${mode}`)))).default;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return initial_1.default;
|
|
75
|
+
}
|
|
71
76
|
}
|
|
77
|
+
let state = await initialState();
|
|
72
78
|
while (state && typeof state === 'function') {
|
|
73
79
|
if ((0, utils_1.verbose)())
|
|
74
80
|
console.warn(`Entering state: ${state.name}`);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
let errorMessage;
|
|
82
|
+
let newState;
|
|
83
|
+
try {
|
|
84
|
+
newState = await state(recordContext);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
errorMessage = err.toString();
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
const properties = recordContext.properties();
|
|
92
|
+
if (errorMessage) {
|
|
93
|
+
properties.errorMessage = errorMessage;
|
|
94
|
+
}
|
|
95
|
+
telemetry_1.default.sendEvent({
|
|
96
|
+
name: `record:${state.name}`,
|
|
97
|
+
properties,
|
|
98
|
+
metrics: Object.assign({
|
|
99
|
+
duration: (0, utils_1.endTime)(),
|
|
100
|
+
}, recordContext.metrics()),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
82
103
|
state = newState;
|
|
83
104
|
}
|
|
84
105
|
if (typeof state === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cmds/record/record.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA+C;AAC/C,+DAAuC;AACvC,oEAA4C;AAE5C,mDAA0D;AAG1D,qCAAgC;AAEhC,8DAAsC;AACtC,gEAAwC;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cmds/record/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 countAppMaps_1 = __importDefault(require("./action/countAppMaps"));
|
|
7
|
+
const configuration_1 = require("./configuration");
|
|
8
|
+
class RecordContext {
|
|
9
|
+
constructor(appMapDir) {
|
|
10
|
+
this.appMapDir = appMapDir;
|
|
11
|
+
}
|
|
12
|
+
async initialize() {
|
|
13
|
+
this.initialAppMapCount = await (0, countAppMaps_1.default)(this.appMapDir);
|
|
14
|
+
}
|
|
15
|
+
properties() {
|
|
16
|
+
const result = {};
|
|
17
|
+
if (this.recordMethod)
|
|
18
|
+
result.recordMethod = this.recordMethod;
|
|
19
|
+
if (this.url)
|
|
20
|
+
result.url = this.url;
|
|
21
|
+
if (this.testCommands)
|
|
22
|
+
result.testCommands = this.testCommands.join('; ');
|
|
23
|
+
if (this.exitCodes)
|
|
24
|
+
result.exitCodes = this.exitCodes.map(String).join(', ');
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
metrics() {
|
|
28
|
+
const result = {};
|
|
29
|
+
if (this.maxTime)
|
|
30
|
+
result.maxTime = this.maxTime;
|
|
31
|
+
if (this.initialAppMapCount)
|
|
32
|
+
result.initialAppMapCount = this.initialAppMapCount;
|
|
33
|
+
if (this.appMapCount)
|
|
34
|
+
result.appMapCount = this.appMapCount;
|
|
35
|
+
if (this.appMapEventCount)
|
|
36
|
+
result.appMapEventCount = this.appMapEventCount;
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
async populateURL() {
|
|
40
|
+
this.url = await (0, configuration_1.locationString)();
|
|
41
|
+
}
|
|
42
|
+
async populateTestCommands() {
|
|
43
|
+
this.testCommands = (await (0, configuration_1.readConfigOption)('test_recording.test_commands', [])).map(configuration_1.TestCommand.toString);
|
|
44
|
+
}
|
|
45
|
+
async populateMaxTime() {
|
|
46
|
+
this.maxTime = (await (0, configuration_1.readSetting)('test_recording.max_time', 30));
|
|
47
|
+
}
|
|
48
|
+
async populateAppMapCount() {
|
|
49
|
+
const appMapCount = await (0, countAppMaps_1.default)(this.appMapDir);
|
|
50
|
+
this.appMapCount = appMapCount;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.default = RecordContext;
|
|
54
|
+
//# sourceMappingURL=recordContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordContext.js","sourceRoot":"","sources":["../../../../src/cmds/record/recordContext.ts"],"names":[],"mappings":";;;;;AAAA,yEAAiD;AACjD,mDAKyB;AAEzB,MAAqB,aAAa;IAUhC,YAAmB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAExC,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAA,sBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,EAA4B,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/D,IAAI,IAAI,CAAC,GAAG;YAAE,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,SAAS;YAChB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,EAA4B,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChD,IAAI,IAAI,CAAC,kBAAkB;YACzB,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5D,IAAI,IAAI,CAAC,gBAAgB;YAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,CAAC,YAAY,GACf,CAAC,MAAM,IAAA,gCAAgB,EACrB,8BAA8B,EAC9B,EAAE,CACH,CACF,CAAC,GAAG,CAAC,2BAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,IAAA,2BAAW,EAAC,yBAAyB,EAAE,EAAE,CAAC,CAAW,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAzDD,gCAyDC"}
|
|
@@ -27,14 +27,14 @@ const cancelRecording_1 = __importDefault(require("../action/cancelRecording"));
|
|
|
27
27
|
const agentAvailableAndReady_1 = __importDefault(require("./agentAvailableAndReady"));
|
|
28
28
|
const saveRecording_1 = __importDefault(require("../action/saveRecording"));
|
|
29
29
|
const abort_1 = __importDefault(require("./abort"));
|
|
30
|
-
async function agentIsRecording() {
|
|
30
|
+
async function agentIsRecording(recordContext) {
|
|
31
31
|
const recordingAction = await (0, recordingInProgress_1.default)();
|
|
32
32
|
if (recordingAction === recordingInProgress_1.RecordingAction.Cancel) {
|
|
33
33
|
await (0, cancelRecording_1.default)();
|
|
34
34
|
return agentAvailableAndReady_1.default;
|
|
35
35
|
}
|
|
36
36
|
else if (recordingAction === recordingInProgress_1.RecordingAction.Save) {
|
|
37
|
-
await (0, saveRecording_1.default)();
|
|
37
|
+
await (0, saveRecording_1.default)(recordContext);
|
|
38
38
|
return agentAvailableAndReady_1.default;
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentIsRecording.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/agentIsRecording.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAEuC;AACvC,gFAAwD;AACxD,sFAA+D;AAC/D,4EAAoD;AAEpD,oDAA4B;
|
|
1
|
+
{"version":3,"file":"agentIsRecording.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/agentIsRecording.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAEuC;AACvC,gFAAwD;AACxD,sFAA+D;AAC/D,4EAAoD;AAEpD,oDAA4B;AAGb,KAAK,UAAU,gBAAgB,CAC5C,aAA4B;IAE5B,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAyB,GAAE,CAAC;IAE1D,IAAI,eAAe,KAAK,qCAAe,CAAC,MAAM,EAAE;QAC9C,MAAM,IAAA,yBAAe,GAAE,CAAC;QACxB,OAAO,gCAAuB,CAAC;KAChC;SAAM,IAAI,eAAe,KAAK,qCAAe,CAAC,IAAI,EAAE;QACnD,MAAM,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC;QACnC,OAAO,gCAAuB,CAAC;KAChC;SAAM;QACL,OAAO,eAAK,CAAC;KACd;AACH,CAAC;AAdD,mCAcC"}
|
|
@@ -14,7 +14,7 @@ const record_remote_1 = __importDefault(require("./record_remote"));
|
|
|
14
14
|
// * The agent process is running, but the agent isn't reachable (e.g. security filter?).
|
|
15
15
|
// * The host/port parameters are wrong.
|
|
16
16
|
// * The host/port parameters are right, but the agent URL is different than the default.
|
|
17
|
-
async function agentNotAvailable() {
|
|
17
|
+
async function agentNotAvailable(recordContext) {
|
|
18
18
|
if (!(await (0, detectProcessCharacteristics_1.default)())) {
|
|
19
19
|
return agentProcessNotRunning_1.default;
|
|
20
20
|
}
|
|
@@ -35,6 +35,7 @@ For case (2), you should contact AppMap support for help with troubleshooting.
|
|
|
35
35
|
For case (3), you can configure the application URL path and protocol.
|
|
36
36
|
`);
|
|
37
37
|
await (0, configureRemainingRequestOptions_1.default)();
|
|
38
|
+
await recordContext.populateURL();
|
|
38
39
|
return record_remote_1.default;
|
|
39
40
|
}
|
|
40
41
|
exports.default = agentNotAvailable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentNotAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/agentNotAvailable.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AAEvC,kHAA0F;AAC1F,0GAAkF;
|
|
1
|
+
{"version":3,"file":"agentNotAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/agentNotAvailable.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AAEvC,kHAA0F;AAC1F,0GAAkF;AAElF,gFAAwD;AAExD,sFAA8D;AAC9D,oEAAsC;AAEtC,kFAAkF;AAClF,qCAAqC;AACrC,yFAAyF;AACzF,wCAAwC;AACxC,yFAAyF;AAC1E,KAAK,UAAU,iBAAiB,CAC7C,aAA4B;IAE5B,IAAI,CAAC,CAAC,MAAM,IAAA,sCAA4B,GAAE,CAAC,EAAE;QAC3C,OAAO,gCAAsB,CAAC;KAC/B;IAED,IAAI,MAAM,IAAA,0BAAgB,GAAE,EAAE;QAC5B,OAAO,uBAAO,CAAC;KAChB;IAED,yBAAE,CAAC,QAAQ,CACT;;;;;;;;;;;;CAYH,CACE,CAAC;IAEF,MAAM,IAAA,0CAAgC,GAAE,CAAC;IAEzC,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;IAElC,OAAO,uBAAO,CAAC;AACjB,CAAC;AAhCD,oCAgCC"}
|
|
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
const userInteraction_1 = __importDefault(require("../../userInteraction"));
|
|
26
|
-
async function initial() {
|
|
26
|
+
async function initial(recordContext) {
|
|
27
27
|
const choices = {
|
|
28
28
|
'test cases': 'test',
|
|
29
29
|
'remote recording': 'remote',
|
|
@@ -35,6 +35,7 @@ async function initial() {
|
|
|
35
35
|
choices: Object.keys(choices),
|
|
36
36
|
});
|
|
37
37
|
const method = choices[methodName];
|
|
38
|
+
recordContext.recordMethod = method;
|
|
38
39
|
return (await Promise.resolve().then(() => __importStar(require(`./record_${method}`)))).default;
|
|
39
40
|
}
|
|
40
41
|
exports.default = initial;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/initial.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAAuC;
|
|
1
|
+
{"version":3,"file":"initial.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/initial.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAAuC;AAIxB,KAAK,UAAU,OAAO,CACnC,aAA4B;IAE5B,MAAM,OAAO,GAAG;QACd,YAAY,EAAE,MAAM;QACpB,kBAAkB,EAAE,QAAQ;KAC7B,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC,aAAa,CAAC,YAAY,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,wDAAa,YAAY,MAAM,EAAE,GAAC,CAAC,CAAC,OAAO,CAAC;AACtD,CAAC;AAlBD,0BAkBC"}
|
|
@@ -10,7 +10,8 @@ const agentIsRecording_1 = __importDefault(require("./agentIsRecording"));
|
|
|
10
10
|
const agentNotAvailable_1 = __importDefault(require("./agentNotAvailable"));
|
|
11
11
|
// This is the initial state of remote recording. From here, the connection to the AppMap
|
|
12
12
|
// agent must be configured and verified, and then the recording will be run.
|
|
13
|
-
async function remote() {
|
|
13
|
+
async function remote(recordContext) {
|
|
14
|
+
await recordContext.populateURL();
|
|
14
15
|
if (await (0, isAgentAvailable_1.default)()) {
|
|
15
16
|
if (!(await (0, isRecordingInProgress_1.default)())) {
|
|
16
17
|
return agentAvailableAndReady_1.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record_remote.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/record_remote.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,0FAAkE;AAClE,sFAA8D;AAC9D,0EAAkD;AAClD,4EAAoD;
|
|
1
|
+
{"version":3,"file":"record_remote.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/record_remote.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,0FAAkE;AAClE,sFAA8D;AAC9D,0EAAkD;AAClD,4EAAoD;AAKpD,yFAAyF;AACzF,6EAA6E;AAC9D,KAAK,UAAU,MAAM,CAClC,aAA4B;IAE5B,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,IAAA,0BAAgB,GAAE,EAAE;QAC5B,IAAI,CAAC,CAAC,MAAM,IAAA,+BAAqB,GAAE,CAAC,EAAE;YACpC,OAAO,gCAAsB,CAAC;SAC/B;aAAM;YACL,OAAO,0BAAgB,CAAC;SACzB;KACF;SAAM;QACL,OAAO,2BAAiB,CAAC;KAC1B;AACH,CAAC;AAbD,yBAaC"}
|
|
@@ -8,8 +8,9 @@ const testCommandsNeeded_1 = __importDefault(require("./testCommandsNeeded"));
|
|
|
8
8
|
const testCommandsAvailable_1 = __importDefault(require("./testCommandsAvailable"));
|
|
9
9
|
// This is the initial state of test case recording. From here, the record command is
|
|
10
10
|
// configured by the user and executed.
|
|
11
|
-
async function test() {
|
|
11
|
+
async function test(recordContext) {
|
|
12
12
|
if (await (0, areTestCommandsConfigured_1.default)()) {
|
|
13
|
+
await recordContext.populateTestCommands();
|
|
13
14
|
return testCommandsAvailable_1.default;
|
|
14
15
|
}
|
|
15
16
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record_test.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/record_test.ts"],"names":[],"mappings":";;;;;AAAA,kGAA0E;AAE1E,8EAAsD;AACtD,oFAA4D;
|
|
1
|
+
{"version":3,"file":"record_test.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/record_test.ts"],"names":[],"mappings":";;;;;AAAA,kGAA0E;AAE1E,8EAAsD;AACtD,oFAA4D;AAG5D,qFAAqF;AACrF,uCAAuC;AACxB,KAAK,UAAU,IAAI,CAChC,aAA4B;IAE5B,IAAI,MAAM,IAAA,mCAAyB,GAAE,EAAE;QACrC,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAE3C,OAAO,+BAAqB,CAAC;KAC9B;SAAM;QACL,OAAO,4BAAkB,CAAC;KAC3B;AACH,CAAC;AAVD,uBAUC"}
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const saveRecording_1 = __importDefault(require("../action/saveRecording"));
|
|
7
7
|
// Recording has been completed.
|
|
8
|
-
async function recordingStopped() {
|
|
9
|
-
return (0, saveRecording_1.default)();
|
|
8
|
+
async function recordingStopped(recordContext) {
|
|
9
|
+
return (0, saveRecording_1.default)(recordContext);
|
|
10
10
|
}
|
|
11
11
|
exports.default = recordingStopped;
|
|
12
12
|
//# sourceMappingURL=recordingStopped.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordingStopped.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/recordingStopped.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;
|
|
1
|
+
{"version":3,"file":"recordingStopped.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/recordingStopped.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAIpD,gCAAgC;AACjB,KAAK,UAAU,gBAAgB,CAC5C,aAA4B;IAE5B,OAAO,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAJD,mCAIC"}
|
|
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const printAppMapCount_1 = __importDefault(require("../action/printAppMapCount"));
|
|
7
|
-
async function testCasesComplete() {
|
|
8
|
-
await
|
|
7
|
+
async function testCasesComplete(recordContext) {
|
|
8
|
+
await recordContext.populateAppMapCount();
|
|
9
|
+
await (0, printAppMapCount_1.default)(recordContext.appMapDir);
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
11
12
|
exports.default = testCasesComplete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCasesComplete.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCasesComplete.ts"],"names":[],"mappings":";;;;;AAAA,kFAA0D;
|
|
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,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;IAE1C,MAAM,IAAA,0BAAgB,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO;AACT,CAAC;AARD,oCAQC"}
|
|
@@ -3,10 +3,17 @@ 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"));
|
|
6
8
|
const testCaseRecording_1 = __importDefault(require("../testCaseRecording"));
|
|
7
9
|
const testCasesComplete_1 = __importDefault(require("./testCasesComplete"));
|
|
8
|
-
async function testCasesRunning() {
|
|
9
|
-
await testCaseRecording_1.default.waitFor();
|
|
10
|
+
async function testCasesRunning(recordContext) {
|
|
11
|
+
const exitCodes = await testCaseRecording_1.default.waitFor();
|
|
12
|
+
recordContext.exitCodes = exitCodes;
|
|
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
|
+
}
|
|
10
17
|
return testCasesComplete_1.default;
|
|
11
18
|
}
|
|
12
19
|
exports.default = testCasesRunning;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCasesRunning.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCasesRunning.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AAErD,4EAAoD;AAErC,KAAK,UAAU,gBAAgB;
|
|
1
|
+
{"version":3,"file":"testCasesRunning.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCasesRunning.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4EAAuC;AAEvC,6EAAqD;AAErD,4EAAoD;AAErC,KAAK,UAAU,gBAAgB,CAC5C,aAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,2BAAiB,CAAC,OAAO,EAAE,CAAC;IAEpD,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;QAC1C,yBAAE,CAAC,IAAI,CAAC,KAAK,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,yBAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAC9C;IAED,OAAO,2BAAiB,CAAC;AAC3B,CAAC;AAZD,mCAYC"}
|
|
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const startTestCases_1 = __importDefault(require("../action/startTestCases"));
|
|
7
7
|
const testCasesRunning_1 = __importDefault(require("./testCasesRunning"));
|
|
8
8
|
// Test cases are available and configured.
|
|
9
|
-
async function testCommandsAvailable() {
|
|
9
|
+
async function testCommandsAvailable(recordContext) {
|
|
10
10
|
await (0, startTestCases_1.default)();
|
|
11
|
+
await recordContext.populateMaxTime();
|
|
11
12
|
return testCasesRunning_1.default;
|
|
12
13
|
}
|
|
13
14
|
exports.default = testCommandsAvailable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCommandsAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCommandsAvailable.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AACtD,0EAAkD;
|
|
1
|
+
{"version":3,"file":"testCommandsAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCommandsAvailable.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AACtD,0EAAkD;AAIlD,2CAA2C;AAC5B,KAAK,UAAU,qBAAqB,CACjD,aAA4B;IAE5B,MAAM,IAAA,wBAAc,GAAE,CAAC;IAEvB,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;IAEtC,OAAO,0BAAgB,CAAC;AAC1B,CAAC;AARD,wCAQC"}
|
|
@@ -5,8 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const obtainTestCommands_1 = __importDefault(require("../prompt/obtainTestCommands"));
|
|
7
7
|
const testCommandsAvailable_1 = __importDefault(require("./testCommandsAvailable"));
|
|
8
|
-
async function testCommandsNeeded() {
|
|
8
|
+
async function testCommandsNeeded(recordContext) {
|
|
9
9
|
await (0, obtainTestCommands_1.default)();
|
|
10
|
+
await recordContext.populateTestCommands();
|
|
10
11
|
return testCommandsAvailable_1.default;
|
|
11
12
|
}
|
|
12
13
|
exports.default = testCommandsNeeded;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCommandsNeeded.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCommandsNeeded.ts"],"names":[],"mappings":";;;;;AAAA,sFAA8D;
|
|
1
|
+
{"version":3,"file":"testCommandsNeeded.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/testCommandsNeeded.ts"],"names":[],"mappings":";;;;;AAAA,sFAA8D;AAG9D,oFAA4D;AAE7C,KAAK,UAAU,kBAAkB,CAC9C,aAA4B;IAE5B,MAAM,IAAA,4BAAkB,GAAE,CAAC;IAE3B,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAC;IAE3C,OAAO,+BAAqB,CAAC;AAC/B,CAAC;AARD,qCAQC"}
|
|
@@ -8,15 +8,14 @@ const configuration_1 = require("../configuration");
|
|
|
8
8
|
const remoteRecording_1 = __importDefault(require("../remoteRecording"));
|
|
9
9
|
async function isAgentAvailable() {
|
|
10
10
|
const ro = await (0, configuration_1.requestOptions)();
|
|
11
|
-
|
|
12
|
-
userInteraction_1.default.status = `Checking if the AppMap agent is available at ${locationStr}`;
|
|
11
|
+
userInteraction_1.default.status = `Checking if the AppMap agent is available at ${(0, configuration_1.locationString)()}`;
|
|
13
12
|
try {
|
|
14
13
|
await new remoteRecording_1.default(ro).status();
|
|
15
|
-
userInteraction_1.default.success(`AppMap agent is available at ${
|
|
14
|
+
userInteraction_1.default.success(`AppMap agent is available at ${(0, configuration_1.locationString)()}`);
|
|
16
15
|
return true;
|
|
17
16
|
}
|
|
18
17
|
catch (e) {
|
|
19
|
-
userInteraction_1.default.error(`AppMap agent is not avaliable at ${
|
|
18
|
+
userInteraction_1.default.error(`AppMap agent is not avaliable at ${(0, configuration_1.locationString)()}: ${e.toString()}`);
|
|
20
19
|
return false;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isAgentAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/test/isAgentAvailable.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"isAgentAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/test/isAgentAvailable.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,oDAAkE;AAClE,yEAAiD;AAElC,KAAK,UAAU,gBAAgB;IAC5C,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IAClC,yBAAE,CAAC,MAAM,GAAG,gDAAgD,IAAA,8BAAc,GAAE,EAAE,CAAC;IAC/E,IAAI;QACF,MAAM,IAAI,yBAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,yBAAE,CAAC,OAAO,CAAC,gCAAgC,IAAA,8BAAc,GAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAM,EAAE;QACf,yBAAE,CAAC,KAAK,CACN,oCAAoC,IAAA,8BAAc,GAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CACxE,CAAC;QACF,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAbD,mCAaC"}
|