@alwaysmeticulous/cli 2.62.0 → 2.63.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.
@@ -5,6 +5,7 @@ const common_1 = require("@alwaysmeticulous/common");
5
5
  const replay_orchestrator_launcher_1 = require("@alwaysmeticulous/replay-orchestrator-launcher");
6
6
  const command_builder_1 = require("../../command-utils/command-builder");
7
7
  const common_options_1 = require("../../command-utils/common-options");
8
+ const apply_default_execution_options_from_project_1 = require("../../utils/apply-default-execution-options-from-project");
8
9
  const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
9
10
  const replay_debugger_ui_1 = require("./utils/replay-debugger.ui");
10
11
  const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, simulationIdForAssets, headless, devTools, bypassCSP, screenshot, baseReplayId, diffThreshold, diffPixelThreshold, shiftTime, networkStubbing, moveBeforeClick, cookiesFile, disableRemoteFonts, noSandbox, skipPauses, maxDurationMs, maxEventCount, storyboard, essentialFeaturesOnly, logPossibleNonDeterminism, debugger: enableStepThroughDebugger, }) => {
@@ -27,7 +28,7 @@ const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, si
27
28
  maxDurationMs: maxDurationMs !== null && maxDurationMs !== void 0 ? maxDurationMs : null,
28
29
  maxEventCount: maxEventCount !== null && maxEventCount !== void 0 ? maxEventCount : null,
29
30
  essentialFeaturesOnly,
30
- logPossibleNonDeterminism
31
+ logPossibleNonDeterminism,
31
32
  };
32
33
  const generatedByOption = { type: "replayCommand" };
33
34
  const storyboardOptions = storyboard
@@ -56,7 +57,10 @@ const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, si
56
57
  appUrl: appUrl !== null && appUrl !== void 0 ? appUrl : null,
57
58
  simulationIdForAssets: simulationIdForAssets !== null && simulationIdForAssets !== void 0 ? simulationIdForAssets : null,
58
59
  }),
59
- executionOptions,
60
+ executionOptions: await (0, apply_default_execution_options_from_project_1.applyDefaultExecutionOptionsFromProject)({
61
+ apiToken,
62
+ executionOptions,
63
+ }),
60
64
  screenshottingOptions,
61
65
  apiToken,
62
66
  commitSha,
@@ -5,6 +5,7 @@ const common_1 = require("@alwaysmeticulous/common");
5
5
  const replay_orchestrator_launcher_1 = require("@alwaysmeticulous/replay-orchestrator-launcher");
6
6
  const command_builder_1 = require("../../command-utils/command-builder");
7
7
  const common_options_1 = require("../../command-utils/common-options");
8
+ const apply_default_execution_options_from_project_1 = require("../../utils/apply-default-execution-options-from-project");
8
9
  const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
9
10
  const handler = async ({ apiToken, commitSha: commitSha_, baseCommitSha, appUrl, headless, devTools, bypassCSP, diffThreshold, diffPixelThreshold, shiftTime, networkStubbing, githubSummary, parallelize, parallelTasks: parrelelTasks_, maxRetriesOnFailure, rerunTestsNTimes, testsFile, disableRemoteFonts, noSandbox, skipPauses, moveBeforeClick, maxDurationMs, maxEventCount, storyboard, essentialFeaturesOnly, logPossibleNonDeterminism, baseTestRunId, }) => {
10
11
  const executionOptions = {
@@ -35,7 +36,10 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseCommitSha, appUrl,
35
36
  try {
36
37
  const { testRun } = await (0, replay_orchestrator_launcher_1.executeTestRun)({
37
38
  testsFile: testsFile !== null && testsFile !== void 0 ? testsFile : null,
38
- executionOptions,
39
+ executionOptions: await (0, apply_default_execution_options_from_project_1.applyDefaultExecutionOptionsFromProject)({
40
+ apiToken,
41
+ executionOptions,
42
+ }),
39
43
  screenshottingOptions,
40
44
  apiToken: apiToken !== null && apiToken !== void 0 ? apiToken : null,
41
45
  commitSha,
@@ -0,0 +1,5 @@
1
+ import { ReplayExecutionOptions } from "@alwaysmeticulous/sdk-bundles-api";
2
+ export declare const applyDefaultExecutionOptionsFromProject: ({ apiToken, executionOptions, }: {
3
+ apiToken: string | undefined | null;
4
+ executionOptions: ReplayExecutionOptions;
5
+ }) => Promise<ReplayExecutionOptions>;
@@ -0,0 +1,40 @@
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.applyDefaultExecutionOptionsFromProject = void 0;
7
+ const client_1 = require("@alwaysmeticulous/client");
8
+ const common_1 = require("@alwaysmeticulous/common");
9
+ const loglevel_1 = __importDefault(require("loglevel"));
10
+ const applyDefaultExecutionOptionsFromProject = async ({ apiToken, executionOptions, }) => {
11
+ const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
12
+ const client = (0, client_1.createClient)({ apiToken });
13
+ const project = await (0, client_1.getProject)(client);
14
+ if (!project) {
15
+ throw new Error(`Could not retrieve project data. Is the API token correct?`);
16
+ }
17
+ if (executionOptions.networkStubbingMode != null ||
18
+ project.settings.networkStubbingMode == null) {
19
+ return executionOptions;
20
+ }
21
+ if (project.settings.networkStubbingMode.type === "stub-non-ssr-requests") {
22
+ logger.info("");
23
+ logger.info("Stubbing all requests, except requests to render server components and requests for static assets");
24
+ logger.info("Visit your project settings page if you wish to change this");
25
+ logger.info("");
26
+ }
27
+ if (project.settings.networkStubbingMode.type === "custom-stubbing") {
28
+ logger.info("");
29
+ logger.info(`Stubbing all requests, except requests which match one of the following regexes: [${project.settings.networkStubbingMode.requestsToNotStub
30
+ .map((request) => `'${request.urlRegex}'`)
31
+ .join(", ")}]`);
32
+ logger.info("Visit your project settings page if you wish to change this");
33
+ logger.info("");
34
+ }
35
+ return {
36
+ ...executionOptions,
37
+ networkStubbingMode: project.settings.networkStubbingMode,
38
+ };
39
+ };
40
+ exports.applyDefaultExecutionOptionsFromProject = applyDefaultExecutionOptionsFromProject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/cli",
3
- "version": "2.62.0",
3
+ "version": "2.63.0",
4
4
  "description": "The Meticulous CLI",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -27,14 +27,14 @@
27
27
  "depcheck": "depcheck --ignore-patterns=dist"
28
28
  },
29
29
  "dependencies": {
30
- "@alwaysmeticulous/api": "^2.62.0",
31
- "@alwaysmeticulous/client": "^2.62.0",
32
- "@alwaysmeticulous/common": "^2.62.0",
33
- "@alwaysmeticulous/downloading-helpers": "^2.62.0",
34
- "@alwaysmeticulous/record": "^2.62.0",
30
+ "@alwaysmeticulous/api": "^2.63.0",
31
+ "@alwaysmeticulous/client": "^2.63.0",
32
+ "@alwaysmeticulous/common": "^2.63.0",
33
+ "@alwaysmeticulous/downloading-helpers": "^2.63.0",
34
+ "@alwaysmeticulous/record": "^2.63.0",
35
35
  "@alwaysmeticulous/replay-debugger-ui": "^2.46.0",
36
- "@alwaysmeticulous/replay-orchestrator-launcher": "^2.62.0",
37
- "@alwaysmeticulous/sdk-bundles-api": "^2.62.0",
36
+ "@alwaysmeticulous/replay-orchestrator-launcher": "^2.63.0",
37
+ "@alwaysmeticulous/sdk-bundles-api": "^2.63.0",
38
38
  "@alwaysmeticulous/sentry": "^2.40.0",
39
39
  "@sentry/node": "^7.36.0",
40
40
  "loglevel": "^1.8.0",
@@ -78,5 +78,5 @@
78
78
  "coverageDirectory": "../coverage",
79
79
  "testEnvironment": "node"
80
80
  },
81
- "gitHead": "27a1e339c921064c144792812c25e44181794881"
81
+ "gitHead": "e94ad2f32e0b5a85f52782b008121302282cbd0e"
82
82
  }