@alwaysmeticulous/cli 2.122.1 → 2.124.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.
@@ -11,4 +11,9 @@ export declare const runAllTestsInCloudCommand: import("yargs").CommandModule<un
11
11
  readonly string: true;
12
12
  readonly description: "The URL to execute the tests against. This parameter is required.";
13
13
  };
14
+ readonly keepTunnelOpenSec: {
15
+ readonly number: true;
16
+ readonly description: "Keep the tunnel open after test completion for the specified number of seconds. This is useful for debugging";
17
+ readonly default: 0;
18
+ };
14
19
  }>>;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runAllTestsInCloudCommand = void 0;
7
+ const client_1 = require("@alwaysmeticulous/client");
7
8
  const common_1 = require("@alwaysmeticulous/common");
8
9
  const remote_replay_launcher_1 = require("@alwaysmeticulous/remote-replay-launcher");
9
10
  const chalk_1 = __importDefault(require("chalk"));
@@ -20,7 +21,7 @@ const environmentToString = (environment) => {
20
21
  }
21
22
  return "cli-local";
22
23
  };
23
- const handler = async ({ apiToken, commitSha: commitSha_, appUrl, }) => {
24
+ const handler = async ({ apiToken, commitSha: commitSha_, appUrl, keepTunnelOpenSec, }) => {
24
25
  const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
25
26
  const commitSha = await (0, common_1.getCommitSha)(commitSha_);
26
27
  if (!commitSha) {
@@ -32,13 +33,24 @@ const handler = async ({ apiToken, commitSha: commitSha_, appUrl, }) => {
32
33
  const progressBar = new cli_progress_1.default.SingleBar({
33
34
  format: `Test Run execution progress |${chalk_1.default.cyan("{bar}")}| {percentage}% || {value}/{total} tests executed`,
34
35
  }, cli_progress_1.default.Presets.shades_classic);
36
+ const endProgressBar = () => {
37
+ progressBar.update(progressBar.getTotal());
38
+ progressBar.stop();
39
+ };
40
+ const keepTunnelOpenPromise = keepTunnelOpenSec > 0 ? (0, common_1.defer)() : null;
41
+ // Tunnel data set after within the onTunnelCreated callback below.
42
+ let tunnelData = null;
35
43
  try {
36
44
  const { testRun } = await (0, remote_replay_launcher_1.executeRemoteTestRun)({
37
45
  apiToken,
38
46
  commitSha,
39
47
  appUrl,
40
- onTunnelCreated: ({ url, basicAuthUser, basicAuthPassword }) => {
41
- logger.info(`\nExposing local service running at ${appUrl}: ${url}, user: ${basicAuthUser}, password: ${basicAuthPassword}`);
48
+ ...(keepTunnelOpenPromise
49
+ ? { keepTunnelOpenPromise: keepTunnelOpenPromise.promise }
50
+ : {}),
51
+ onTunnelCreated: (data) => {
52
+ tunnelData = data;
53
+ logger.info(`\nExposing local service running at ${appUrl}: ${data.url} user: ${data.basicAuthUser} password: ${data.basicAuthPassword}`);
42
54
  },
43
55
  onTestRunCreated: (testRun) => {
44
56
  logger.info(`\nTest run created: ${testRun.url}`);
@@ -56,6 +68,19 @@ const handler = async ({ apiToken, commitSha: commitSha_, appUrl, }) => {
56
68
  if (progressBar.getTotal() > 0) {
57
69
  progressBar.update(((_c = (_b = testRun.resultData) === null || _b === void 0 ? void 0 : _b.results) === null || _c === void 0 ? void 0 : _c.length) || 0);
58
70
  }
71
+ if (!client_1.IN_PROGRESS_TEST_RUN_STATUS.includes(testRun.status)) {
72
+ endProgressBar();
73
+ if (keepTunnelOpenPromise) {
74
+ logger.info(`Keeping tunnel open for ${keepTunnelOpenSec} seconds...`);
75
+ // tunnelData should be set in the onTunnelCreated callback.
76
+ if (tunnelData) {
77
+ logger.info(`Your app can be accessed from ${tunnelData.url} username: ${tunnelData.basicAuthUser} password: ${tunnelData.basicAuthPassword}`);
78
+ }
79
+ setTimeout(() => {
80
+ keepTunnelOpenPromise.resolve();
81
+ }, keepTunnelOpenSec * 1000);
82
+ }
83
+ }
59
84
  },
60
85
  environment: environmentToString((0, environment_utils_1.getEnvironment)()),
61
86
  });
@@ -69,8 +94,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, appUrl, }) => {
69
94
  }
70
95
  }
71
96
  finally {
72
- progressBar.update(progressBar.getTotal());
73
- progressBar.stop();
97
+ endProgressBar();
74
98
  }
75
99
  };
76
100
  exports.runAllTestsInCloudCommand = (0, command_builder_1.buildCommand)("run-all-tests-in-cloud")
@@ -83,6 +107,11 @@ exports.runAllTestsInCloudCommand = (0, command_builder_1.buildCommand)("run-all
83
107
  string: true,
84
108
  description: "The URL to execute the tests against. This parameter is required.",
85
109
  },
110
+ keepTunnelOpenSec: {
111
+ number: true,
112
+ description: "Keep the tunnel open after test completion for the specified number of seconds. This is useful for debugging",
113
+ default: 0,
114
+ },
86
115
  })
87
116
  .handler(handler);
88
117
  //# sourceMappingURL=run-all-tests-in-cloud.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-all-tests-in-cloud.command.js","sourceRoot":"","sources":["../../../src/commands/run-all-tests-in-cloud/run-all-tests-in-cloud.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-all-tests-in-cloud.command.js","sourceRoot":"","sources":["../../../src/commands/run-all-tests-in-cloud/run-all-tests-in-cloud.command.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAuE;AACvE,qDAIkC;AAClC,qFAGkD;AAClD,kDAA0B;AAC1B,gEAAuC;AACvC,wDAA2B;AAC3B,8CAAsB;AACtB,yEAAmE;AACnE,uEAA6D;AAC7D,qEAA4E;AAC5E,mFAG8C;AAS9C,MAAM,mBAAmB,GAAyC,CAChE,WAAW,EACX,EAAE;IACF,IAAI,WAAW,CAAC,IAAI,EAAE;QACpB,OAAO,UAAU,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;KACxC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAwC,KAAK,EAAE,EAC1D,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,MAAM,EACN,iBAAiB,GAClB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAY,EAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,CAAC,KAAK,CACV,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,CAAC,IAAI,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;IAElE,MAAM,uBAAuB,GAAG,IAAA,aAAG,EAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,SAAS,CAC3C;QACE,MAAM,EAAE,gCAAgC,eAAK,CAAC,IAAI,CAChD,OAAO,CACR,mDAAmD;KACrD,EACD,sBAAW,CAAC,OAAO,CAAC,cAAc,CACnC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,WAAW,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,cAAK,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3E,mEAAmE;IACnE,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAAoB,EAAC;YAC7C,QAAQ;YACR,SAAS;YACT,MAAM;YAEN,GAAG,CAAC,qBAAqB;gBACvB,CAAC,CAAC,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,OAAO,EAAE;gBAC1D,CAAC,CAAC,EAAE,CAAC;YAEP,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM,CAAC,IAAI,CACT,uCAAuC,MAAM,KAAK,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAC7H,CAAC;YACJ,CAAC;YAED,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;;gBAC5B,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC5B,uBAAuB,CAAC,UAAU,EAClC;oBACA,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBAE/B,MAAM,YAAY,GAAG,CAAA,MAAA,OAAO,CAAC,UAAU,CAAC,SAAS,0CAAE,MAAM,KAAI,CAAC,CAAC;oBAE/D,IAAI,YAAY,GAAG,CAAC,EAAE;wBACpB,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;qBACpC;iBACF;gBAED,IAAI,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;oBAC9B,WAAW,CAAC,MAAM,CAAC,CAAA,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,OAAO,0CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;iBAC9D;gBAED,IAAI,CAAC,oCAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACzD,cAAc,EAAE,CAAC;oBAEjB,IAAI,qBAAqB,EAAE;wBACzB,MAAM,CAAC,IAAI,CACT,2BAA2B,iBAAiB,aAAa,CAC1D,CAAC;wBAEF,4DAA4D;wBAC5D,IAAI,UAAU,EAAE;4BACd,MAAM,CAAC,IAAI,CACT,iCAAiC,UAAU,CAAC,GAAG,cAAc,UAAU,CAAC,aAAa,cAAc,UAAU,CAAC,iBAAiB,EAAE,CAClI,CAAC;yBACH;wBACD,UAAU,CAAC,GAAG,EAAE;4BACd,qBAAqB,CAAC,OAAO,EAAE,CAAC;wBAClC,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAC;qBAC9B;iBACF;YACH,CAAC;YACD,WAAW,EAAE,mBAAmB,CAAC,IAAA,kCAAc,GAAE,CAAC;SACnD,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,IAAA,iDAAsB,EAAC,KAAK,CAAC,EAAE;YACjC,MAAM,IAAI,4CAAiB,EAAE,CAAC;SAC/B;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;YAAS;QACR,cAAc,EAAE,CAAC;KAClB;AACH,CAAC,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,8BAAY,EAAC,wBAAwB,CAAC;KAC5E,OAAO,CAAC,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC;KAC3D,OAAO,CAAC;IACP,QAAQ,EAAE,wBAAO,CAAC,QAAQ;IAC1B,SAAS,EAAE,wBAAO,CAAC,SAAS;IAC5B,MAAM,EAAE;QACN,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,mEAAmE;KACtE;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,8GAA8G;QAChH,OAAO,EAAE,CAAC;KACX;CACO,CAAC;KACV,OAAO,CAAC,OAAO,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/cli",
3
- "version": "2.122.1",
3
+ "version": "2.124.0",
4
4
  "description": "The Meticulous CLI",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -29,17 +29,17 @@
29
29
  "depcheck": "depcheck --ignore-patterns=dist"
30
30
  },
31
31
  "dependencies": {
32
- "@alwaysmeticulous/api": "^2.122.0",
33
- "@alwaysmeticulous/client": "^2.122.0",
34
- "@alwaysmeticulous/common": "^2.122.0",
35
- "@alwaysmeticulous/downloading-helpers": "^2.122.1",
36
- "@alwaysmeticulous/record": "^2.122.0",
37
- "@alwaysmeticulous/remote-replay-launcher": "^2.122.0",
32
+ "@alwaysmeticulous/api": "^2.124.0",
33
+ "@alwaysmeticulous/client": "^2.124.0",
34
+ "@alwaysmeticulous/common": "^2.124.0",
35
+ "@alwaysmeticulous/downloading-helpers": "^2.124.0",
36
+ "@alwaysmeticulous/record": "^2.124.0",
37
+ "@alwaysmeticulous/remote-replay-launcher": "^2.124.0",
38
38
  "@alwaysmeticulous/replay-debugger-ui": "^2.106.1",
39
- "@alwaysmeticulous/replay-orchestrator-launcher": "^2.122.1",
40
- "@alwaysmeticulous/sdk-bundles-api": "^2.122.0",
41
- "@alwaysmeticulous/sentry": "^2.122.0",
42
- "@alwaysmeticulous/tunnels-client": "^2.118.0",
39
+ "@alwaysmeticulous/replay-orchestrator-launcher": "^2.124.0",
40
+ "@alwaysmeticulous/sdk-bundles-api": "^2.124.0",
41
+ "@alwaysmeticulous/sentry": "^2.124.0",
42
+ "@alwaysmeticulous/tunnels-client": "^2.123.0",
43
43
  "@sentry/node": "^7.107.0",
44
44
  "axios": "^1.2.6",
45
45
  "chalk": "^4.1.2",
@@ -88,5 +88,5 @@
88
88
  "coverageDirectory": "../coverage",
89
89
  "testEnvironment": "node"
90
90
  },
91
- "gitHead": "97e9df9046b3afdfb7b2d28a346670d93a66814a"
91
+ "gitHead": "32f2fda0b7612c8256d4fa6923a95ff4b3d42886"
92
92
  }