@midleman/playwright-reporter 0.39.3 → 0.41.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.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * E2E Insights CLI
4
+ *
5
+ * Provides utilities for E2E test infrastructure, including predictive sharding.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * E2E Insights CLI
5
+ *
6
+ * Provides utilities for E2E test infrastructure, including predictive sharding.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const run_shard_1 = require("./run-shard");
10
+ const args = process.argv.slice(2);
11
+ const command = args[0];
12
+ function printHelp() {
13
+ console.log(`
14
+ e2e-insights - CLI tools for E2E Test Insights
15
+
16
+ Commands:
17
+ run-shard Run tests with predictive sharding
18
+
19
+ Usage:
20
+ npx e2e-insights run-shard [options] [-- playwright-options]
21
+
22
+ Run 'npx e2e-insights <command> --help' for command-specific help.
23
+
24
+ Examples:
25
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron
26
+ npx e2e-insights run-shard --help
27
+ `);
28
+ }
29
+ async function main() {
30
+ if (!command || command === "--help" || command === "-h") {
31
+ printHelp();
32
+ process.exit(0);
33
+ }
34
+ if (command === "run-shard") {
35
+ const subArgs = args.slice(1);
36
+ if (subArgs.includes("--help") || subArgs.includes("-h")) {
37
+ console.log(`
38
+ e2e-insights run-shard - Predictive test sharding
39
+
40
+ Uses historical test duration data to optimally distribute specs across CI shards.
41
+
42
+ Usage:
43
+ npx e2e-insights run-shard [options] [-- playwright-options]
44
+
45
+ Required:
46
+ --shard-index=N Shard index (1-based, e.g., 1, 2, 3)
47
+ --shard-total=N Total number of shards
48
+ --repo=OWNER/REPO Repository identifier (e.g., posit-dev/positron)
49
+
50
+ Optional:
51
+ --os=OS Filter by OS (e.g., ubuntu, windows)
52
+ --browser=BROWSER Filter by browser (e.g., chromium, firefox)
53
+ --branch=BRANCH Filter by branch (defaults to current)
54
+ --fallback=MODE What to do if API fails: native (default) or fail
55
+
56
+ Pass-through:
57
+ Unrecognized arguments are automatically passed to Playwright.
58
+ You can also use -- for explicit pass-through.
59
+
60
+ Supported Playwright args include: --workers, --retries, --project,
61
+ --grep, --timeout, --reporter, --config, --headed, --ui, --trace, etc.
62
+
63
+ Examples:
64
+ # Basic usage
65
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron
66
+
67
+ # With platform filtering
68
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron \\
69
+ --os=ubuntu --browser=chromium
70
+
71
+ # With Playwright options (auto pass-through)
72
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron \\
73
+ --workers=4 --retries=2 --project=chromium
74
+
75
+ # With explicit pass-through
76
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron \\
77
+ -- --headed --debug
78
+ `);
79
+ process.exit(0);
80
+ }
81
+ try {
82
+ const options = (0, run_shard_1.parseRunShardArgs)(subArgs);
83
+ const exitCode = await (0, run_shard_1.runShard)(options);
84
+ process.exit(exitCode);
85
+ }
86
+ catch (error) {
87
+ console.error(`❌ ${error}`);
88
+ process.exit(1);
89
+ }
90
+ }
91
+ else {
92
+ console.error(`Unknown command: ${command}`);
93
+ printHelp();
94
+ process.exit(1);
95
+ }
96
+ }
97
+ main().catch((error) => {
98
+ console.error(`❌ Unexpected error: ${error}`);
99
+ process.exit(1);
100
+ });
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;AAEH,2CAA0D;AAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;CAcb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAQ,EAAC,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * CLI tool for predictive test sharding
3
+ *
4
+ * Discovers spec files, fetches optimal shard assignment from API,
5
+ * and runs Playwright with only the assigned specs.
6
+ */
7
+ export interface RunShardOptions {
8
+ shardIndex: number;
9
+ shardTotal: number;
10
+ repo: string;
11
+ os?: string;
12
+ browser?: string;
13
+ branch?: string;
14
+ fallback?: "native" | "fail";
15
+ playwrightArgs?: string[];
16
+ }
17
+ export interface ShardAssignment {
18
+ shard_index: number;
19
+ num_shards: number;
20
+ specs: string[];
21
+ estimated_duration_ms: number;
22
+ total_specs_assigned: number;
23
+ total_specs_all_shards: number;
24
+ data_quality: {
25
+ specs_with_history: number;
26
+ specs_without_history: number;
27
+ };
28
+ shard_balance?: {
29
+ variance_pct: number;
30
+ };
31
+ }
32
+ interface FetchShardParams {
33
+ specs: string[];
34
+ shardIndex: number;
35
+ numShards: number;
36
+ repo: string;
37
+ os?: string;
38
+ browser?: string;
39
+ branch?: string;
40
+ }
41
+ export declare function parseRunShardArgs(args: string[]): RunShardOptions;
42
+ /**
43
+ * Parse the JSON output from `playwright test --list --reporter=json`
44
+ */
45
+ export declare function parsePlaywrightListOutput(output: string): string[];
46
+ /**
47
+ * Discover all spec files by running `playwright test --list`
48
+ */
49
+ export declare function discoverSpecs(): Promise<string[]>;
50
+ /**
51
+ * Fetch shard assignment from the E2E Insights API
52
+ */
53
+ export declare function fetchShardAssignment(apiUrl: string, params: FetchShardParams): Promise<ShardAssignment>;
54
+ /**
55
+ * Build Playwright command arguments for assigned specs
56
+ */
57
+ export declare function buildPlaywrightArgs(specs: string[], extraArgs: string[]): string[];
58
+ /**
59
+ * Build Playwright command arguments for native sharding fallback
60
+ */
61
+ export declare function buildNativeShardingArgs(shardIndex: number, shardTotal: number, extraArgs: string[]): string[];
62
+ /**
63
+ * Run Playwright with the given arguments
64
+ */
65
+ export declare function runPlaywright(args: string[]): Promise<number>;
66
+ /**
67
+ * Extract browser from --project argument in Playwright args
68
+ *
69
+ * Supports both formats:
70
+ * - --project=e2e-chromium
71
+ * - --project e2e-chromium
72
+ *
73
+ * Uses the same inference logic as the reporter (inferBrowserFromProject)
74
+ */
75
+ export declare function extractBrowserFromArgs(args: string[]): string | undefined;
76
+ export declare function runShard(options: RunShardOptions): Promise<number>;
77
+ export {};
78
+ //# sourceMappingURL=run-shard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-shard.d.ts","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAKD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE;QACZ,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA4EjE;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CASlE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BvD;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAenE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAyBzE;AAMD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFxE"}
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ /**
3
+ * CLI tool for predictive test sharding
4
+ *
5
+ * Discovers spec files, fetches optimal shard assignment from API,
6
+ * and runs Playwright with only the assigned specs.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.parseRunShardArgs = parseRunShardArgs;
10
+ exports.parsePlaywrightListOutput = parsePlaywrightListOutput;
11
+ exports.discoverSpecs = discoverSpecs;
12
+ exports.fetchShardAssignment = fetchShardAssignment;
13
+ exports.buildPlaywrightArgs = buildPlaywrightArgs;
14
+ exports.buildNativeShardingArgs = buildNativeShardingArgs;
15
+ exports.runPlaywright = runPlaywright;
16
+ exports.extractBrowserFromArgs = extractBrowserFromArgs;
17
+ exports.runShard = runShard;
18
+ const child_process_1 = require("child_process");
19
+ const utils_1 = require("../utils");
20
+ // Hardcoded API URL - only one production environment
21
+ const API_URL = "https://connect.posit.it/e2e-test-insights-api";
22
+ // ============================================================================
23
+ // Argument Parsing
24
+ // ============================================================================
25
+ // Args that belong to our CLI (everything else passes through to Playwright)
26
+ const OUR_ARG_PREFIXES = [
27
+ "--shard-index=",
28
+ "--shard-total=",
29
+ "--repo=",
30
+ "--os=",
31
+ "--browser=",
32
+ "--branch=",
33
+ "--fallback=",
34
+ ];
35
+ function parseRunShardArgs(args) {
36
+ const options = {
37
+ fallback: "native",
38
+ playwrightArgs: [],
39
+ };
40
+ // Find the -- separator for explicit pass-through args
41
+ const separatorIndex = args.indexOf("--");
42
+ const ourArgs = separatorIndex >= 0 ? args.slice(0, separatorIndex) : args;
43
+ const explicitPlaywrightArgs = separatorIndex >= 0 ? args.slice(separatorIndex + 1) : [];
44
+ // Collect unrecognized args to pass through to Playwright
45
+ const unrecognizedArgs = [];
46
+ for (const arg of ourArgs) {
47
+ if (arg.startsWith("--shard-index=")) {
48
+ options.shardIndex = parseInt(arg.split("=")[1], 10);
49
+ }
50
+ else if (arg.startsWith("--shard-total=")) {
51
+ options.shardTotal = parseInt(arg.split("=")[1], 10);
52
+ }
53
+ else if (arg.startsWith("--repo=")) {
54
+ options.repo = arg.split("=")[1];
55
+ }
56
+ else if (arg.startsWith("--os=")) {
57
+ options.os = arg.split("=")[1];
58
+ }
59
+ else if (arg.startsWith("--browser=")) {
60
+ options.browser = arg.split("=")[1];
61
+ }
62
+ else if (arg.startsWith("--branch=")) {
63
+ options.branch = arg.split("=")[1];
64
+ }
65
+ else if (arg.startsWith("--fallback=")) {
66
+ const value = arg.split("=")[1];
67
+ if (value === "native" || value === "fail") {
68
+ options.fallback = value;
69
+ }
70
+ }
71
+ else {
72
+ // Pass through any unrecognized args to Playwright
73
+ // This includes: --workers, --retries, --project, --grep, --headed, etc.
74
+ unrecognizedArgs.push(arg);
75
+ }
76
+ }
77
+ // Combine unrecognized args with explicit pass-through args
78
+ // Explicit args (after --) take precedence (come last)
79
+ options.playwrightArgs = [...unrecognizedArgs, ...explicitPlaywrightArgs];
80
+ // Validate required arguments
81
+ if (options.shardIndex === undefined) {
82
+ throw new Error("Missing required argument: --shard-index");
83
+ }
84
+ if (options.shardTotal === undefined) {
85
+ throw new Error("Missing required argument: --shard-total");
86
+ }
87
+ if (!options.repo) {
88
+ throw new Error("Missing required argument: --repo");
89
+ }
90
+ // Validate numeric values are valid (parseInt returns NaN for invalid input)
91
+ if (Number.isNaN(options.shardIndex)) {
92
+ throw new Error("--shard-index must be a valid number");
93
+ }
94
+ if (Number.isNaN(options.shardTotal)) {
95
+ throw new Error("--shard-total must be a valid number");
96
+ }
97
+ // Validate shardTotal is positive
98
+ if (options.shardTotal < 1) {
99
+ throw new Error("--shard-total must be at least 1");
100
+ }
101
+ // Validate shard index range (1-based)
102
+ if (options.shardIndex < 1 || options.shardIndex > options.shardTotal) {
103
+ throw new Error(`shard-index must be between 1 and ${options.shardTotal}, got ${options.shardIndex}`);
104
+ }
105
+ return options;
106
+ }
107
+ // ============================================================================
108
+ // Spec Discovery
109
+ // ============================================================================
110
+ /**
111
+ * Parse the JSON output from `playwright test --list --reporter=json`
112
+ */
113
+ function parsePlaywrightListOutput(output) {
114
+ try {
115
+ const data = JSON.parse(output);
116
+ const files = (data.suites || []).map((s) => s.file);
117
+ // Dedupe and sort for deterministic output
118
+ return [...new Set(files)].sort();
119
+ }
120
+ catch {
121
+ return [];
122
+ }
123
+ }
124
+ /**
125
+ * Discover all spec files by running `playwright test --list`
126
+ */
127
+ async function discoverSpecs() {
128
+ return new Promise((resolve, reject) => {
129
+ const proc = (0, child_process_1.spawn)("npx", ["playwright", "test", "--list", "--reporter=json"], {
130
+ shell: process.platform === "win32", // Required on Windows for .cmd files
131
+ stdio: ["inherit", "pipe", "pipe"],
132
+ });
133
+ let stdout = "";
134
+ let stderr = "";
135
+ proc.stdout.on("data", (data) => {
136
+ stdout += data.toString();
137
+ });
138
+ proc.stderr.on("data", (data) => {
139
+ stderr += data.toString();
140
+ });
141
+ proc.on("close", (code) => {
142
+ if (code !== 0) {
143
+ reject(new Error(`playwright test --list failed: ${stderr}`));
144
+ return;
145
+ }
146
+ const specs = parsePlaywrightListOutput(stdout);
147
+ resolve(specs);
148
+ });
149
+ proc.on("error", (err) => {
150
+ reject(new Error(`Failed to spawn playwright: ${err.message}`));
151
+ });
152
+ });
153
+ }
154
+ // ============================================================================
155
+ // API Client
156
+ // ============================================================================
157
+ /**
158
+ * Fetch shard assignment from the E2E Insights API
159
+ */
160
+ async function fetchShardAssignment(apiUrl, params) {
161
+ const url = `${apiUrl}/shards/compute`;
162
+ const body = {
163
+ specs: params.specs,
164
+ shard_index: params.shardIndex,
165
+ num_shards: params.numShards,
166
+ repo: params.repo,
167
+ };
168
+ // Only include optional fields if defined
169
+ if (params.os)
170
+ body.os = params.os;
171
+ if (params.browser)
172
+ body.browser = params.browser;
173
+ if (params.branch)
174
+ body.branch = params.branch;
175
+ // Build headers with optional API key auth (same as reporter)
176
+ const headers = { "Content-Type": "application/json" };
177
+ const apiKey = process.env.CONNECT_API_KEY || process.env.E2E_CONNECT_APIKEY;
178
+ if (apiKey) {
179
+ headers["Authorization"] = `Key ${apiKey}`;
180
+ }
181
+ const response = await fetch(url, {
182
+ method: "POST",
183
+ headers,
184
+ body: JSON.stringify(body),
185
+ });
186
+ if (!response.ok) {
187
+ const text = await response.text();
188
+ // Truncate long error responses (e.g., HTML error pages)
189
+ const truncated = text.length > 200 ? text.slice(0, 200) + "..." : text;
190
+ throw new Error(`API error: ${response.status} ${response.statusText} - ${truncated}`);
191
+ }
192
+ return response.json();
193
+ }
194
+ // ============================================================================
195
+ // Playwright Runner
196
+ // ============================================================================
197
+ /**
198
+ * Build Playwright command arguments for assigned specs
199
+ */
200
+ function buildPlaywrightArgs(specs, extraArgs) {
201
+ return ["test", ...specs, ...extraArgs];
202
+ }
203
+ /**
204
+ * Build Playwright command arguments for native sharding fallback
205
+ */
206
+ function buildNativeShardingArgs(shardIndex, shardTotal, extraArgs) {
207
+ return ["test", `--shard=${shardIndex}/${shardTotal}`, ...extraArgs];
208
+ }
209
+ /**
210
+ * Run Playwright with the given arguments
211
+ */
212
+ async function runPlaywright(args) {
213
+ return new Promise((resolve) => {
214
+ const proc = (0, child_process_1.spawn)("npx", ["playwright", ...args], {
215
+ shell: process.platform === "win32", // Required on Windows for .cmd files
216
+ stdio: "inherit",
217
+ });
218
+ proc.on("close", (code) => {
219
+ resolve(code ?? 1);
220
+ });
221
+ proc.on("error", () => {
222
+ resolve(1);
223
+ });
224
+ });
225
+ }
226
+ // ============================================================================
227
+ // Browser Inference
228
+ // ============================================================================
229
+ /**
230
+ * Extract browser from --project argument in Playwright args
231
+ *
232
+ * Supports both formats:
233
+ * - --project=e2e-chromium
234
+ * - --project e2e-chromium
235
+ *
236
+ * Uses the same inference logic as the reporter (inferBrowserFromProject)
237
+ */
238
+ function extractBrowserFromArgs(args) {
239
+ // Match --project=value or --project value (but not --project-config, etc.)
240
+ const projectArg = args.find((arg) => arg === "--project" || arg.startsWith("--project="));
241
+ if (!projectArg) {
242
+ return undefined;
243
+ }
244
+ let projectName;
245
+ if (projectArg.includes("=")) {
246
+ projectName = projectArg.split("=")[1];
247
+ }
248
+ else {
249
+ const nextIndex = args.indexOf(projectArg) + 1;
250
+ if (nextIndex < args.length) {
251
+ projectName = args[nextIndex];
252
+ }
253
+ }
254
+ if (!projectName) {
255
+ return undefined;
256
+ }
257
+ return (0, utils_1.inferBrowserFromProject)(projectName);
258
+ }
259
+ // ============================================================================
260
+ // Main Entry Point
261
+ // ============================================================================
262
+ async function runShard(options) {
263
+ const extraArgs = options.playwrightArgs || [];
264
+ // Infer browser from --project if not explicitly provided (matches reporter logic)
265
+ const browser = options.browser || extractBrowserFromArgs(extraArgs);
266
+ console.log(`\n📋 Discovering spec files...`);
267
+ let specs;
268
+ try {
269
+ specs = await discoverSpecs();
270
+ console.log(` Found ${specs.length} spec files`);
271
+ }
272
+ catch (error) {
273
+ console.error(`❌ Failed to discover specs: ${error}`);
274
+ if (options.fallback === "fail") {
275
+ return 1;
276
+ }
277
+ console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
278
+ console.log(` Reason: Spec discovery failed`);
279
+ const args = buildNativeShardingArgs(options.shardIndex, options.shardTotal, extraArgs);
280
+ return runPlaywright(args);
281
+ }
282
+ if (specs.length === 0) {
283
+ console.log(`✅ No spec files found - nothing to run`);
284
+ return 0;
285
+ }
286
+ console.log(`🎯 Getting assignment for shard ${options.shardIndex}/${options.shardTotal}...`);
287
+ let assignment;
288
+ try {
289
+ assignment = await fetchShardAssignment(API_URL, {
290
+ specs,
291
+ shardIndex: options.shardIndex - 1, // Convert to 0-based for API
292
+ numShards: options.shardTotal,
293
+ repo: options.repo,
294
+ os: options.os,
295
+ browser,
296
+ branch: options.branch,
297
+ });
298
+ const estSeconds = Math.round(assignment.estimated_duration_ms / 1000);
299
+ console.log(` Assigned ${assignment.specs.length} specs (est. ${estSeconds}s)`);
300
+ console.log(` Data quality: ${assignment.data_quality.specs_with_history}/${specs.length} specs have history`);
301
+ if (assignment.shard_balance) {
302
+ console.log(` Shard balance variance: ${assignment.shard_balance.variance_pct}%`);
303
+ }
304
+ }
305
+ catch (error) {
306
+ console.warn(`⚠️ API unavailable: ${error}`);
307
+ if (options.fallback === "fail") {
308
+ console.error(`❌ Fallback disabled - exiting`);
309
+ return 1;
310
+ }
311
+ console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
312
+ console.log(` Reason: API request failed`);
313
+ const args = buildNativeShardingArgs(options.shardIndex, options.shardTotal, extraArgs);
314
+ return runPlaywright(args);
315
+ }
316
+ if (assignment.specs.length === 0) {
317
+ console.log(`✅ No specs assigned to this shard - nothing to run`);
318
+ return 0;
319
+ }
320
+ console.log(`\n🎭 Running Playwright with ${assignment.specs.length} specs...`);
321
+ const args = buildPlaywrightArgs(assignment.specs, extraArgs);
322
+ return runPlaywright(args);
323
+ }
324
+ // CLI entry point (when run directly)
325
+ if (require.main === module) {
326
+ const args = process.argv.slice(2);
327
+ // Handle help
328
+ if (args.includes("--help") || args.includes("-h")) {
329
+ console.log(`
330
+ e2e-insights run-shard - Predictive test sharding
331
+
332
+ Usage:
333
+ npx e2e-insights run-shard [options] [-- playwright-options]
334
+
335
+ Required:
336
+ --shard-index=N Shard index (1-based, e.g., 1, 2, 3)
337
+ --shard-total=N Total number of shards
338
+ --repo=OWNER/REPO Repository identifier (e.g., posit-dev/positron)
339
+
340
+ Optional:
341
+ --os=OS Filter by OS (e.g., ubuntu, windows)
342
+ --browser=BROWSER Filter by browser (e.g., chromium, firefox)
343
+ --branch=BRANCH Filter by branch (defaults to current)
344
+ --fallback=MODE What to do if API fails: native (default) or fail
345
+
346
+ Examples:
347
+ npx e2e-insights run-shard --shard-index=1 --shard-total=6 --repo=posit-dev/positron
348
+ npx e2e-insights run-shard --shard-index=2 --shard-total=6 --repo=posit-dev/positron --os=ubuntu -- --workers=4
349
+ `);
350
+ process.exit(0);
351
+ }
352
+ try {
353
+ const options = parseRunShardArgs(args);
354
+ runShard(options).then((code) => {
355
+ process.exit(code);
356
+ });
357
+ }
358
+ catch (error) {
359
+ console.error(`❌ ${error}`);
360
+ process.exit(1);
361
+ }
362
+ }
363
+ //# sourceMappingURL=run-shard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-shard.js","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -7,6 +7,7 @@ export declare const SCHEMA_VERSION = "1.0.0";
7
7
  /**
8
8
  * Result status enum
9
9
  * Note: 'interrupted' occurs when tests are stopped early (e.g., --max-failures)
10
+ * Keep in sync with: src/api/test_results_api.R (.valid_result_statuses)
10
11
  */
11
12
  export declare const ResultStatusSchema: z.ZodEnum<["passed", "failed", "skipped", "flaky", "interrupted"]>;
12
13
  export type ResultStatus = z.infer<typeof ResultStatusSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oEAAkE,CAAC;AAClG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EAKvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEnF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAEtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEvE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAE3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAErD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEzD;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;GAE3D"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,oEAAkE,CAAC;AAClG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EAKvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEnF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAEtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEvE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAE3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAErD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEzD;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;GAE3D"}
package/dist/schemas.js CHANGED
@@ -18,6 +18,7 @@ exports.SCHEMA_VERSION = '1.0.0';
18
18
  /**
19
19
  * Result status enum
20
20
  * Note: 'interrupted' occurs when tests are stopped early (e.g., --max-failures)
21
+ * Keep in sync with: src/api/test_results_api.R (.valid_result_statuses)
21
22
  */
22
23
  exports.ResultStatusSchema = zod_1.z.enum(['passed', 'failed', 'skipped', 'flaky', 'interrupted']);
23
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":";;;AA6JA,sEAEC;AAKD,8EAEC;AAKD,kDAEC;AAKD,0DAEC;AAKD,8DAEC;AAKD,0DAEC;AAED,kEAEC;AAED,sEAEC;AA1MD,6BAAwB;AAExB;;;GAGG;AACU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC;;;GAGG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAGlG;;;GAGG;AACU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,0BAAkB;IAC1B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,EAAE,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,sCAAsC;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAGH;;;GAGG;AACU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,oBAAoB;IACpB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,oFAAoF;IACpF,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,mGAAmG;IACnG,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAGH;;GAEG;AACU,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACrC,CAAC,CAAC;AAGH;;;GAGG;AACU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACrD,MAAM,EAAE,oBAAY;CACpB,CAAC,CAAC;AAGH;;GAEG;AACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,gCAAwB;IACxB,6BAAqB;IACrB,+BAAuB;CACvB,CAAC,CAAC;AAGH;;;;GAIG;AACU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,qBAAqB;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,0BAAkB;IAC1B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,EAAE,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,gDAAgD;IAChD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,uCAAuC;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACvD,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACvD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAGH;;GAEG;AACH,SAAgB,6BAA6B,CAAC,KAAc;IAC3D,OAAO,mCAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,iCAAiC,CAAC,KAAc;IAC/D,OAAO,mCAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAc;IACjD,OAAO,gCAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAc;IACrD,OAAO,6BAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,KAAc;IACvD,OAAO,+BAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAc;IACrD,OAAO,gCAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAAc;IACzD,OAAO,6BAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,6BAA6B,CAAC,KAAc;IAC3D,OAAO,+BAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@midleman/playwright-reporter",
3
- "version": "0.39.3",
3
+ "version": "0.41.0",
4
4
  "description": "Playwright reporter that writes test results to S3 as Parquet files",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "e2e-insights": "./dist/cli/index.js"
9
+ },
7
10
  "scripts": {
8
11
  "build": "tsc",
9
12
  "watch": "tsc --watch",