@alwaysmeticulous/cli 2.238.0 → 2.239.1
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/README.md +76 -7
- package/dist/commands/replay/replay.command.d.ts +4 -0
- package/dist/commands/replay/replay.command.js +17 -1
- package/dist/commands/replay/replay.command.js.map +1 -1
- package/dist/commands/replay/utils/replay-debugger.ui.d.ts +2 -1
- package/dist/commands/replay/utils/replay-debugger.ui.js +46 -7
- package/dist/commands/replay/utils/replay-debugger.ui.js.map +1 -1
- package/dist/commands/run-all-tests-in-cloud/run-all-tests-in-cloud.command.d.ts +5 -0
- package/dist/commands/run-all-tests-in-cloud/run-all-tests-in-cloud.command.js +7 -1
- package/dist/commands/run-all-tests-in-cloud/run-all-tests-in-cloud.command.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,21 +1,90 @@
|
|
|
1
1
|
# Meticulous CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@alwaysmeticulous/cli)
|
|
4
|
+
[](https://www.npmjs.com/package/@alwaysmeticulous/cli)
|
|
5
|
+
[](https://github.com/alwaysmeticulous/meticulous-sdk/blob/main/LICENSE)
|
|
6
|
+
[](https://nodejs.org)
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
The official command-line interface for [Meticulous](https://meticulous.ai) - automated end-to-end testing that eliminates test maintenance. See the [documentation](https://app.meticulous.ai/docs) for more details.
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
## What is Meticulous?
|
|
11
|
+
|
|
12
|
+
Meticulous automatically creates and maintains a comprehensive test suite for your web application by recording real user interactions. When you open a pull request, Meticulous replays these user sessions against both the old and new versions of your app, identifying visual and functional differences.
|
|
13
|
+
|
|
14
|
+
**Key Benefits:**
|
|
15
|
+
|
|
16
|
+
- Zero maintenance tests that evolve with your app
|
|
17
|
+
- Scale to thousands of tests without writing code
|
|
18
|
+
- Catch regressions before they reach production
|
|
19
|
+
- Test real user flows, not assumptions
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
8
22
|
|
|
9
23
|
```bash
|
|
10
24
|
npm install --save-dev @alwaysmeticulous/cli
|
|
11
25
|
```
|
|
12
26
|
|
|
13
|
-
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
Sessions are recordings of user interactions with your application that Meticulous can replay to test for regressions.
|
|
30
|
+
|
|
31
|
+
### 1. Record a Session
|
|
32
|
+
|
|
33
|
+
Record a new session by interacting with your application:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx @alwaysmeticulous/cli record \
|
|
37
|
+
--apiToken="<API_TOKEN>" \
|
|
38
|
+
--appUrl="http://localhost:3000"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
> **Note:** `--apiToken` is only required if the token is not stored in `~/.meticulous/config.json`.
|
|
42
|
+
|
|
43
|
+
### 2. Simulate a Session
|
|
44
|
+
|
|
45
|
+
Simulate a recorded session on your local environment:
|
|
14
46
|
|
|
15
47
|
```bash
|
|
16
|
-
|
|
48
|
+
npx @alwaysmeticulous/cli simulate \
|
|
49
|
+
--apiToken="<API_TOKEN>" \
|
|
50
|
+
--sessionId="<SESSION_ID>" \
|
|
51
|
+
--appUrl="http://localhost:3000"
|
|
17
52
|
```
|
|
18
53
|
|
|
19
|
-
|
|
54
|
+
### 3. Run in CI
|
|
55
|
+
|
|
56
|
+
Add Meticulous to your CI pipeline to automatically test every pull request. See the [documentation](https://app.meticulous.ai/docs) for detailed CI setup instructions.
|
|
57
|
+
|
|
58
|
+
## CLI Commands
|
|
59
|
+
|
|
60
|
+
Run `npx @alwaysmeticulous/cli --help` to see all available commands.
|
|
61
|
+
|
|
62
|
+
Common commands:
|
|
63
|
+
|
|
64
|
+
- `record` - Record a new session
|
|
65
|
+
- `simulate` - Simulate a recorded session locally
|
|
66
|
+
- `run-all-tests` - Run all replay test cases
|
|
67
|
+
- Additional commands available via `--help`
|
|
68
|
+
|
|
69
|
+
## Configuration
|
|
70
|
+
|
|
71
|
+
The CLI can be configured using command-line flags or environment variables:
|
|
72
|
+
|
|
73
|
+
- `--apiToken` / `METICULOUS_API_TOKEN` - Your Meticulous API token
|
|
74
|
+
- `--appUrl` / `METICULOUS_APP_URL` - URL where your app is running
|
|
75
|
+
- `--sessionId` - Specific session ID to replay (for `simulate` command)
|
|
76
|
+
|
|
77
|
+
## Documentation
|
|
78
|
+
|
|
79
|
+
- [Full Documentation](https://app.meticulous.ai/docs)
|
|
80
|
+
- [Onboarding Guide](https://app.meticulous.ai/docs/onboarding-guide)
|
|
81
|
+
- [GitHub Repository](https://github.com/alwaysmeticulous/meticulous-sdk)
|
|
82
|
+
|
|
83
|
+
## Requirements
|
|
84
|
+
|
|
85
|
+
- Node.js >= 12
|
|
86
|
+
|
|
87
|
+
## Support
|
|
20
88
|
|
|
21
|
-
[
|
|
89
|
+
- Documentation: [app.meticulous.ai/docs](https://app.meticulous.ai/docs)
|
|
90
|
+
- Issues: [GitHub Issues](https://github.com/alwaysmeticulous/meticulous-sdk/issues)
|
|
@@ -119,6 +119,10 @@ export declare const replayCommand: import("yargs").CommandModule<unknown, impor
|
|
|
119
119
|
description: string;
|
|
120
120
|
default: boolean;
|
|
121
121
|
};
|
|
122
|
+
startAtEvent: {
|
|
123
|
+
number: true;
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
122
126
|
moveBeforeMouseEvent: {
|
|
123
127
|
readonly boolean: true;
|
|
124
128
|
readonly description: "Simulate mouse movement before mouse events";
|
|
@@ -7,7 +7,7 @@ const command_builder_1 = require("../../command-utils/command-builder");
|
|
|
7
7
|
const common_options_1 = require("../../command-utils/common-options");
|
|
8
8
|
const out_of_date_client_error_1 = require("../../utils/out-of-date-client-error");
|
|
9
9
|
const replay_debugger_ui_1 = require("./utils/replay-debugger.ui");
|
|
10
|
-
const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, simulationIdForAssets, headless, devTools, bypassCSP, takeSnapshots, baseReplayId, diffThreshold, diffPixelThreshold, shiftTime, networkStubbing, moveBeforeMouseEvent, cookiesFile, disableRemoteFonts, noSandbox, skipPauses, maxDurationMs, maxEventCount, storyboard, essentialFeaturesOnly, logPossibleNonDeterminism, sessionIdForApplicationStorage, debugger: enableStepThroughDebugger, networkDebuggingRequestRegexes, networkDebuggingTransformationFns, networkDebuggingRequestTypes, networkDebuggingWebsocketUrlRegexes, enableCssCoverage, }) => {
|
|
10
|
+
const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, simulationIdForAssets, headless, devTools, bypassCSP, takeSnapshots, baseReplayId, diffThreshold, diffPixelThreshold, shiftTime, networkStubbing, moveBeforeMouseEvent, cookiesFile, disableRemoteFonts, noSandbox, skipPauses, maxDurationMs, maxEventCount, storyboard, essentialFeaturesOnly, logPossibleNonDeterminism, sessionIdForApplicationStorage, debugger: enableStepThroughDebugger, startAtEvent, networkDebuggingRequestRegexes, networkDebuggingTransformationFns, networkDebuggingRequestTypes, networkDebuggingWebsocketUrlRegexes, enableCssCoverage, }) => {
|
|
11
11
|
var _a;
|
|
12
12
|
if (!takeSnapshots && storyboard) {
|
|
13
13
|
throw new Error("Cannot take storyboard visual snapshots without taking end state snapshots. Please set '--takeSnapshots' to true, or '--storyboard' to false.");
|
|
@@ -15,6 +15,17 @@ const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, si
|
|
|
15
15
|
if (headless && enableStepThroughDebugger) {
|
|
16
16
|
throw new Error("Cannot run with both --debugger flag and --headless flag at the same time.");
|
|
17
17
|
}
|
|
18
|
+
if (startAtEvent != null) {
|
|
19
|
+
if (!enableStepThroughDebugger) {
|
|
20
|
+
throw new Error("The --startAtEvent option requires the --debugger flag to be enabled.");
|
|
21
|
+
}
|
|
22
|
+
if (!Number.isInteger(startAtEvent)) {
|
|
23
|
+
throw new Error(`Invalid --startAtEvent value: ${startAtEvent}. Must be an integer.`);
|
|
24
|
+
}
|
|
25
|
+
if (startAtEvent < 0) {
|
|
26
|
+
throw new Error(`Invalid --startAtEvent value: ${startAtEvent}. Must be non-negative.`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
18
29
|
let networkDebuggingOptions = undefined;
|
|
19
30
|
if (networkDebuggingRequestRegexes ||
|
|
20
31
|
networkDebuggingTransformationFns ||
|
|
@@ -96,6 +107,7 @@ const replayCommandHandler = async ({ apiToken, commitSha, sessionId, appUrl, si
|
|
|
96
107
|
onLogEventTarget: replayExecution.logEventTarget,
|
|
97
108
|
onCloseReplayedPage: replayExecution.closePage,
|
|
98
109
|
replayableEvents: replayExecution.eventsBeingReplayed,
|
|
110
|
+
...(startAtEvent != null ? { startAtEvent } : {}),
|
|
99
111
|
});
|
|
100
112
|
getOnBeforeUserEventCallback.resolve(stepThroughDebuggerUI.onBeforeUserEvent);
|
|
101
113
|
getOnClosePageCallback.resolve(stepThroughDebuggerUI.close);
|
|
@@ -157,6 +169,10 @@ exports.replayCommand = (0, command_builder_1.buildCommand)("simulate")
|
|
|
157
169
|
description: "Opens a step through debugger to advance through the replay event by event",
|
|
158
170
|
default: false,
|
|
159
171
|
},
|
|
172
|
+
startAtEvent: {
|
|
173
|
+
number: true,
|
|
174
|
+
description: "Automatically advance to this event number when starting the debugger (e.g., to jump to 'Event #95' use --startAtEvent=95). Requires --debugger flag. Events will replay rapidly until reaching the specified event.",
|
|
175
|
+
},
|
|
160
176
|
moveBeforeMouseEvent: common_options_1.OPTIONS.moveBeforeMouseEvent,
|
|
161
177
|
cookiesFile: {
|
|
162
178
|
string: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.command.js","sourceRoot":"","sources":["../../../src/commands/replay/replay.command.ts"],"names":[],"mappings":";;;AAIA,qDAAiD;AACjD,iGAAuF;AAUvF,yEAAmE;AACnE,uEAI4C;AAC5C,mFAG8C;AAC9C,mEAAuE;
|
|
1
|
+
{"version":3,"file":"replay.command.js","sourceRoot":"","sources":["../../../src/commands/replay/replay.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export interface ReplayDebuggerUIOptions {
|
|
|
10
10
|
onCloseReplayedPage: () => void;
|
|
11
11
|
onLogEventTarget: (event: ReplayableEvent) => Promise<void>;
|
|
12
12
|
replayableEvents: ReplayableEvent[];
|
|
13
|
+
startAtEvent?: number;
|
|
13
14
|
}
|
|
14
15
|
export interface ReplayDebuggerUI {
|
|
15
16
|
page: Page;
|
|
@@ -19,5 +20,5 @@ export interface StepThroughDebuggerUI {
|
|
|
19
20
|
onBeforeUserEvent: OnBeforeUserEventCallback;
|
|
20
21
|
close: () => Promise<void>;
|
|
21
22
|
}
|
|
22
|
-
export declare const openStepThroughDebuggerUI: ({ onCloseReplayedPage, onLogEventTarget, replayableEvents, }: ReplayDebuggerUIOptions) => Promise<StepThroughDebuggerUI>;
|
|
23
|
+
export declare const openStepThroughDebuggerUI: ({ onCloseReplayedPage, onLogEventTarget, replayableEvents, startAtEvent, }: ReplayDebuggerUIOptions) => Promise<StepThroughDebuggerUI>;
|
|
23
24
|
export {};
|
|
@@ -7,8 +7,49 @@ const puppeteer_core_1 = require("puppeteer-core");
|
|
|
7
7
|
// openStepThroughDebuggerUI returns a OnBeforeUserEventCallback, which the replay code
|
|
8
8
|
// calls before each next event, and blocks on the returned promise. We use this to pause
|
|
9
9
|
// the execution until the user OKs it to continue to a certain event.
|
|
10
|
-
const openStepThroughDebuggerUI = async ({ onCloseReplayedPage, onLogEventTarget, replayableEvents, }) => {
|
|
10
|
+
const openStepThroughDebuggerUI = async ({ onCloseReplayedPage, onLogEventTarget, replayableEvents, startAtEvent, }) => {
|
|
11
11
|
const logger = (0, common_1.initLogger)();
|
|
12
|
+
let targetEventIndex = undefined;
|
|
13
|
+
if (startAtEvent != null) {
|
|
14
|
+
const arrayIndex = replayableEvents.findIndex((event) => "originalEventIndex" in event &&
|
|
15
|
+
event.originalEventIndex === startAtEvent);
|
|
16
|
+
if (arrayIndex === -1) {
|
|
17
|
+
const eventsWithIndices = replayableEvents
|
|
18
|
+
.map((e, idx) => ({
|
|
19
|
+
arrayIndex: idx,
|
|
20
|
+
eventNumber: "originalEventIndex" in e ? e.originalEventIndex : null,
|
|
21
|
+
}))
|
|
22
|
+
.filter((e) => e.eventNumber != null);
|
|
23
|
+
if (eventsWithIndices.length === 0) {
|
|
24
|
+
logger.warn(`[debugger-ui] No events with originalEventIndex found. Starting at beginning.`);
|
|
25
|
+
targetEventIndex = 0;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const closestEvent = eventsWithIndices.reduce((closest, current) => {
|
|
29
|
+
if (current.eventNumber >= startAtEvent)
|
|
30
|
+
return closest;
|
|
31
|
+
if (!closest || current.eventNumber > closest.eventNumber) {
|
|
32
|
+
return current;
|
|
33
|
+
}
|
|
34
|
+
return closest;
|
|
35
|
+
}, null);
|
|
36
|
+
const minEvent = Math.min(...eventsWithIndices.map((e) => e.eventNumber));
|
|
37
|
+
const maxEvent = Math.max(...eventsWithIndices.map((e) => e.eventNumber));
|
|
38
|
+
if (closestEvent) {
|
|
39
|
+
logger.warn(`[debugger-ui] Event #${startAtEvent} not found. Available events: #${minEvent} to #${maxEvent}. Starting at #${closestEvent.eventNumber}.`);
|
|
40
|
+
targetEventIndex = closestEvent.arrayIndex;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
logger.warn(`[debugger-ui] Event #${startAtEvent} not found. Available events: #${minEvent} to #${maxEvent}. Starting at beginning.`);
|
|
44
|
+
targetEventIndex = 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
targetEventIndex = arrayIndex;
|
|
50
|
+
logger.info(`[debugger-ui] Auto-advancing to event #${startAtEvent}...`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
12
53
|
// Ensure browser is available and get executable path
|
|
13
54
|
const executablePath = await (0, common_1.ensureBrowser)();
|
|
14
55
|
// Start the UI server
|
|
@@ -21,19 +62,17 @@ const openStepThroughDebuggerUI = async ({ onCloseReplayedPage, onLogEventTarget
|
|
|
21
62
|
});
|
|
22
63
|
// Create page for the debugger UI
|
|
23
64
|
const debuggerPage = (await browser.pages())[0];
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
height: 0,
|
|
27
|
-
});
|
|
65
|
+
// Disable viewport emulation to use the actual window size
|
|
66
|
+
await debuggerPage.setViewport(null);
|
|
28
67
|
/**
|
|
29
68
|
* The index the page is in the process of advancing to. Equal to the current index
|
|
30
69
|
* if the page has already replayed all the so-far-requested user events.
|
|
31
70
|
*/
|
|
32
|
-
let targetIndex = 0;
|
|
71
|
+
let targetIndex = targetEventIndex !== null && targetEventIndex !== void 0 ? targetEventIndex : 0;
|
|
33
72
|
let state = {
|
|
34
73
|
events: replayableEvents,
|
|
35
74
|
index: 0,
|
|
36
|
-
loading:
|
|
75
|
+
loading: targetEventIndex != null && targetEventIndex > 0,
|
|
37
76
|
};
|
|
38
77
|
let readyPromiseResolve;
|
|
39
78
|
const readyPromise = new Promise((resolve) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-debugger.ui.js","sourceRoot":"","sources":["../../../../src/commands/replay/utils/replay-debugger.ui.ts"],"names":[],"mappings":";;;AACA,qDAAqE;AACrE,6EAAqE;AAKrE,mDAAuD;
|
|
1
|
+
{"version":3,"file":"replay-debugger.ui.js","sourceRoot":"","sources":["../../../../src/commands/replay/utils/replay-debugger.ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,4 +64,9 @@ export declare const runAllTestsInCloudCommand: import("yargs").CommandModule<un
|
|
|
64
64
|
readonly description: "Path to script that triggers the generation of a Meticulous test run on a specific commit in case base test run is not available. The script will be called with the commit SHA as an argument.";
|
|
65
65
|
readonly default: undefined;
|
|
66
66
|
};
|
|
67
|
+
readonly postComment: {
|
|
68
|
+
readonly boolean: true;
|
|
69
|
+
readonly description: "Post comments on the pull request, even if comments are still disabled for the project.";
|
|
70
|
+
readonly default: false;
|
|
71
|
+
};
|
|
67
72
|
}>>;
|
|
@@ -24,7 +24,7 @@ const environmentToString = (environment) => {
|
|
|
24
24
|
}
|
|
25
25
|
return "cli-local";
|
|
26
26
|
};
|
|
27
|
-
const handler = async ({ apiToken, commitSha: commitSha_, appUrl, secureTunnelHost, keepTunnelOpenSec, allowInvalidCert, proxyAllUrls, rewriteHostnameToAppUrl, enableDnsCache, http2Connections, companionAssetsFolder, companionAssetsRegex, hadPreparedForTests, triggerScript, }) => {
|
|
27
|
+
const handler = async ({ apiToken, commitSha: commitSha_, appUrl, secureTunnelHost, keepTunnelOpenSec, allowInvalidCert, proxyAllUrls, rewriteHostnameToAppUrl, enableDnsCache, http2Connections, companionAssetsFolder, companionAssetsRegex, hadPreparedForTests, triggerScript, postComment, }) => {
|
|
28
28
|
const logger = (0, common_1.initLogger)();
|
|
29
29
|
const commitSha = await (0, common_1.getCommitSha)(commitSha_);
|
|
30
30
|
if (!!companionAssetsFolder !== !!companionAssetsRegex) {
|
|
@@ -139,6 +139,7 @@ const handler = async ({ apiToken, commitSha: commitSha_, appUrl, secureTunnelHo
|
|
|
139
139
|
rewriteHostnameToAppUrl,
|
|
140
140
|
enableDnsCache,
|
|
141
141
|
http2Connections,
|
|
142
|
+
...(postComment ? { postComment } : {}),
|
|
142
143
|
...(companionAssetsFolder && companionAssetsRegex
|
|
143
144
|
? {
|
|
144
145
|
companionAssets: {
|
|
@@ -259,6 +260,11 @@ exports.runAllTestsInCloudCommand = (0, command_builder_1.buildCommand)("run-all
|
|
|
259
260
|
description: "Path to script that triggers the generation of a Meticulous test run on a specific commit in case base test run is not available. The script will be called with the commit SHA as an argument.",
|
|
260
261
|
default: undefined,
|
|
261
262
|
},
|
|
263
|
+
postComment: {
|
|
264
|
+
boolean: true,
|
|
265
|
+
description: "Post comments on the pull request, even if comments are still disabled for the project.",
|
|
266
|
+
default: false,
|
|
267
|
+
},
|
|
262
268
|
})
|
|
263
269
|
.handler(handler);
|
|
264
270
|
//# 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":";;;;;;AAAA,+CAAyD;AACzD,qDAKkC;AAClC,qDAA2E;AAC3E,qFAGkD;AAClD,kDAA0B;AAC1B,gEAAuC;AAEvC,8CAAsB;AACtB,yEAAmE;AACnE,uEAA6D;AAC7D,qEAA4E;AAC5E,mFAG8C;AAC9C,+HAAiH;AAEjH,MAAM,kCAAkC,GAAG,KAAM,CAAC;AAClD,MAAM,qCAAqC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;
|
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.239.1",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@alwaysmeticulous/api": "^2.235.2",
|
|
33
|
-
"@alwaysmeticulous/client": "^2.
|
|
33
|
+
"@alwaysmeticulous/client": "^2.239.1",
|
|
34
34
|
"@alwaysmeticulous/common": "^2.237.1",
|
|
35
|
-
"@alwaysmeticulous/downloading-helpers": "^2.
|
|
35
|
+
"@alwaysmeticulous/downloading-helpers": "^2.239.1",
|
|
36
36
|
"@alwaysmeticulous/record": "^2.237.1",
|
|
37
|
-
"@alwaysmeticulous/remote-replay-launcher": "^2.
|
|
38
|
-
"@alwaysmeticulous/replay-debugger-ui": "^2.
|
|
39
|
-
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.
|
|
37
|
+
"@alwaysmeticulous/remote-replay-launcher": "^2.239.1",
|
|
38
|
+
"@alwaysmeticulous/replay-debugger-ui": "^2.239.0",
|
|
39
|
+
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.239.1",
|
|
40
40
|
"@alwaysmeticulous/sdk-bundles-api": "^2.235.2",
|
|
41
41
|
"@alwaysmeticulous/sentry": "^2.237.1",
|
|
42
42
|
"@alwaysmeticulous/tunnels-client": "^2.237.1",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"jest": {
|
|
74
74
|
"preset": "../../jest.config.js"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "14b6bd5b1e669ad46fdeb7e91b7b4ccfdafb78c8"
|
|
77
77
|
}
|