@alwaysmeticulous/cli 2.93.0 → 2.95.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/command-utils/common-options.d.ts +56 -0
- package/dist/command-utils/common-options.js +33 -1
- package/dist/command-utils/common-options.js.map +1 -1
- package/dist/commands/record/record.command.d.ts +23 -23
- package/dist/commands/record/record.command.js +10 -54
- package/dist/commands/record/record.command.js.map +1 -1
- package/dist/commands/record-login-flow/record-login-flow.command.d.ts +46 -0
- package/dist/commands/record-login-flow/record-login-flow.command.js +66 -0
- package/dist/commands/record-login-flow/record-login-flow.command.js.map +1 -0
- package/dist/main.js +2 -0
- package/dist/main.js.map +1 -1
- package/package.json +7 -7
|
@@ -84,6 +84,25 @@ export declare const OPTIONS: {
|
|
|
84
84
|
readonly default: boolean;
|
|
85
85
|
readonly hidden: true;
|
|
86
86
|
};
|
|
87
|
+
readonly width: {
|
|
88
|
+
readonly number: true;
|
|
89
|
+
};
|
|
90
|
+
readonly height: {
|
|
91
|
+
readonly number: true;
|
|
92
|
+
};
|
|
93
|
+
readonly uploadIntervalMs: {
|
|
94
|
+
readonly number: true;
|
|
95
|
+
readonly description: "Meticulous recording upload interval (in milliseconds)";
|
|
96
|
+
};
|
|
97
|
+
readonly trace: {
|
|
98
|
+
readonly boolean: true;
|
|
99
|
+
readonly description: "Enable verbose logging";
|
|
100
|
+
};
|
|
101
|
+
readonly captureHttpOnlyCookies: {
|
|
102
|
+
readonly boolean: true;
|
|
103
|
+
readonly default: true;
|
|
104
|
+
readonly description: "Capture http-only cookies in addition to regular cookies";
|
|
105
|
+
};
|
|
87
106
|
};
|
|
88
107
|
export declare const SCREENSHOT_DIFF_OPTIONS: {
|
|
89
108
|
diffThreshold: {
|
|
@@ -166,3 +185,40 @@ export declare const COMMON_REPLAY_OPTIONS: {
|
|
|
166
185
|
readonly hidden: true;
|
|
167
186
|
};
|
|
168
187
|
};
|
|
188
|
+
/**
|
|
189
|
+
* Options shared between the `record` and `record-login` commands.
|
|
190
|
+
*/
|
|
191
|
+
export declare const COMMON_RECORD_OPTIONS: {
|
|
192
|
+
apiToken: {
|
|
193
|
+
readonly string: true;
|
|
194
|
+
};
|
|
195
|
+
devTools: {
|
|
196
|
+
readonly boolean: true;
|
|
197
|
+
readonly description: "Open Chrome Dev Tools";
|
|
198
|
+
readonly default: boolean;
|
|
199
|
+
};
|
|
200
|
+
bypassCSP: {
|
|
201
|
+
readonly boolean: true;
|
|
202
|
+
readonly description: "Enables bypass CSP in the browser (danger: this could mean you tests hit your production backend)";
|
|
203
|
+
readonly default: boolean;
|
|
204
|
+
};
|
|
205
|
+
width: {
|
|
206
|
+
readonly number: true;
|
|
207
|
+
};
|
|
208
|
+
height: {
|
|
209
|
+
readonly number: true;
|
|
210
|
+
};
|
|
211
|
+
uploadIntervalMs: {
|
|
212
|
+
readonly number: true;
|
|
213
|
+
readonly description: "Meticulous recording upload interval (in milliseconds)";
|
|
214
|
+
};
|
|
215
|
+
trace: {
|
|
216
|
+
readonly boolean: true;
|
|
217
|
+
readonly description: "Enable verbose logging";
|
|
218
|
+
};
|
|
219
|
+
captureHttpOnlyCookies: {
|
|
220
|
+
readonly boolean: true;
|
|
221
|
+
readonly default: true;
|
|
222
|
+
readonly description: "Capture http-only cookies in addition to regular cookies";
|
|
223
|
+
};
|
|
224
|
+
};
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
//
|
|
11
11
|
// This then makes the difference in behaviour explicit
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.COMMON_REPLAY_OPTIONS = exports.SCREENSHOT_DIFF_OPTIONS = exports.OPTIONS = void 0;
|
|
13
|
+
exports.COMMON_RECORD_OPTIONS = exports.COMMON_REPLAY_OPTIONS = exports.SCREENSHOT_DIFF_OPTIONS = exports.OPTIONS = void 0;
|
|
14
14
|
const common_1 = require("@alwaysmeticulous/common");
|
|
15
15
|
exports.OPTIONS = {
|
|
16
16
|
apiToken: {
|
|
@@ -100,6 +100,25 @@ exports.OPTIONS = {
|
|
|
100
100
|
default: common_1.DEFAULT_EXECUTION_OPTIONS.logPossibleNonDeterminism,
|
|
101
101
|
hidden: true,
|
|
102
102
|
},
|
|
103
|
+
width: {
|
|
104
|
+
number: true,
|
|
105
|
+
},
|
|
106
|
+
height: {
|
|
107
|
+
number: true,
|
|
108
|
+
},
|
|
109
|
+
uploadIntervalMs: {
|
|
110
|
+
number: true,
|
|
111
|
+
description: "Meticulous recording upload interval (in milliseconds)",
|
|
112
|
+
},
|
|
113
|
+
trace: {
|
|
114
|
+
boolean: true,
|
|
115
|
+
description: "Enable verbose logging",
|
|
116
|
+
},
|
|
117
|
+
captureHttpOnlyCookies: {
|
|
118
|
+
boolean: true,
|
|
119
|
+
default: true,
|
|
120
|
+
description: "Capture http-only cookies in addition to regular cookies",
|
|
121
|
+
},
|
|
103
122
|
};
|
|
104
123
|
exports.SCREENSHOT_DIFF_OPTIONS = {
|
|
105
124
|
diffThreshold: exports.OPTIONS.diffThreshold,
|
|
@@ -123,4 +142,17 @@ exports.COMMON_REPLAY_OPTIONS = {
|
|
|
123
142
|
essentialFeaturesOnly: exports.OPTIONS.essentialFeaturesOnly,
|
|
124
143
|
logPossibleNonDeterminism: exports.OPTIONS.logPossibleNonDeterminism,
|
|
125
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* Options shared between the `record` and `record-login` commands.
|
|
147
|
+
*/
|
|
148
|
+
exports.COMMON_RECORD_OPTIONS = {
|
|
149
|
+
apiToken: exports.OPTIONS.apiToken,
|
|
150
|
+
devTools: exports.OPTIONS.devTools,
|
|
151
|
+
bypassCSP: exports.OPTIONS.bypassCSP,
|
|
152
|
+
width: exports.OPTIONS.width,
|
|
153
|
+
height: exports.OPTIONS.height,
|
|
154
|
+
uploadIntervalMs: exports.OPTIONS.uploadIntervalMs,
|
|
155
|
+
trace: exports.OPTIONS.trace,
|
|
156
|
+
captureHttpOnlyCookies: exports.OPTIONS.captureHttpOnlyCookies,
|
|
157
|
+
};
|
|
126
158
|
//# sourceMappingURL=common-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-options.js","sourceRoot":"","sources":["../../src/command-utils/common-options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common-options.js","sourceRoot":"","sources":["../../src/command-utils/common-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,47 +10,47 @@ export interface RecordCommandHandlerOptions {
|
|
|
10
10
|
incognito: boolean | null | undefined;
|
|
11
11
|
trace: boolean | null | undefined;
|
|
12
12
|
captureHttpOnlyCookies: boolean;
|
|
13
|
-
onDetectedSession?: (sessionId: string) => void;
|
|
14
13
|
}
|
|
15
14
|
export declare const recordCommandHandler: (options: RecordCommandHandlerOptions) => Promise<void>;
|
|
16
15
|
export declare const recordCommand: import("yargs").CommandModule<unknown, import("yargs").InferredOptionTypes<{
|
|
17
|
-
apiToken: {
|
|
18
|
-
string: true;
|
|
19
|
-
demandOption: false;
|
|
20
|
-
};
|
|
21
16
|
commitSha: {
|
|
22
|
-
string: true;
|
|
17
|
+
readonly string: true;
|
|
23
18
|
};
|
|
24
|
-
|
|
19
|
+
incognito: {
|
|
25
20
|
boolean: true;
|
|
26
21
|
description: string;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
24
|
+
apiToken: {
|
|
25
|
+
readonly string: true;
|
|
26
|
+
};
|
|
27
|
+
devTools: {
|
|
28
|
+
readonly boolean: true;
|
|
29
|
+
readonly description: "Open Chrome Dev Tools";
|
|
30
|
+
readonly default: boolean;
|
|
27
31
|
};
|
|
28
32
|
bypassCSP: {
|
|
29
|
-
boolean: true;
|
|
30
|
-
description:
|
|
33
|
+
readonly boolean: true;
|
|
34
|
+
readonly description: "Enables bypass CSP in the browser (danger: this could mean you tests hit your production backend)";
|
|
35
|
+
readonly default: boolean;
|
|
31
36
|
};
|
|
32
37
|
width: {
|
|
33
|
-
number: true;
|
|
38
|
+
readonly number: true;
|
|
34
39
|
};
|
|
35
40
|
height: {
|
|
36
|
-
number: true;
|
|
41
|
+
readonly number: true;
|
|
37
42
|
};
|
|
38
43
|
uploadIntervalMs: {
|
|
39
|
-
number: true;
|
|
40
|
-
description:
|
|
41
|
-
};
|
|
42
|
-
incognito: {
|
|
43
|
-
boolean: true;
|
|
44
|
-
description: string;
|
|
45
|
-
default: boolean;
|
|
44
|
+
readonly number: true;
|
|
45
|
+
readonly description: "Meticulous recording upload interval (in milliseconds)";
|
|
46
46
|
};
|
|
47
47
|
trace: {
|
|
48
|
-
boolean: true;
|
|
49
|
-
description:
|
|
48
|
+
readonly boolean: true;
|
|
49
|
+
readonly description: "Enable verbose logging";
|
|
50
50
|
};
|
|
51
51
|
captureHttpOnlyCookies: {
|
|
52
|
-
boolean: true;
|
|
53
|
-
default:
|
|
54
|
-
description:
|
|
52
|
+
readonly boolean: true;
|
|
53
|
+
readonly default: true;
|
|
54
|
+
readonly description: "Capture http-only cookies in addition to regular cookies";
|
|
55
55
|
};
|
|
56
56
|
}>>;
|
|
@@ -8,9 +8,11 @@ const path_1 = require("path");
|
|
|
8
8
|
const client_1 = require("@alwaysmeticulous/client");
|
|
9
9
|
const common_1 = require("@alwaysmeticulous/common");
|
|
10
10
|
const downloading_helpers_1 = require("@alwaysmeticulous/downloading-helpers");
|
|
11
|
+
const record_1 = require("@alwaysmeticulous/record");
|
|
11
12
|
const loglevel_1 = __importDefault(require("loglevel"));
|
|
12
13
|
const command_builder_1 = require("../../command-utils/command-builder");
|
|
13
|
-
const
|
|
14
|
+
const common_options_1 = require("../../command-utils/common-options");
|
|
15
|
+
const recordCommandHandler = async ({ apiToken, commitSha: commitSha_, devTools, bypassCSP, width, height, uploadIntervalMs, incognito, trace, captureHttpOnlyCookies, }) => {
|
|
14
16
|
const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
|
|
15
17
|
const debugLogger = trace ? await common_1.DebugLogger.create() : null;
|
|
16
18
|
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("Record options:");
|
|
@@ -46,27 +48,15 @@ const recordCommandHandler = async ({ apiToken, commitSha: commitSha_, devTools,
|
|
|
46
48
|
// 3. Load recording snippets
|
|
47
49
|
const recordingSnippet = await (0, downloading_helpers_1.fetchAsset)("v1/meticulous.js");
|
|
48
50
|
const earlyNetworkRecorderSnippet = await (0, downloading_helpers_1.fetchAsset)("record/v1/network-recorder.bundle.js");
|
|
49
|
-
// 4. Load recording package
|
|
50
|
-
let recordSession;
|
|
51
|
-
try {
|
|
52
|
-
const record = await require("@alwaysmeticulous/record");
|
|
53
|
-
recordSession = record.recordSession;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
logger.error("Error: could not import @alwaysmeticulous/record");
|
|
57
|
-
logger.error(error);
|
|
58
|
-
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("Error: could not import @alwaysmeticulous/record");
|
|
59
|
-
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log(`${error}`);
|
|
60
|
-
process.exit(1);
|
|
61
|
-
}
|
|
62
51
|
const cookieDir = (0, path_1.join)((0, common_1.getMeticulousLocalDataDir)(), "cookies");
|
|
63
52
|
// Report recording start
|
|
64
53
|
const recordingCommandId = await (0, client_1.getRecordingCommandId)(client);
|
|
65
54
|
// 5. Start recording
|
|
66
55
|
const onDetectedSession = (sessionId) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
56
|
+
const organizationName = encodeURIComponent(project.organization.name);
|
|
57
|
+
const projectName = encodeURIComponent(project.name);
|
|
58
|
+
const sessionUrl = `https://app.meticulous.ai/projects/${organizationName}/${projectName}/sessions/${sessionId}`;
|
|
59
|
+
logger.info(`Recording session: ${sessionUrl}`);
|
|
70
60
|
(0, client_1.postSessionIdNotification)(client, sessionId, recordingCommandId).catch((error) => {
|
|
71
61
|
logger.error(`Warning: error while notifying session recording ${sessionId}`);
|
|
72
62
|
logger.error(error);
|
|
@@ -74,9 +64,7 @@ const recordCommandHandler = async ({ apiToken, commitSha: commitSha_, devTools,
|
|
|
74
64
|
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log(`${error}`);
|
|
75
65
|
});
|
|
76
66
|
};
|
|
77
|
-
await recordSession({
|
|
78
|
-
browser: null,
|
|
79
|
-
project,
|
|
67
|
+
await (0, record_1.recordSession)({
|
|
80
68
|
recordingToken,
|
|
81
69
|
appCommitHash: commitSha,
|
|
82
70
|
devTools,
|
|
@@ -102,45 +90,13 @@ exports.recordCommand = (0, command_builder_1.buildCommand)("record")
|
|
|
102
90
|
describe: "Record a session",
|
|
103
91
|
})
|
|
104
92
|
.options({
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
demandOption: false,
|
|
108
|
-
},
|
|
109
|
-
commitSha: {
|
|
110
|
-
string: true,
|
|
111
|
-
},
|
|
112
|
-
devTools: {
|
|
113
|
-
boolean: true,
|
|
114
|
-
description: "Open Chrome Dev Tools",
|
|
115
|
-
},
|
|
116
|
-
bypassCSP: {
|
|
117
|
-
boolean: true,
|
|
118
|
-
description: "Enables bypass CSP in the browser",
|
|
119
|
-
},
|
|
120
|
-
width: {
|
|
121
|
-
number: true,
|
|
122
|
-
},
|
|
123
|
-
height: {
|
|
124
|
-
number: true,
|
|
125
|
-
},
|
|
126
|
-
uploadIntervalMs: {
|
|
127
|
-
number: true,
|
|
128
|
-
description: "Meticulous recording upload interval (in milliseconds)",
|
|
129
|
-
},
|
|
93
|
+
...common_options_1.COMMON_RECORD_OPTIONS,
|
|
94
|
+
commitSha: common_options_1.OPTIONS.commitSha,
|
|
130
95
|
incognito: {
|
|
131
96
|
boolean: true,
|
|
132
97
|
description: "Use an incognito browsing context",
|
|
133
98
|
default: true,
|
|
134
99
|
},
|
|
135
|
-
trace: {
|
|
136
|
-
boolean: true,
|
|
137
|
-
description: "Enable verbose logging",
|
|
138
|
-
},
|
|
139
|
-
captureHttpOnlyCookies: {
|
|
140
|
-
boolean: true,
|
|
141
|
-
default: true,
|
|
142
|
-
description: "Capture http-only cookies in addition to regular cookies",
|
|
143
|
-
},
|
|
144
100
|
})
|
|
145
101
|
.handler(exports.recordCommandHandler);
|
|
146
102
|
//# sourceMappingURL=record.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.command.js","sourceRoot":"","sources":["../../../src/commands/record/record.command.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA4B;AAC5B,qDAKkC;AAClC,
|
|
1
|
+
{"version":3,"file":"record.command.js","sourceRoot":"","sources":["../../../src/commands/record/record.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/// <reference types="yargs" />
|
|
2
|
+
export interface RecordCommandHandlerOptions {
|
|
3
|
+
apiToken: string | null | undefined;
|
|
4
|
+
devTools: boolean | null | undefined;
|
|
5
|
+
bypassCSP: boolean | null | undefined;
|
|
6
|
+
width: number | null | undefined;
|
|
7
|
+
height: number | null | undefined;
|
|
8
|
+
uploadIntervalMs: number | null | undefined;
|
|
9
|
+
trace: boolean | null | undefined;
|
|
10
|
+
captureHttpOnlyCookies: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const recordLoginFlowCommandHandler: (options: RecordCommandHandlerOptions) => Promise<void>;
|
|
13
|
+
export declare const recordLoginFlowCommand: import("yargs").CommandModule<unknown, import("yargs").InferredOptionTypes<{
|
|
14
|
+
apiToken: {
|
|
15
|
+
readonly string: true;
|
|
16
|
+
};
|
|
17
|
+
devTools: {
|
|
18
|
+
readonly boolean: true;
|
|
19
|
+
readonly description: "Open Chrome Dev Tools";
|
|
20
|
+
readonly default: boolean;
|
|
21
|
+
};
|
|
22
|
+
bypassCSP: {
|
|
23
|
+
readonly boolean: true;
|
|
24
|
+
readonly description: "Enables bypass CSP in the browser (danger: this could mean you tests hit your production backend)";
|
|
25
|
+
readonly default: boolean;
|
|
26
|
+
};
|
|
27
|
+
width: {
|
|
28
|
+
readonly number: true;
|
|
29
|
+
};
|
|
30
|
+
height: {
|
|
31
|
+
readonly number: true;
|
|
32
|
+
};
|
|
33
|
+
uploadIntervalMs: {
|
|
34
|
+
readonly number: true;
|
|
35
|
+
readonly description: "Meticulous recording upload interval (in milliseconds)";
|
|
36
|
+
};
|
|
37
|
+
trace: {
|
|
38
|
+
readonly boolean: true;
|
|
39
|
+
readonly description: "Enable verbose logging";
|
|
40
|
+
};
|
|
41
|
+
captureHttpOnlyCookies: {
|
|
42
|
+
readonly boolean: true;
|
|
43
|
+
readonly default: true;
|
|
44
|
+
readonly description: "Capture http-only cookies in addition to regular cookies";
|
|
45
|
+
};
|
|
46
|
+
}>>;
|
|
@@ -0,0 +1,66 @@
|
|
|
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.recordLoginFlowCommand = exports.recordLoginFlowCommandHandler = void 0;
|
|
7
|
+
const client_1 = require("@alwaysmeticulous/client");
|
|
8
|
+
const common_1 = require("@alwaysmeticulous/common");
|
|
9
|
+
const downloading_helpers_1 = require("@alwaysmeticulous/downloading-helpers");
|
|
10
|
+
const record_1 = require("@alwaysmeticulous/record");
|
|
11
|
+
const loglevel_1 = __importDefault(require("loglevel"));
|
|
12
|
+
const command_builder_1 = require("../../command-utils/command-builder");
|
|
13
|
+
const common_options_1 = require("../../command-utils/common-options");
|
|
14
|
+
const recordLoginFlowCommandHandler = async ({ apiToken, devTools, bypassCSP, width, height, uploadIntervalMs, trace, captureHttpOnlyCookies, }) => {
|
|
15
|
+
const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
|
|
16
|
+
const debugLogger = trace ? await common_1.DebugLogger.create() : null;
|
|
17
|
+
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("Record options:");
|
|
18
|
+
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.logObject({
|
|
19
|
+
apiToken,
|
|
20
|
+
devTools,
|
|
21
|
+
width,
|
|
22
|
+
height,
|
|
23
|
+
uploadIntervalMs,
|
|
24
|
+
trace,
|
|
25
|
+
});
|
|
26
|
+
// 1. Fetch the recording token
|
|
27
|
+
const client = (0, client_1.createClient)({ apiToken });
|
|
28
|
+
const project = await (0, client_1.getProject)(client);
|
|
29
|
+
if (!project) {
|
|
30
|
+
logger.error("Could not retrieve project data. Is the API token correct?");
|
|
31
|
+
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("Could not retrieve project data. Is the API token correct?");
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
const recordingToken = project.recordingToken;
|
|
35
|
+
if (!recordingToken) {
|
|
36
|
+
logger.error("Could not retrieve recording token.");
|
|
37
|
+
debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("Could not retrieve recording token.");
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
logger.debug(`Recording token: ${recordingToken}`);
|
|
41
|
+
// 3. Load recording snippets
|
|
42
|
+
const recordingSnippet = await (0, downloading_helpers_1.fetchAsset)("v1/meticulous.js");
|
|
43
|
+
const earlyNetworkRecorderSnippet = await (0, downloading_helpers_1.fetchAsset)("record/v1/network-recorder.bundle.js");
|
|
44
|
+
// 4. Start recording
|
|
45
|
+
await (0, record_1.recordLoginFlowSession)({
|
|
46
|
+
recordingToken,
|
|
47
|
+
devTools,
|
|
48
|
+
bypassCSP,
|
|
49
|
+
recordingSnippet,
|
|
50
|
+
earlyNetworkRecorderSnippet,
|
|
51
|
+
width,
|
|
52
|
+
height,
|
|
53
|
+
uploadIntervalMs,
|
|
54
|
+
captureHttpOnlyCookies,
|
|
55
|
+
}).catch((error) => {
|
|
56
|
+
throw error;
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
exports.recordLoginFlowCommandHandler = recordLoginFlowCommandHandler;
|
|
60
|
+
exports.recordLoginFlowCommand = (0, command_builder_1.buildCommand)("record-login")
|
|
61
|
+
.details({
|
|
62
|
+
describe: "Record a login flow session",
|
|
63
|
+
})
|
|
64
|
+
.options(common_options_1.COMMON_RECORD_OPTIONS)
|
|
65
|
+
.handler(exports.recordLoginFlowCommandHandler);
|
|
66
|
+
//# sourceMappingURL=record-login-flow.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-login-flow.command.js","sourceRoot":"","sources":["../../../src/commands/record-login-flow/record-login-flow.command.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAoE;AACpE,qDAA+E;AAC/E,+EAAmE;AACnE,qDAAkE;AAClE,wDAA2B;AAC3B,yEAAmE;AACnE,uEAA2E;AAapE,MAAM,6BAA6B,GAErB,KAAK,EAAE,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,sBAAsB,GACvB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,oBAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACpC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;QACrB,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,MAAM;QACN,gBAAgB;QAChB,KAAK;KACN,CAAC,CAAC;IAEH,+BAA+B;IAC/B,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,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC3E,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CACd,4DAA4D,CAC7D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,MAAM,CAAC,KAAK,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;IAEnD,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAA,gCAAU,EAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,2BAA2B,GAAG,MAAM,IAAA,gCAAU,EAClD,sCAAsC,CACvC,CAAC;IAEF,qBAAqB;IACrB,MAAM,IAAA,+BAAsB,EAAC;QAC3B,cAAc;QACd,QAAQ;QACR,SAAS;QACT,gBAAgB;QAChB,2BAA2B;QAC3B,KAAK;QACL,MAAM;QACN,gBAAgB;QAChB,sBAAsB;KACvB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA/DW,QAAA,6BAA6B,iCA+DxC;AAEW,QAAA,sBAAsB,GAAG,IAAA,8BAAY,EAAC,cAAc,CAAC;KAC/D,OAAO,CAAC;IACP,QAAQ,EAAE,6BAA6B;CACxC,CAAC;KACD,OAAO,CAAC,sCAAqB,CAAC;KAC9B,OAAO,CAAC,qCAA6B,CAAC,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -11,6 +11,7 @@ const yargs_1 = __importDefault(require("yargs"));
|
|
|
11
11
|
const download_replay_command_1 = require("./commands/download-replay/download-replay.command");
|
|
12
12
|
const download_session_command_1 = require("./commands/download-session/download-session.command");
|
|
13
13
|
const record_command_1 = require("./commands/record/record.command");
|
|
14
|
+
const record_login_flow_command_1 = require("./commands/record-login-flow/record-login-flow.command");
|
|
14
15
|
const replay_command_1 = require("./commands/replay/replay.command");
|
|
15
16
|
const run_all_tests_command_1 = require("./commands/run-all-tests/run-all-tests.command");
|
|
16
17
|
const show_project_command_1 = require("./commands/show-project/show-project.command");
|
|
@@ -32,6 +33,7 @@ const main = async () => {
|
|
|
32
33
|
.command(download_replay_command_1.downloadReplayCommand)
|
|
33
34
|
.command(download_session_command_1.downloadSessionCommand)
|
|
34
35
|
.command(record_command_1.recordCommand)
|
|
36
|
+
.command(record_login_flow_command_1.recordLoginFlowCommand)
|
|
35
37
|
.command(replay_command_1.replayCommand)
|
|
36
38
|
.command(run_all_tests_command_1.runAllTestsCommand)
|
|
37
39
|
.command(show_project_command_1.showProjectCommand)
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAuC;AACvC,qDAGkC;AAClC,qDAAsD;AACtD,kDAA0B;AAC1B,gGAA2F;AAC3F,mGAA8F;AAC9F,qEAAiE;AACjE,qEAAiE;AACjE,0FAAoF;AACpF,uFAAkF;AAClF,uDAA+D;AAC/D,uDAAkD;AAElD,MAAM,aAAa,GAAiD,CAClE,OAAO,EACP,EAAE;IACF,IAAA,kCAAyB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,IAAI,GAAe,KAAK,IAAI,EAAE;IACzC,IAAA,yBAAU,GAAE,CAAC;IACb,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,CAAC,CAAC;IACtE,MAAM,IAAA,mBAAU,EAAC,iBAAiB,CAAC,CAAC;IAEpC,eAAK;SACF,UAAU,CAAC,YAAY,CAAC;SACxB,KAAK,CACJ;;qBAEe,CAChB;SACA,OAAO,CAAC,+CAAqB,CAAC;SAC9B,OAAO,CAAC,iDAAsB,CAAC;SAC/B,OAAO,CAAC,8BAAa,CAAC;SACtB,OAAO,CAAC,8BAAa,CAAC;SACtB,OAAO,CAAC,0CAAkB,CAAC;SAC3B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,IAAI,EAAE;SACN,MAAM,EAAE;SACR,aAAa,EAAE;SACf,MAAM,CAAC;QACN,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC9D,WAAW,EAAE,WAAW;SACzB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,wDAAwD;SACtE;KACF,CAAC;SACD,UAAU,CAAC;QACV,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC;KAC3B,CAAC,CAAC,IAAI,CAAC;AACZ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAuC;AACvC,qDAGkC;AAClC,qDAAsD;AACtD,kDAA0B;AAC1B,gGAA2F;AAC3F,mGAA8F;AAC9F,qEAAiE;AACjE,sGAAgG;AAChG,qEAAiE;AACjE,0FAAoF;AACpF,uFAAkF;AAClF,uDAA+D;AAC/D,uDAAkD;AAElD,MAAM,aAAa,GAAiD,CAClE,OAAO,EACP,EAAE;IACF,IAAA,kCAAyB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,IAAI,GAAe,KAAK,IAAI,EAAE;IACzC,IAAA,yBAAU,GAAE,CAAC;IACb,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,CAAC,CAAC;IACtE,MAAM,IAAA,mBAAU,EAAC,iBAAiB,CAAC,CAAC;IAEpC,eAAK;SACF,UAAU,CAAC,YAAY,CAAC;SACxB,KAAK,CACJ;;qBAEe,CAChB;SACA,OAAO,CAAC,+CAAqB,CAAC;SAC9B,OAAO,CAAC,iDAAsB,CAAC;SAC/B,OAAO,CAAC,8BAAa,CAAC;SACtB,OAAO,CAAC,kDAAsB,CAAC;SAC/B,OAAO,CAAC,8BAAa,CAAC;SACtB,OAAO,CAAC,0CAAkB,CAAC;SAC3B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,IAAI,EAAE;SACN,MAAM,EAAE;SACR,aAAa,EAAE;SACf,MAAM,CAAC;QACN,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;YAC9D,WAAW,EAAE,WAAW;SACzB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,wDAAwD;SACtE;KACF,CAAC;SACD,UAAU,CAAC;QACV,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QACrC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC;KAC3B,CAAC,CAAC,IAAI,CAAC;AACZ,CAAC,CAAC;AAtCW,QAAA,IAAI,QAsCf;AAEF,IAAA,YAAI,GAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.95.0",
|
|
4
4
|
"description": "The Meticulous CLI",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@alwaysmeticulous/api": "^2.92.0",
|
|
33
|
-
"@alwaysmeticulous/client": "^2.
|
|
34
|
-
"@alwaysmeticulous/common": "^2.
|
|
35
|
-
"@alwaysmeticulous/downloading-helpers": "^2.
|
|
36
|
-
"@alwaysmeticulous/record": "^2.
|
|
33
|
+
"@alwaysmeticulous/client": "^2.95.0",
|
|
34
|
+
"@alwaysmeticulous/common": "^2.95.0",
|
|
35
|
+
"@alwaysmeticulous/downloading-helpers": "^2.95.0",
|
|
36
|
+
"@alwaysmeticulous/record": "^2.95.0",
|
|
37
37
|
"@alwaysmeticulous/replay-debugger-ui": "^2.46.0",
|
|
38
|
-
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.
|
|
38
|
+
"@alwaysmeticulous/replay-orchestrator-launcher": "^2.95.0",
|
|
39
39
|
"@alwaysmeticulous/sdk-bundles-api": "^2.92.0",
|
|
40
40
|
"@alwaysmeticulous/sentry": "^2.72.0",
|
|
41
41
|
"@sentry/node": "^7.36.0",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"coverageDirectory": "../coverage",
|
|
81
81
|
"testEnvironment": "node"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "3f3b227e5c9ba524d06b75719d65150728db558a"
|
|
84
84
|
}
|