@alwaysmeticulous/cli 2.69.0 → 2.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/download-replay/download-replay.command.js +35 -5
- package/dist/commands/download-replay/download-replay.command.js.map +1 -1
- package/dist/commands/replay/replay.command.js +2 -2
- package/dist/commands/replay/replay.command.js.map +1 -1
- package/dist/commands/run-all-tests/run-all-tests.command.js +2 -2
- package/dist/commands/run-all-tests/run-all-tests.command.js.map +1 -1
- package/package.json +10 -9
- package/dist/utils/apply-default-execution-options-from-project.d.ts +0 -5
- package/dist/utils/apply-default-execution-options-from-project.js +0 -41
- package/dist/utils/apply-default-execution-options-from-project.js.map +0 -1
|
@@ -17,18 +17,48 @@ const handler = async ({ apiToken, replayId, }) => {
|
|
|
17
17
|
const { fileName: replayMetadataFileName } = await (0, downloading_helpers_1.getOrFetchReplay)(client, replayId);
|
|
18
18
|
logger.info(`Downloaded replay metadata to: ${replayMetadataFileName}`);
|
|
19
19
|
const { fileName: replayFolderFilePath } = await (0, downloading_helpers_1.getOrFetchReplayArchive)(client, replayId);
|
|
20
|
-
// Generate logs.concise.txt
|
|
21
|
-
const logsFile = (0, path_1.join)(replayFolderFilePath, "logs.
|
|
20
|
+
// Generate logs.concise.txt and logs.determinstic.txt files
|
|
21
|
+
const logsFile = (0, path_1.join)(replayFolderFilePath, "logs.ndjson");
|
|
22
22
|
const logsFileExists = await (0, promises_1.access)(logsFile)
|
|
23
23
|
.then(() => true)
|
|
24
24
|
.catch(() => false);
|
|
25
25
|
if (logsFileExists) {
|
|
26
26
|
try {
|
|
27
|
-
const logs =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const logs = (await (0, promises_1.readFile)(logsFile, "utf8"))
|
|
28
|
+
.split("\n")
|
|
29
|
+
.filter((line) => line !== "")
|
|
30
|
+
.map((line) => JSON.parse(line));
|
|
31
|
+
let virtualTime = 0;
|
|
32
|
+
const conciseLogs = logs.map((log) => {
|
|
33
|
+
if (log.type === "virtual-time-change") {
|
|
34
|
+
virtualTime = log.virtualTime;
|
|
35
|
+
return "";
|
|
36
|
+
}
|
|
37
|
+
const commonPostfix = `${log.repetitionCount ? " [x" + log.repetitionCount + "]" : ""} ${log.message}`;
|
|
38
|
+
if (log.source === "application") {
|
|
39
|
+
return `[trace-id: ${log.stackTraceId}] [virtual: ${virtualTime}ms] [application]${commonPostfix}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return `[trace-id: ${log.stackTraceId}] [virtual: ${virtualTime}ms, real: ${log.realTime}ms]${commonPostfix}`;
|
|
43
|
+
}
|
|
30
44
|
});
|
|
31
45
|
await (0, promises_1.writeFile)((0, path_1.join)(replayFolderFilePath, "logs.concise.txt"), conciseLogs.join("\n"));
|
|
46
|
+
// Useful for diffing one set of logs against another (excludes the real timestamps, which are non-deterministic)
|
|
47
|
+
virtualTime = 0;
|
|
48
|
+
const deterministicLogs = logs.map((log) => {
|
|
49
|
+
if (log.type === "virtual-time-change") {
|
|
50
|
+
virtualTime = log.virtualTime;
|
|
51
|
+
return "";
|
|
52
|
+
}
|
|
53
|
+
const commonPostfix = `${log.repetitionCount ? " [x" + log.repetitionCount + "]" : ""} ${log.message}`;
|
|
54
|
+
if (log.source === "application") {
|
|
55
|
+
return `[virtual: ${virtualTime}ms] [application]${commonPostfix}`;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return `[virtual: ${virtualTime}ms]${commonPostfix}`;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
await (0, promises_1.writeFile)((0, path_1.join)(replayFolderFilePath, "logs.deterministic.txt"), deterministicLogs.join("\n"));
|
|
32
62
|
}
|
|
33
63
|
catch (err) {
|
|
34
64
|
logger.error("Error creating concise version of logs file", err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-replay.command.js","sourceRoot":"","sources":["../../../src/commands/download-replay/download-replay.command.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA0D;AAC1D,+BAA4B;
|
|
1
|
+
{"version":3,"file":"download-replay.command.js","sourceRoot":"","sources":["../../../src/commands/download-replay/download-replay.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replayCommand = exports.getReplayTarget = void 0;
|
|
4
|
+
const client_1 = require("@alwaysmeticulous/client");
|
|
4
5
|
const common_1 = require("@alwaysmeticulous/common");
|
|
5
6
|
const replay_orchestrator_launcher_1 = require("@alwaysmeticulous/replay-orchestrator-launcher");
|
|
6
7
|
const command_builder_1 = require("../../command-utils/command-builder");
|
|
7
8
|
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");
|
|
9
9
|
const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
|
|
10
10
|
const replay_debugger_ui_1 = require("./utils/replay-debugger.ui");
|
|
11
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, }) => {
|
|
@@ -57,7 +57,7 @@ const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, si
|
|
|
57
57
|
appUrl: appUrl !== null && appUrl !== void 0 ? appUrl : null,
|
|
58
58
|
simulationIdForAssets: simulationIdForAssets !== null && simulationIdForAssets !== void 0 ? simulationIdForAssets : null,
|
|
59
59
|
}),
|
|
60
|
-
executionOptions: await (0,
|
|
60
|
+
executionOptions: await (0, client_1.applyDefaultExecutionOptionsFromProject)({
|
|
61
61
|
apiToken,
|
|
62
62
|
executionOptions,
|
|
63
63
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.command.js","sourceRoot":"","sources":["../../../src/commands/replay/replay.command.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,iGAAuF;AAUvF,yEAAmE;AACnE,uEAI4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"replay.command.js","sourceRoot":"","sources":["../../../src/commands/replay/replay.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runAllTestsCommand = void 0;
|
|
4
|
+
const client_1 = require("@alwaysmeticulous/client");
|
|
4
5
|
const common_1 = require("@alwaysmeticulous/common");
|
|
5
6
|
const replay_orchestrator_launcher_1 = require("@alwaysmeticulous/replay-orchestrator-launcher");
|
|
6
7
|
const command_builder_1 = require("../../command-utils/command-builder");
|
|
7
8
|
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");
|
|
9
9
|
const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
|
|
10
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, }) => {
|
|
11
11
|
const executionOptions = {
|
|
@@ -36,7 +36,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, baseCommitSha, appUrl,
|
|
|
36
36
|
try {
|
|
37
37
|
const { testRun } = await (0, replay_orchestrator_launcher_1.executeTestRun)({
|
|
38
38
|
testsFile: testsFile !== null && testsFile !== void 0 ? testsFile : null,
|
|
39
|
-
executionOptions: await (0,
|
|
39
|
+
executionOptions: await (0, client_1.applyDefaultExecutionOptionsFromProject)({
|
|
40
40
|
apiToken,
|
|
41
41
|
executionOptions,
|
|
42
42
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-all-tests.command.js","sourceRoot":"","sources":["../../../src/commands/run-all-tests/run-all-tests.command.ts"],"names":[],"mappings":";;;AAKA,qDAAwD;AACxD,iGAAgF;AAEhF,yEAAmE;AACnE,uEAI4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"run-all-tests.command.js","sourceRoot":"","sources":["../../../src/commands/run-all-tests/run-all-tests.command.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.71.0",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,18 +24,19 @@
|
|
|
24
24
|
"cli:debug": "echo '\n\nVisit chrome://inspect in Chrome and attach the debugger\n\n' && node --inspect-brk dist/main.js",
|
|
25
25
|
"cli:dev": "ts-node src/main.ts",
|
|
26
26
|
"cli:dev-localhost": "METICULOUS_API_URL=http://localhost:3001/api/ ts-node src/main.ts",
|
|
27
|
+
"cli:dev-staging": "METICULOUS_API_URL=https://staging-backend.alb.meticulous.ai/api/ ts-node src/main.ts",
|
|
27
28
|
"test": "jest --passWithNoTests",
|
|
28
29
|
"depcheck": "depcheck --ignore-patterns=dist"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@alwaysmeticulous/api": "^2.
|
|
32
|
-
"@alwaysmeticulous/client": "^2.
|
|
33
|
-
"@alwaysmeticulous/common": "^2.
|
|
34
|
-
"@alwaysmeticulous/downloading-helpers": "^2.
|
|
35
|
-
"@alwaysmeticulous/record": "^2.
|
|
32
|
+
"@alwaysmeticulous/api": "^2.71.0",
|
|
33
|
+
"@alwaysmeticulous/client": "^2.71.0",
|
|
34
|
+
"@alwaysmeticulous/common": "^2.71.0",
|
|
35
|
+
"@alwaysmeticulous/downloading-helpers": "^2.71.0",
|
|
36
|
+
"@alwaysmeticulous/record": "^2.71.0",
|
|
36
37
|
"@alwaysmeticulous/replay-debugger-ui": "^2.46.0",
|
|
37
|
-
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.
|
|
38
|
-
"@alwaysmeticulous/sdk-bundles-api": "^2.
|
|
38
|
+
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.71.0",
|
|
39
|
+
"@alwaysmeticulous/sdk-bundles-api": "^2.71.0",
|
|
39
40
|
"@alwaysmeticulous/sentry": "^2.40.0",
|
|
40
41
|
"@sentry/node": "^7.36.0",
|
|
41
42
|
"loglevel": "^1.8.0",
|
|
@@ -79,5 +80,5 @@
|
|
|
79
80
|
"coverageDirectory": "../coverage",
|
|
80
81
|
"testEnvironment": "node"
|
|
81
82
|
},
|
|
82
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "2f17f5cb81840f0c392103d686eeaf9738cba1be"
|
|
83
84
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
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>;
|
|
@@ -1,41 +0,0 @@
|
|
|
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;
|
|
41
|
-
//# sourceMappingURL=apply-default-execution-options-from-project.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-default-execution-options-from-project.js","sourceRoot":"","sources":["../../src/utils/apply-default-execution-options-from-project.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAoE;AACpE,qDAAkE;AAElE,wDAA2B;AAEpB,MAAM,uCAAuC,GAAG,KAAK,EAAE,EAC5D,QAAQ,EACR,gBAAgB,GAIjB,EAAmC,EAAE;IACpC,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;KACH;IAED,IACE,gBAAgB,CAAC,mBAAmB,IAAI,IAAI;QAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,IAAI,IAAI,EAC5C;QACA,OAAO,gBAAgB,CAAC;KACzB;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,uBAAuB,EAAE;QACzE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,mGAAmG,CACpG,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,qFAAqF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,iBAAiB;aACxI,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;aACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,OAAO;QACL,GAAG,gBAAgB;QACnB,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;KAC1D,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,uCAAuC,2CA8ClD"}
|