@appland/appmap 3.35.0 → 3.37.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/built/appmap.html +1 -1
  3. package/built/cli.js +2 -2
  4. package/built/cli.js.map +1 -1
  5. package/built/cmds/agentInstaller/agentInstaller.js.map +1 -1
  6. package/built/cmds/agentInstaller/agentInstallerProcedure.js +1 -0
  7. package/built/cmds/agentInstaller/agentInstallerProcedure.js.map +1 -1
  8. package/built/cmds/agentInstaller/gradleInstaller.js +9 -3
  9. package/built/cmds/agentInstaller/gradleInstaller.js.map +1 -1
  10. package/built/cmds/agentInstaller/install-agent.js +23 -7
  11. package/built/cmds/agentInstaller/install-agent.js.map +1 -1
  12. package/built/cmds/agentInstaller/javaScriptAgentInstaller.js +24 -1
  13. package/built/cmds/agentInstaller/javaScriptAgentInstaller.js.map +1 -1
  14. package/built/cmds/agentInstaller/mavenInstaller.js +2 -0
  15. package/built/cmds/agentInstaller/mavenInstaller.js.map +1 -1
  16. package/built/cmds/agentInstaller/pythonAgentInstaller.js +19 -0
  17. package/built/cmds/agentInstaller/pythonAgentInstaller.js.map +1 -1
  18. package/built/cmds/agentInstaller/rubyAgentInstaller.js +10 -0
  19. package/built/cmds/agentInstaller/rubyAgentInstaller.js.map +1 -1
  20. package/built/cmds/errors.js +4 -1
  21. package/built/cmds/errors.js.map +1 -1
  22. package/built/cmds/record/action/cancelRecording.js +2 -3
  23. package/built/cmds/record/action/cancelRecording.js.map +1 -1
  24. package/built/cmds/record/action/configureHostAndPort.js +6 -6
  25. package/built/cmds/record/action/configureHostAndPort.js.map +1 -1
  26. package/built/cmds/record/action/configureRemainingRequestOptions.js +7 -7
  27. package/built/cmds/record/action/configureRemainingRequestOptions.js.map +1 -1
  28. package/built/cmds/record/action/detectProcessCharacteristics.js +2 -3
  29. package/built/cmds/record/action/detectProcessCharacteristics.js.map +1 -1
  30. package/built/cmds/record/action/saveAppMap.js +2 -3
  31. package/built/cmds/record/action/saveAppMap.js.map +1 -1
  32. package/built/cmds/record/action/saveRecording.js +2 -3
  33. package/built/cmds/record/action/saveRecording.js.map +1 -1
  34. package/built/cmds/record/action/startRecording.js +2 -3
  35. package/built/cmds/record/action/startRecording.js.map +1 -1
  36. package/built/cmds/record/action/startTestCases.js +6 -5
  37. package/built/cmds/record/action/startTestCases.js.map +1 -1
  38. package/built/cmds/record/configuration.js +66 -84
  39. package/built/cmds/record/configuration.js.map +1 -1
  40. package/built/cmds/record/makeRequest.js +50 -0
  41. package/built/cmds/record/makeRequest.js.map +1 -0
  42. package/built/cmds/record/prompt/continueWithRequestOptionConfiguration.js +2 -3
  43. package/built/cmds/record/prompt/continueWithRequestOptionConfiguration.js.map +1 -1
  44. package/built/cmds/record/prompt/obtainTestCommands.js +7 -3
  45. package/built/cmds/record/prompt/obtainTestCommands.js.map +1 -1
  46. package/built/cmds/record/record.js +110 -83
  47. package/built/cmds/record/record.js.map +1 -1
  48. package/built/cmds/record/recordContext.js +11 -7
  49. package/built/cmds/record/recordContext.js.map +1 -1
  50. package/built/cmds/record/remoteRecording.js +7 -35
  51. package/built/cmds/record/remoteRecording.js.map +1 -1
  52. package/built/cmds/record/state/agentAvailableAndReady.js +2 -2
  53. package/built/cmds/record/state/agentAvailableAndReady.js.map +1 -1
  54. package/built/cmds/record/state/agentIsRecording.js +1 -1
  55. package/built/cmds/record/state/agentIsRecording.js.map +1 -1
  56. package/built/cmds/record/state/agentNotAvailable.js +37 -10
  57. package/built/cmds/record/state/agentNotAvailable.js.map +1 -1
  58. package/built/cmds/record/state/agentProcessNotRunning.js +2 -2
  59. package/built/cmds/record/state/agentProcessNotRunning.js.map +1 -1
  60. package/built/cmds/record/state/initial.js +6 -1
  61. package/built/cmds/record/state/initial.js.map +1 -1
  62. package/built/cmds/record/state/record_remote.js +3 -3
  63. package/built/cmds/record/state/record_remote.js.map +1 -1
  64. package/built/cmds/record/state/record_test.js +2 -2
  65. package/built/cmds/record/state/record_test.js.map +1 -1
  66. package/built/cmds/record/state/testCasesComplete.js +9 -6
  67. package/built/cmds/record/state/testCasesComplete.js.map +1 -1
  68. package/built/cmds/record/state/testCommandsAvailable.js +1 -1
  69. package/built/cmds/record/state/testCommandsAvailable.js.map +1 -1
  70. package/built/cmds/record/state/testCommandsNeeded.js +2 -2
  71. package/built/cmds/record/state/testCommandsNeeded.js.map +1 -1
  72. package/built/cmds/record/test/areTestCommandsConfigured.js +4 -4
  73. package/built/cmds/record/test/areTestCommandsConfigured.js.map +1 -1
  74. package/built/cmds/record/test/isAgentAvailable.js +12 -5
  75. package/built/cmds/record/test/isAgentAvailable.js.map +1 -1
  76. package/built/cmds/record/test/isRecordingInProgress.js +2 -3
  77. package/built/cmds/record/test/isRecordingInProgress.js.map +1 -1
  78. package/built/cmds/record/testCaseRecording.js +3 -4
  79. package/built/cmds/record/testCaseRecording.js.map +1 -1
  80. package/built/cmds/runCommand.js +3 -1
  81. package/built/cmds/runCommand.js.map +1 -1
  82. package/built/lib/ticket/openTicket.js +30 -36
  83. package/built/lib/ticket/openTicket.js.map +1 -1
  84. package/built/lib/ticket/zendesk.js +3 -2
  85. package/built/lib/ticket/zendesk.js.map +1 -1
  86. package/built/main.js.map +1 -1
  87. package/package.json +4 -4
@@ -4,9 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
- const configuration_1 = require("../configuration");
8
- async function configureRemainingRequestOptions() {
9
- const defaultPath = await (0, configuration_1.readConfigOption)('remote_recording.path', '/');
7
+ async function configureRemainingRequestOptions({ configuration, }) {
8
+ const defaultPath = configuration.configOption('remote_recording.path', '/');
10
9
  const { baseURL: path } = await userInteraction_1.default.prompt({
11
10
  type: 'input',
12
11
  name: 'baseURL',
@@ -19,9 +18,9 @@ async function configureRemainingRequestOptions() {
19
18
  basePath = [basePath, '/'].join('');
20
19
  if (!basePath.startsWith('/'))
21
20
  basePath = ['/', basePath].join('');
22
- await (0, configuration_1.writeConfigOption)('remote_recording.path', basePath);
21
+ configuration.setConfigOption('remote_recording.path', basePath);
23
22
  }
24
- const defaultProtocol = await (0, configuration_1.readConfigOption)('remote_recording.protocol', 'http:');
23
+ const defaultProtocol = configuration.configOption('remote_recording.protocol', 'http:');
25
24
  const { useSSL } = await userInteraction_1.default.prompt({
26
25
  type: 'confirm',
27
26
  name: 'useSSL',
@@ -30,9 +29,10 @@ async function configureRemainingRequestOptions() {
30
29
  });
31
30
  const protocol = useSSL ? 'https:' : 'http:';
32
31
  if (protocol !== defaultProtocol) {
33
- await (0, configuration_1.writeConfigOption)('remote_recording.protocol', protocol);
32
+ configuration.setConfigOption('remote_recording.protocol', protocol);
34
33
  }
35
- const ro = await (0, configuration_1.requestOptions)();
34
+ await configuration.write();
35
+ const ro = configuration.requestOptions();
36
36
  userInteraction_1.default.progress(`Here's the URL I will use to try and connect to the AppMap agent:\n`);
37
37
  userInteraction_1.default.progress(`${ro.protocol}//${ro.hostname}:${ro.port}${ro.path}_appmap/record`);
38
38
  userInteraction_1.default.progress('');
@@ -1 +1 @@
1
- {"version":3,"file":"configureRemainingRequestOptions.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/configureRemainingRequestOptions.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,oDAM0B;AAEX,KAAK,UAAU,gCAAgC;IAC5D,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAgB,EAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IACzE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnE,MAAM,IAAA,iCAAiB,EAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;KAC5D;IAED,MAAM,eAAe,GAAG,MAAM,IAAA,gCAAgB,EAC5C,2BAA2B,EAC3B,OAAO,CACR,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,eAAe,KAAK,QAAQ;KACtC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,IAAI,QAAQ,KAAK,eAAe,EAAE;QAChC,MAAM,IAAA,iCAAiB,EAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;KAChE;IAED,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IAClC,yBAAE,CAAC,QAAQ,CACT,qEAAqE,CACtE,CAAC;IACF,yBAAE,CAAC,QAAQ,CACT,GAAG,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,gBAAgB,CACpE,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AA1CD,mDA0CC"}
1
+ {"version":3,"file":"configureRemainingRequestOptions.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/configureRemainingRequestOptions.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AAGxB,KAAK,UAAU,gCAAgC,CAAC,EAC7D,aAAa,GACC;IACd,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC7E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACxC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnE,aAAa,CAAC,eAAe,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;KAClE;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAChD,2BAA2B,EAC3B,OAAO,CACR,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,eAAe,KAAK,QAAQ;KACtC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,IAAI,QAAQ,KAAK,eAAe,EAAE;QAChC,aAAa,CAAC,eAAe,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;KACtE;IACD,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;IAE5B,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IAC1C,yBAAE,CAAC,QAAQ,CACT,qEAAqE,CACtE,CAAC;IACF,yBAAE,CAAC,QAAQ,CACT,GAAG,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,gBAAgB,CACpE,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AA7CD,mDA6CC"}
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
7
  const port_pid_1 = __importDefault(require("port-pid"));
8
8
  const ps_node_1 = __importDefault(require("ps-node"));
9
- const configuration_1 = require("../configuration");
10
- async function detectProcessCharacteristics() {
11
- const ro = await (0, configuration_1.requestOptions)();
9
+ async function detectProcessCharacteristics({ configuration, }) {
10
+ const ro = configuration.requestOptions();
12
11
  if (ro.hostname !== 'localhost') {
13
12
  return false;
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detectProcessCharacteristics.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/detectProcessCharacteristics.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,wDAA+B;AAC/B,sDAAyB;AACzB,oDAAkD;AAEnC,KAAK,UAAU,4BAA4B;IACxD,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IAClC,IAAI,EAAE,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IAED,yBAAE,CAAC,MAAM,GAAG,gDAAgD,EAAE,CAAC,IAAI,KAAK,CAAC;IAEzE,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,EAAE,CAAC;iBACX;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,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAqB,MAAM,IAAA,kBAAO,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CACxD,KAAK,EAAE,IAAU,EAAE,EAAE;QACnB,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;IACH,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE;QACT,yBAAE,CAAC,KAAK,EAAE,CAAC;QACX,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,KAAK,CAAC;KACd;IAED,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,sDAAsD;YAC/D,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AA7DD,+CA6DC"}
1
+ {"version":3,"file":"detectProcessCharacteristics.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/detectProcessCharacteristics.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,wDAA+B;AAC/B,sDAAyB;AAGV,KAAK,UAAU,4BAA4B,CAAC,EACzD,aAAa,GACC;IACd,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IAC1C,IAAI,EAAE,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IAED,yBAAE,CAAC,MAAM,GAAG,gDAAgD,EAAE,CAAC,IAAI,KAAK,CAAC;IAEzE,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,EAAE,CAAC;iBACX;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,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAqB,MAAM,IAAA,kBAAO,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CACxD,KAAK,EAAE,IAAU,EAAE,EAAE;QACnB,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;IACH,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE;QACT,yBAAE,CAAC,KAAK,EAAE,CAAC;QACX,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,KAAK,CAAC;KACd;IAED,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,sDAAsD;YAC/D,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AA/DD,+CA+DC"}
@@ -7,11 +7,10 @@ const fs_extra_1 = require("fs-extra");
7
7
  const promises_1 = require("fs/promises");
8
8
  const path_1 = require("path");
9
9
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
10
- const configuration_1 = require("../configuration");
11
- async function saveAppMap(jsonData, appMapName) {
10
+ async function saveAppMap({ configuration }, jsonData, appMapName) {
12
11
  const data = JSON.stringify(jsonData);
13
12
  const fileName = `${appMapName}.appmap.json`;
14
- const outputDir = (0, path_1.join)((await (0, configuration_1.readConfigOption)('appmap_dir', 'tmp/appmap')), 'remote');
13
+ const outputDir = (0, path_1.join)(configuration.configOption('appmap_dir', 'tmp/appmap'), 'remote');
15
14
  await (0, fs_extra_1.mkdirp)(outputDir);
16
15
  userInteraction_1.default.status = `Saving recording to ${fileName} in directory ${outputDir}`;
17
16
  await (0, promises_1.writeFile)((0, path_1.join)(outputDir, fileName), data);
@@ -1 +1 @@
1
- {"version":3,"file":"saveAppMap.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/saveAppMap.ts"],"names":[],"mappings":";;;;;AAAA,uCAAkC;AAClC,0CAAwC;AACxC,+BAA4B;AAC5B,4EAAuC;AACvC,oDAAoD;AAErC,KAAK,UAAU,UAAU,CAAC,QAAa,EAAE,UAAkB;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,WAAI,EACpB,CAAC,MAAM,IAAA,gCAAgB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAW,EAC9D,QAAQ,CACT,CAAC;IACF,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC;IAExB,yBAAE,CAAC,MAAM,GAAG,uBAAuB,QAAQ,iBAAiB,SAAS,EAAE,CAAC;IAExE,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAEjD,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAjBD,6BAiBC"}
1
+ {"version":3,"file":"saveAppMap.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/saveAppMap.ts"],"names":[],"mappings":";;;;;AAAA,uCAAkC;AAClC,0CAAwC;AACxC,+BAA4B;AAC5B,4EAAuC;AAGxB,KAAK,UAAU,UAAU,CACtC,EAAE,aAAa,EAAiB,EAChC,QAAa,EACb,UAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,WAAI,EACpB,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAW,EAChE,QAAQ,CACT,CAAC;IACF,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC;IAExB,yBAAE,CAAC,MAAM,GAAG,uBAAuB,QAAQ,iBAAiB,SAAS,EAAE,CAAC;IAExE,MAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAEjD,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AArBD,6BAqBC"}
@@ -4,12 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
- const configuration_1 = require("../configuration");
8
7
  const remoteRecording_1 = __importDefault(require("../remoteRecording"));
9
8
  const nameAppMap_1 = __importDefault(require("./nameAppMap"));
10
9
  const saveAppMap_1 = __importDefault(require("./saveAppMap"));
11
10
  async function saveRecording(recordContext) {
12
- const rr = new remoteRecording_1.default(await (0, configuration_1.requestOptions)());
11
+ const rr = new remoteRecording_1.default(recordContext.configuration.requestOptions());
13
12
  let data = await rr.stop();
14
13
  if (data) {
15
14
  userInteraction_1.default.success(`Recording has finished, with ${data.length} bytes of data.`);
@@ -26,7 +25,7 @@ async function saveRecording(recordContext) {
26
25
  recordContext.appMapEventCount = jsonData.events.length;
27
26
  }
28
27
  const appMapName = await (0, nameAppMap_1.default)(jsonData);
29
- return (0, saveAppMap_1.default)(jsonData, appMapName);
28
+ return (0, saveAppMap_1.default)(recordContext, jsonData, appMapName);
30
29
  }
31
30
  exports.default = saveRecording;
32
31
  //# sourceMappingURL=saveRecording.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"saveRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/saveRecording.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,oDAAkD;AAElD,yEAAiD;AACjD,8DAAsC;AACtC,8DAAsC;AAEvB,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,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACnC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,aAAa,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACzD;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,IAAA,oBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAvBD,gCAuBC"}
1
+ {"version":3,"file":"saveRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/saveRecording.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AAEvC,yEAAiD;AACjD,8DAAsC;AACtC,8DAAsC;AAEvB,KAAK,UAAU,aAAa,CACzC,aAA4B;IAE5B,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7E,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,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACnC,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9B,aAAa,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACzD;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,IAAA,oBAAU,EAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AAvBD,gCAuBC"}
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
- const configuration_1 = require("../configuration");
8
7
  const remoteRecording_1 = __importDefault(require("../remoteRecording"));
9
- async function startRecording() {
10
- const ro = await (0, configuration_1.requestOptions)();
8
+ async function startRecording({ configuration }) {
9
+ const ro = configuration.requestOptions();
11
10
  userInteraction_1.default.progress('');
12
11
  await userInteraction_1.default.continue('Press enter to start recording');
13
12
  const rr = new remoteRecording_1.default(ro);
@@ -1 +1 @@
1
- {"version":3,"file":"startRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/startRecording.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,oDAAkD;AAClD,yEAAiD;AAElC,KAAK,UAAU,cAAc;IAC1C,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IAElC,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,yBAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,yBAAE,CAAC,QAAQ,CAAC;;CAEb,CAAC,CAAC;AACH,CAAC;AAZD,iCAYC"}
1
+ {"version":3,"file":"startRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/startRecording.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AAEvC,yEAAiD;AAElC,KAAK,UAAU,cAAc,CAAC,EAAE,aAAa,EAAiB;IAC3E,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IAE1C,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,yBAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IAEjB,yBAAE,CAAC,QAAQ,CAAC;;CAEb,CAAC,CAAC;AACH,CAAC;AAZD,iCAYC"}
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const testCaseRecording_1 = __importDefault(require("../testCaseRecording"));
7
7
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
8
- const configuration_1 = require("../configuration");
9
- async function startTestCases() {
8
+ async function startTestCases(context) {
9
+ const { configuration } = context;
10
10
  if (Boolean(process.stdout.isTTY)) {
11
- const defaultMaxTime = await (0, configuration_1.readSetting)('test_recording.max_time', 30);
11
+ const defaultMaxTime = configuration.setting('test_recording.max_time', 30);
12
12
  let maxTime;
13
13
  do {
14
14
  maxTime = (await userInteraction_1.default.prompt({
@@ -20,9 +20,10 @@ async function startTestCases() {
20
20
  maxTime = Number(maxTime);
21
21
  } while (Number.isNaN(maxTime));
22
22
  if (maxTime !== defaultMaxTime)
23
- await (0, configuration_1.writeSetting)('test_recording.max_time', maxTime);
23
+ configuration.setSetting('test_recording.max_time', maxTime);
24
+ await configuration.write();
24
25
  }
25
- await testCaseRecording_1.default.start();
26
+ await testCaseRecording_1.default.start(context);
26
27
  }
27
28
  exports.default = startTestCases;
28
29
  //# sourceMappingURL=startTestCases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startTestCases.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/startTestCases.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AACrD,4EAAuC;AACvC,oDAA6D;AAE9C,KAAK,UAAU,cAAc;IAC1C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACjC,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAW,EAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,OAA2B,CAAC;QAChC,GAAG;YACD,OAAO,GAAG,CACR,MAAM,yBAAE,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,qFAAqF;gBACvF,OAAO,EAAE,cAAc;aACxB,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;YACb,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;SAC3B,QAAQ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,OAAO,KAAK,cAAc;YAC5B,MAAM,IAAA,4BAAY,EAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;KAC1D;IAED,MAAM,2BAAiB,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AArBD,iCAqBC"}
1
+ {"version":3,"file":"startTestCases.js","sourceRoot":"","sources":["../../../../src/cmds/record/action/startTestCases.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AACrD,4EAAuC;AAGxB,KAAK,UAAU,cAAc,CAAC,OAAsB;IACjE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAClC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACjC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAI,OAA2B,CAAC;QAChC,GAAG;YACD,OAAO,GAAG,CACR,MAAM,yBAAE,CAAC,MAAM,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EACL,qFAAqF;gBACvF,OAAO,EAAE,cAAc;aACxB,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;YACb,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;SAC3B,QAAQ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAChC,IAAI,OAAO,KAAK,cAAc;YAC5B,aAAa,CAAC,UAAU,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;KAC7B;IAED,MAAM,2BAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAvBD,iCAuBC"}
@@ -3,14 +3,12 @@ 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.writeConfigOption = exports.writeSetting = exports.readConfigOption = exports.readSetting = exports.locationString = exports.requestOptions = exports.readAllSettings = exports.readConfig = exports.setAppMapSettingsFilePath = exports.setAppMapConfigFilePath = exports.TestCommand = void 0;
7
- const fs_1 = require("fs");
6
+ exports.TestCommand = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
8
  const promises_1 = require("fs/promises");
9
9
  const js_yaml_1 = require("js-yaml");
10
10
  const path_1 = require("path");
11
11
  const testCaseRecording_1 = __importDefault(require("./testCaseRecording"));
12
- let AppMapConfigFilePath = 'appmap.yml';
13
- let AppMapSettingsFilePath = (0, path_1.join)(process.env.HOME || '', '.appmaprc');
14
12
  class TestCommand {
15
13
  constructor(command, env = {}) {
16
14
  this.command = command;
@@ -21,27 +19,69 @@ class TestCommand {
21
19
  }
22
20
  }
23
21
  exports.TestCommand = TestCommand;
24
- // Returns the previous config file path.
25
- function setAppMapConfigFilePath(appMapFile) {
26
- const oldPath = AppMapConfigFilePath;
27
- AppMapConfigFilePath = appMapFile;
28
- if (!(0, fs_1.existsSync)(appMapFile)) {
29
- console.log(`Warning: AppMap config file ${appMapFile} does not exist.`);
30
- }
31
- return oldPath;
32
- }
33
- exports.setAppMapConfigFilePath = setAppMapConfigFilePath;
34
- // Returns the previous settings file path.
35
- function setAppMapSettingsFilePath(appMapFile) {
36
- const oldPath = AppMapSettingsFilePath;
37
- AppMapSettingsFilePath = appMapFile;
38
- return oldPath;
22
+ class Configuration {
23
+ constructor(appMapFile, settingsFile) {
24
+ this.configDirty = false;
25
+ this.settingsDirty = false;
26
+ this.appMapFile = appMapFile || 'appmap.yml';
27
+ this.settingsFile =
28
+ settingsFile || (0, path_1.join)(process.env.HOME || '', '.appmaprc');
29
+ }
30
+ async read() {
31
+ this.config = (await readConfig(this.appMapFile)) || {};
32
+ this.settings =
33
+ (await readAllSettings(this.settingsFile))[this.settingsKey()] || {};
34
+ }
35
+ async write() {
36
+ if (this.configDirty) {
37
+ await (0, promises_1.writeFile)(this.appMapFile, (0, js_yaml_1.dump)(this.config));
38
+ this.configDirty = false;
39
+ }
40
+ if (this.settingsDirty) {
41
+ const all = await readAllSettings(this.settingsFile);
42
+ (0, assert_1.default)(this.settings);
43
+ all[this.settingsKey()] = this.settings;
44
+ await (0, promises_1.writeFile)(this.settingsFile, (0, js_yaml_1.dump)(all));
45
+ this.settingsDirty = false;
46
+ }
47
+ }
48
+ configOption(path, defaultValue) {
49
+ return findOption(this.config, path, defaultValue);
50
+ }
51
+ setConfigOption(path, value) {
52
+ mergeConfigData(this.config, path, value);
53
+ this.configDirty = true;
54
+ }
55
+ setting(path, defaultValue) {
56
+ return findOption(this.settings, path, defaultValue);
57
+ }
58
+ setSetting(path, value) {
59
+ mergeConfigData(this.settings, path, value);
60
+ this.settingsDirty = true;
61
+ }
62
+ requestOptions() {
63
+ const requestOptions = {};
64
+ requestOptions.hostname = this.setting('remote_recording.host', 'localhost').toString();
65
+ requestOptions.port = this.setting('remote_recording.port', 3000);
66
+ requestOptions.path = this.configOption('remote_recording.path', '/').toString();
67
+ requestOptions.protocol = this.configOption('remote_recording.protocol', 'http:').toString();
68
+ return requestOptions;
69
+ }
70
+ locationString() {
71
+ const ro = this.requestOptions();
72
+ return `${ro.protocol}//${ro.hostname}:${ro.port}${ro.path}`;
73
+ }
74
+ settingsKey() {
75
+ return (0, path_1.isAbsolute)(this.appMapFile)
76
+ ? this.appMapFile
77
+ : (0, path_1.join)(process.cwd(), this.appMapFile);
78
+ }
39
79
  }
40
- exports.setAppMapSettingsFilePath = setAppMapSettingsFilePath;
41
- async function readConfig() {
80
+ exports.default = Configuration;
81
+ async function readConfig(path) {
42
82
  let fileContents;
43
83
  try {
44
- fileContents = await (0, promises_1.readFile)(AppMapConfigFilePath);
84
+ fileContents = await (0, promises_1.readFile)(path);
45
85
  }
46
86
  catch (_a) {
47
87
  return {};
@@ -51,67 +91,24 @@ async function readConfig() {
51
91
  config = (0, js_yaml_1.load)(fileContents.toString());
52
92
  }
53
93
  catch (err) {
54
- console.warn(`Error parsing AppMap config file ${AppMapConfigFilePath}: ${err}`);
94
+ console.warn(`Error parsing AppMap config file ${path}: ${err}`);
55
95
  config = {};
56
96
  }
57
97
  return config;
58
98
  }
59
- exports.readConfig = readConfig;
60
- function settingsKey() {
61
- return (0, path_1.isAbsolute)(AppMapConfigFilePath)
62
- ? AppMapConfigFilePath
63
- : (0, path_1.join)(process.cwd(), AppMapConfigFilePath);
64
- }
65
- async function readAllSettings() {
99
+ async function readAllSettings(path) {
66
100
  let settings;
67
101
  try {
68
- const fileContents = await (0, promises_1.readFile)(AppMapSettingsFilePath);
102
+ const fileContents = await (0, promises_1.readFile)(path);
69
103
  settings = (0, js_yaml_1.load)(fileContents.toString());
70
104
  // Make sure settings is an object.
71
- settings[settingsKey()];
105
+ settings['test'];
72
106
  }
73
107
  catch (_a) {
74
108
  settings = {};
75
109
  }
76
- if (!settings[settingsKey()]) {
77
- settings[settingsKey()] = {};
78
- }
79
110
  return settings;
80
111
  }
81
- exports.readAllSettings = readAllSettings;
82
- async function readSettings() {
83
- return (await readAllSettings())[settingsKey()];
84
- }
85
- async function writeConfig(config) {
86
- await (0, promises_1.writeFile)(AppMapConfigFilePath, (0, js_yaml_1.dump)(config));
87
- }
88
- async function writeSettings(settings) {
89
- await (0, promises_1.writeFile)(AppMapSettingsFilePath, (0, js_yaml_1.dump)(settings));
90
- }
91
- async function requestOptions() {
92
- const requestOptions = {};
93
- requestOptions.hostname = (await readSetting('remote_recording.host', 'localhost')).toString();
94
- requestOptions.port = (await readSetting('remote_recording.port', 3000));
95
- requestOptions.path = (await readConfigOption('remote_recording.path', '/')).toString();
96
- requestOptions.protocol = (await readConfigOption('remote_recording.protocol', 'http:')).toString();
97
- return requestOptions;
98
- }
99
- exports.requestOptions = requestOptions;
100
- async function locationString() {
101
- const ro = await requestOptions();
102
- return `${ro.protocol}//${ro.hostname}:${ro.port}${ro.path}`;
103
- }
104
- exports.locationString = locationString;
105
- async function readSetting(path, defaultValue) {
106
- const settings = await readSettings();
107
- return findOption(settings, path, defaultValue);
108
- }
109
- exports.readSetting = readSetting;
110
- async function readConfigOption(path, defaultValue) {
111
- const config = await readConfig();
112
- return findOption(config, path, defaultValue);
113
- }
114
- exports.readConfigOption = readConfigOption;
115
112
  function findOption(data, path, defaultValue) {
116
113
  if (!data)
117
114
  return defaultValue;
@@ -124,21 +121,6 @@ function findOption(data, path, defaultValue) {
124
121
  }
125
122
  return entry || defaultValue;
126
123
  }
127
- async function writeSetting(path, value) {
128
- const allSettings = await readAllSettings();
129
- const settings = allSettings[settingsKey()];
130
- mergeConfigData(settings, path, value);
131
- await writeSettings(allSettings);
132
- }
133
- exports.writeSetting = writeSetting;
134
- async function writeConfigOption(path, value) {
135
- const config = await readConfig();
136
- if (!config)
137
- return;
138
- mergeConfigData(config, path, value);
139
- await writeConfig(config);
140
- }
141
- exports.writeConfigOption = writeConfigOption;
142
124
  function mergeConfigData(data, path, value) {
143
125
  const tokens = path.split('.');
144
126
  const lastToken = tokens.pop();
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/cmds/record/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/cmds/record/configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
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.RemoteRecordingError = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ class RemoteRecordingError extends Error {
9
+ constructor(description, statusCode, method, path, msg) {
10
+ super(msg);
11
+ this.description = description;
12
+ this.statusCode = statusCode;
13
+ this.method = method;
14
+ this.path = path;
15
+ }
16
+ toString() {
17
+ return `description: ${this.description}
18
+ status: ${this.statusCode}
19
+ response text: ${this.message}`;
20
+ }
21
+ }
22
+ exports.RemoteRecordingError = RemoteRecordingError;
23
+ async function makeRequest(rr, path, method, description, statusCodes = [200, 201, 204], adapter) {
24
+ return new Promise((resolve, reject) => {
25
+ const { hostname: host, protocol, port } = rr.requestOptions;
26
+ const url = `${protocol}//${host}:${port}${path}`;
27
+ (0, axios_1.default)({
28
+ method,
29
+ url,
30
+ responseType: 'arraybuffer',
31
+ validateStatus: () => true,
32
+ adapter,
33
+ })
34
+ .then((response) => {
35
+ const statusCode = response.status;
36
+ const data = response.data.toString();
37
+ if (statusCodes.includes(statusCode)) {
38
+ resolve({ statusCode, data });
39
+ }
40
+ else {
41
+ reject(new RemoteRecordingError(description, statusCode, method, path, data));
42
+ }
43
+ })
44
+ .catch((e) => {
45
+ reject(e);
46
+ });
47
+ });
48
+ }
49
+ exports.default = makeRequest;
50
+ //# sourceMappingURL=makeRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRequest.js","sourceRoot":"","sources":["../../../src/cmds/record/makeRequest.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA4C;AAG5C,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACS,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,IAAY,EACnB,GAAW;QAEX,KAAK,CAAC,GAAG,CAAC,CAAC;QANJ,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;IAIrB,CAAC;IAED,QAAQ;QACN,OAAO,gBAAgB,IAAI,CAAC,WAAW;UACjC,IAAI,CAAC,UAAU;iBACR,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF;AAhBD,oDAgBC;AAEc,KAAK,UAAU,WAAW,CACvC,EAAmB,EACnB,IAAY,EACZ,MAAc,EACd,WAAmB,EACnB,cAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACvC,OAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC;QAC7D,MAAM,GAAG,GAAG,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QAClD,IAAA,eAAK,EAAC;YACJ,MAAM;YACN,GAAG;YACH,YAAY,EAAE,aAAa;YAC3B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;YAC1B,OAAO;SACR,CAAC;aACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEtC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACpC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/B;iBAAM;gBACL,MAAM,CACJ,IAAI,oBAAoB,CACtB,WAAW,EACX,UAAU,EACV,MAAM,EACN,IAAI,EACJ,IAAI,CACL,CACF,CAAC;aACH;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAxCD,8BAwCC"}
@@ -5,14 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ConfigurationAction = void 0;
7
7
  const userInteraction_1 = __importDefault(require("../../userInteraction"));
8
- const configuration_1 = require("../configuration");
9
8
  var ConfigurationAction;
10
9
  (function (ConfigurationAction) {
11
10
  ConfigurationAction["HostAndPort"] = "Reconfigure host and port";
12
11
  ConfigurationAction["RequestOptions"] = "Keep the host and port, and configure additional connection options";
13
12
  })(ConfigurationAction = exports.ConfigurationAction || (exports.ConfigurationAction = {}));
14
- async function continueWithRequestOptionConfiguration() {
15
- userInteraction_1.default.progress(`I can't find your AppMap server process on port ${(await (0, configuration_1.requestOptions)()).port}.`);
13
+ async function continueWithRequestOptionConfiguration({ configuration, }) {
14
+ userInteraction_1.default.progress(`I can't find your AppMap server process on port ${configuration.requestOptions().port}.`);
16
15
  userInteraction_1.default.progress('');
17
16
  userInteraction_1.default.progress(`If you're sure it's running on that port, we can continue with extra configuration ` +
18
17
  `options that may enable me to connect to the agent. ` +
@@ -1 +1 @@
1
- {"version":3,"file":"continueWithRequestOptionConfiguration.js","sourceRoot":"","sources":["../../../../src/cmds/record/prompt/continueWithRequestOptionConfiguration.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuC;AACvC,oDAAkD;AAElD,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,gEAAyC,CAAA;IACzC,6GAAsF,CAAA;AACxF,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAEc,KAAK,UAAU,sCAAsC;IAClE,yBAAE,CAAC,QAAQ,CACT,mDACE,CAAC,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC,IAC3B,GAAG,CACJ,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,yBAAE,CAAC,QAAQ,CACT,qFAAqF;QACnF,sDAAsD;QACtD,kEAAkE,CACrE,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,mBAAmB,CAAC,WAAW;YAC/B,mBAAmB,CAAC,cAAc;SACnC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAxBD,yDAwBC"}
1
+ {"version":3,"file":"continueWithRequestOptionConfiguration.js","sourceRoot":"","sources":["../../../../src/cmds/record/prompt/continueWithRequestOptionConfiguration.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuC;AAEvC,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,gEAAyC,CAAA;IACzC,6GAAsF,CAAA;AACxF,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAEc,KAAK,UAAU,sCAAsC,CAAC,EACnE,aAAa,GACC;IACd,yBAAE,CAAC,QAAQ,CACT,mDACE,aAAa,CAAC,cAAc,EAAE,CAAC,IACjC,GAAG,CACJ,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,yBAAE,CAAC,QAAQ,CACT,qFAAqF;QACnF,sDAAsD;QACtD,kEAAkE,CACrE,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,mBAAmB,CAAC,WAAW;YAC/B,mBAAmB,CAAC,cAAc;SACnC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,4BAA4B;KACtC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AA1BD,yDA0BC"}
@@ -7,7 +7,7 @@ const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
7
  const configuration_1 = require("../configuration");
8
8
  const guessTestCommands_1 = __importDefault(require("../action/guessTestCommands"));
9
9
  const testCaseRecording_1 = __importDefault(require("../testCaseRecording"));
10
- async function obtainTestCommands() {
10
+ async function obtainTestCommands({ configuration, }) {
11
11
  userInteraction_1.default.progress(``);
12
12
  userInteraction_1.default.progress(`In order to record test cases, you need to provide a command that I can use to run the tests. ` +
13
13
  `If your project has many test cases, ` +
@@ -22,7 +22,10 @@ async function obtainTestCommands() {
22
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
- await (0, configuration_1.writeConfigOption)('test_recording.test_commands', [testCommand]);
25
+ configuration.setConfigOption('test_recording.test_commands', [
26
+ testCommand,
27
+ ]);
28
+ await configuration.write();
26
29
  userInteraction_1.default.progress(``);
27
30
  userInteraction_1.default.progress(`I've written this test command to your AppMap configuration file (appmap.yml). ` +
28
31
  `The next time you run this program, it will be used automatically. You can change it in the appmap.yml ` +
@@ -66,9 +69,10 @@ async function obtainTestCommands() {
66
69
  userInteraction_1.default.progress('');
67
70
  confirmed = await userInteraction_1.default.confirm(`Continue with this command?`);
68
71
  if (confirmed) {
69
- await (0, configuration_1.writeConfigOption)('test_recording.test_commands', [
72
+ configuration.setConfigOption('test_recording.test_commands', [
70
73
  { env, command: testCommand },
71
74
  ]);
75
+ await configuration.write();
72
76
  }
73
77
  }
74
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"obtainTestCommands.js","sourceRoot":"","sources":["../../../../src/cmds/record/prompt/obtainTestCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"obtainTestCommands.js","sourceRoot":"","sources":["../../../../src/cmds/record/prompt/obtainTestCommands.ts"],"names":[],"mappings":"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"}