@midleman/playwright-reporter 0.41.1 → 0.42.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.
@@ -11,23 +11,32 @@ export interface RunShardOptions {
11
11
  os?: string;
12
12
  browser?: string;
13
13
  branch?: string;
14
- fallback?: "native" | "fail";
14
+ fallback?: 'native' | 'fail';
15
15
  playwrightArgs?: string[];
16
16
  }
17
+ /**
18
+ * Normalize repo identifier for API
19
+ *
20
+ * GitHub provides "owner/repo" format, but the cache uses just "repo".
21
+ * This strips the owner prefix if present.
22
+ */
23
+ export declare function normalizeRepoId(repo: string): string;
17
24
  export interface ShardAssignment {
18
25
  shard_index: number;
19
26
  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: {
27
+ specs: string[] | null;
28
+ estimated_duration_ms?: number;
29
+ total_specs_assigned?: number;
30
+ total_specs_all_shards?: number;
31
+ data_quality?: {
25
32
  specs_with_history: number;
26
33
  specs_without_history: number;
27
34
  };
28
35
  shard_balance?: {
29
36
  variance_pct: number;
30
37
  };
38
+ fallback_reason?: string;
39
+ recommendation?: string;
31
40
  }
32
41
  interface FetchShardParams {
33
42
  specs: string[];
@@ -41,6 +50,14 @@ interface FetchShardParams {
41
50
  export declare function parseRunShardArgs(args: string[]): RunShardOptions;
42
51
  /**
43
52
  * Parse the JSON output from `playwright test --list --reporter=json`
53
+ *
54
+ * Playwright's JSON output has:
55
+ * - config.configFile: absolute path to playwright.config.ts (repo root)
56
+ * - config.rootDir: absolute path to test directory
57
+ * - suites[].file: filename relative to rootDir
58
+ *
59
+ * We need to return paths relative to repo root (where config lives),
60
+ * which matches how the reporter stores specPath.
44
61
  */
45
62
  export declare function parsePlaywrightListOutput(output: string): string[];
46
63
  /**
@@ -1 +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,CA4C1B;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"}
1
+ {"version":3,"file":"run-shard.d.ts","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,eAAe;IAC5B,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;CAC7B;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE;QACX,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,aAAa,CAAC,EAAE;QACZ,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,gBAAgB;IACtB,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;CACnB;AAiBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA2EjE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAsClE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BvD;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CA4C1B;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAElF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EAAE,GACpB,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,CAuBzE;AAMD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA0FxE"}
@@ -5,7 +5,11 @@
5
5
  * Discovers spec files, fetches optimal shard assignment from API,
6
6
  * and runs Playwright with only the assigned specs.
7
7
  */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.normalizeRepoId = normalizeRepoId;
9
13
  exports.parseRunShardArgs = parseRunShardArgs;
10
14
  exports.parsePlaywrightListOutput = parsePlaywrightListOutput;
11
15
  exports.discoverSpecs = discoverSpecs;
@@ -16,55 +20,71 @@ exports.runPlaywright = runPlaywright;
16
20
  exports.extractBrowserFromArgs = extractBrowserFromArgs;
17
21
  exports.runShard = runShard;
18
22
  const child_process_1 = require("child_process");
23
+ const path_1 = __importDefault(require("path"));
19
24
  const utils_1 = require("../utils");
20
25
  // Hardcoded API URL - only one production environment
21
- const API_URL = "https://connect.posit.it/e2e-test-insights-api";
26
+ const API_URL = 'https://connect.posit.it/e2e-test-insights-api';
27
+ /**
28
+ * Normalize repo identifier for API
29
+ *
30
+ * GitHub provides "owner/repo" format, but the cache uses just "repo".
31
+ * This strips the owner prefix if present.
32
+ */
33
+ function normalizeRepoId(repo) {
34
+ // If repo contains "/", take just the repo name (after the last /)
35
+ const parts = repo.split('/');
36
+ const repoName = parts[parts.length - 1];
37
+ if (!repoName) {
38
+ throw new Error(`Invalid repo identifier: ${repo}`);
39
+ }
40
+ return repoName;
41
+ }
22
42
  // ============================================================================
23
43
  // Argument Parsing
24
44
  // ============================================================================
25
45
  // Args that belong to our CLI (everything else passes through to Playwright)
26
46
  const OUR_ARG_PREFIXES = [
27
- "--shard-index=",
28
- "--shard-total=",
29
- "--repo=",
30
- "--os=",
31
- "--browser=",
32
- "--branch=",
33
- "--fallback=",
47
+ '--shard-index=',
48
+ '--shard-total=',
49
+ '--repo=',
50
+ '--os=',
51
+ '--browser=',
52
+ '--branch=',
53
+ '--fallback=',
34
54
  ];
35
55
  function parseRunShardArgs(args) {
36
56
  const options = {
37
- fallback: "native",
57
+ fallback: 'native',
38
58
  playwrightArgs: [],
39
59
  };
40
60
  // Find the -- separator for explicit pass-through args
41
- const separatorIndex = args.indexOf("--");
61
+ const separatorIndex = args.indexOf('--');
42
62
  const ourArgs = separatorIndex >= 0 ? args.slice(0, separatorIndex) : args;
43
63
  const explicitPlaywrightArgs = separatorIndex >= 0 ? args.slice(separatorIndex + 1) : [];
44
64
  // Collect unrecognized args to pass through to Playwright
45
65
  const unrecognizedArgs = [];
46
66
  for (const arg of ourArgs) {
47
- if (arg.startsWith("--shard-index=")) {
48
- options.shardIndex = parseInt(arg.split("=")[1], 10);
67
+ if (arg.startsWith('--shard-index=')) {
68
+ options.shardIndex = parseInt(arg.split('=')[1], 10);
49
69
  }
50
- else if (arg.startsWith("--shard-total=")) {
51
- options.shardTotal = parseInt(arg.split("=")[1], 10);
70
+ else if (arg.startsWith('--shard-total=')) {
71
+ options.shardTotal = parseInt(arg.split('=')[1], 10);
52
72
  }
53
- else if (arg.startsWith("--repo=")) {
54
- options.repo = arg.split("=")[1];
73
+ else if (arg.startsWith('--repo=')) {
74
+ options.repo = arg.split('=')[1];
55
75
  }
56
- else if (arg.startsWith("--os=")) {
57
- options.os = arg.split("=")[1];
76
+ else if (arg.startsWith('--os=')) {
77
+ options.os = arg.split('=')[1];
58
78
  }
59
- else if (arg.startsWith("--browser=")) {
60
- options.browser = arg.split("=")[1];
79
+ else if (arg.startsWith('--browser=')) {
80
+ options.browser = arg.split('=')[1];
61
81
  }
62
- else if (arg.startsWith("--branch=")) {
63
- options.branch = arg.split("=")[1];
82
+ else if (arg.startsWith('--branch=')) {
83
+ options.branch = arg.split('=')[1];
64
84
  }
65
- else if (arg.startsWith("--fallback=")) {
66
- const value = arg.split("=")[1];
67
- if (value === "native" || value === "fail") {
85
+ else if (arg.startsWith('--fallback=')) {
86
+ const value = arg.split('=')[1];
87
+ if (value === 'native' || value === 'fail') {
68
88
  options.fallback = value;
69
89
  }
70
90
  }
@@ -79,24 +99,24 @@ function parseRunShardArgs(args) {
79
99
  options.playwrightArgs = [...unrecognizedArgs, ...explicitPlaywrightArgs];
80
100
  // Validate required arguments
81
101
  if (options.shardIndex === undefined) {
82
- throw new Error("Missing required argument: --shard-index");
102
+ throw new Error('Missing required argument: --shard-index');
83
103
  }
84
104
  if (options.shardTotal === undefined) {
85
- throw new Error("Missing required argument: --shard-total");
105
+ throw new Error('Missing required argument: --shard-total');
86
106
  }
87
107
  if (!options.repo) {
88
- throw new Error("Missing required argument: --repo");
108
+ throw new Error('Missing required argument: --repo');
89
109
  }
90
110
  // Validate numeric values are valid (parseInt returns NaN for invalid input)
91
111
  if (Number.isNaN(options.shardIndex)) {
92
- throw new Error("--shard-index must be a valid number");
112
+ throw new Error('--shard-index must be a valid number');
93
113
  }
94
114
  if (Number.isNaN(options.shardTotal)) {
95
- throw new Error("--shard-total must be a valid number");
115
+ throw new Error('--shard-total must be a valid number');
96
116
  }
97
117
  // Validate shardTotal is positive
98
118
  if (options.shardTotal < 1) {
99
- throw new Error("--shard-total must be at least 1");
119
+ throw new Error('--shard-total must be at least 1');
100
120
  }
101
121
  // Validate shard index range (1-based)
102
122
  if (options.shardIndex < 1 || options.shardIndex > options.shardTotal) {
@@ -109,11 +129,44 @@ function parseRunShardArgs(args) {
109
129
  // ============================================================================
110
130
  /**
111
131
  * Parse the JSON output from `playwright test --list --reporter=json`
132
+ *
133
+ * Playwright's JSON output has:
134
+ * - config.configFile: absolute path to playwright.config.ts (repo root)
135
+ * - config.rootDir: absolute path to test directory
136
+ * - suites[].file: filename relative to rootDir
137
+ *
138
+ * We need to return paths relative to repo root (where config lives),
139
+ * which matches how the reporter stores specPath.
112
140
  */
113
141
  function parsePlaywrightListOutput(output) {
114
142
  try {
115
143
  const data = JSON.parse(output);
116
- const files = (data.suites || []).map((s) => s.file);
144
+ const suites = data.suites || [];
145
+ if (suites.length === 0)
146
+ return [];
147
+ // Compute path prefix from config (if available)
148
+ let pathPrefix = '';
149
+ if (data.config?.configFile && data.config?.rootDir) {
150
+ const repoRoot = path_1.default.dirname(data.config.configFile);
151
+ const testDir = data.config.rootDir;
152
+ // Get the relative path from repo root to test directory
153
+ pathPrefix = path_1.default.relative(repoRoot, testDir);
154
+ // Normalize to forward slashes for cross-platform consistency
155
+ pathPrefix = pathPrefix.replace(/\\/g, '/');
156
+ // Warn if testDir is outside repo root (likely misconfiguration)
157
+ if (pathPrefix.startsWith('..')) {
158
+ console.warn(`⚠️ Test directory appears to be outside repo root. ` +
159
+ `Spec paths may not match historical data. ` +
160
+ `Check that testDir in playwright.config.ts is inside the repository.`);
161
+ }
162
+ }
163
+ const files = suites.map((s) => {
164
+ const file = s.file;
165
+ if (!pathPrefix)
166
+ return file;
167
+ // Combine prefix with file, normalize slashes
168
+ return `${pathPrefix}/${file}`.replace(/\\/g, '/');
169
+ });
117
170
  // Dedupe and sort for deterministic output
118
171
  return [...new Set(files)].sort();
119
172
  }
@@ -126,19 +179,19 @@ function parsePlaywrightListOutput(output) {
126
179
  */
127
180
  async function discoverSpecs() {
128
181
  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"],
182
+ const proc = (0, child_process_1.spawn)('npx', ['playwright', 'test', '--list', '--reporter=json'], {
183
+ shell: process.platform === 'win32', // Required on Windows for .cmd files
184
+ stdio: ['inherit', 'pipe', 'pipe'],
132
185
  });
133
- let stdout = "";
134
- let stderr = "";
135
- proc.stdout.on("data", (data) => {
186
+ let stdout = '';
187
+ let stderr = '';
188
+ proc.stdout.on('data', (data) => {
136
189
  stdout += data.toString();
137
190
  });
138
- proc.stderr.on("data", (data) => {
191
+ proc.stderr.on('data', (data) => {
139
192
  stderr += data.toString();
140
193
  });
141
- proc.on("close", (code) => {
194
+ proc.on('close', (code) => {
142
195
  if (code !== 0) {
143
196
  reject(new Error(`playwright test --list failed: ${stderr}`));
144
197
  return;
@@ -146,7 +199,7 @@ async function discoverSpecs() {
146
199
  const specs = parsePlaywrightListOutput(stdout);
147
200
  resolve(specs);
148
201
  });
149
- proc.on("error", (err) => {
202
+ proc.on('error', (err) => {
150
203
  reject(new Error(`Failed to spawn playwright: ${err.message}`));
151
204
  });
152
205
  });
@@ -161,17 +214,17 @@ async function fetchShardAssignment(apiUrl, params) {
161
214
  // Build query parameters (API uses GET with query params)
162
215
  const queryParams = new URLSearchParams({
163
216
  repo_id: params.repo,
164
- specs: params.specs.join(","), // API expects comma-separated string
217
+ specs: params.specs.join(','), // API expects comma-separated string
165
218
  num_shards: String(params.numShards),
166
219
  shard_index: String(params.shardIndex),
167
220
  });
168
221
  // Only include optional fields if defined
169
222
  if (params.os)
170
- queryParams.set("os", params.os);
223
+ queryParams.set('os', params.os);
171
224
  if (params.browser)
172
- queryParams.set("browser", params.browser);
225
+ queryParams.set('browser', params.browser);
173
226
  if (params.branch)
174
- queryParams.set("branch", params.branch);
227
+ queryParams.set('branch', params.branch);
175
228
  const url = `${apiUrl}/shards/compute?${queryParams.toString()}`;
176
229
  // Warn if URL is very long (may exceed server limits)
177
230
  const MAX_SAFE_URL_LENGTH = 4000; // Conservative limit (servers vary, often 8KB)
@@ -182,16 +235,16 @@ async function fetchShardAssignment(apiUrl, params) {
182
235
  const headers = {};
183
236
  const apiKey = process.env.CONNECT_API_KEY || process.env.E2E_CONNECT_APIKEY;
184
237
  if (apiKey) {
185
- headers["Authorization"] = `Key ${apiKey}`;
238
+ headers['Authorization'] = `Key ${apiKey}`;
186
239
  }
187
240
  const response = await fetch(url, {
188
- method: "GET",
241
+ method: 'GET',
189
242
  headers,
190
243
  });
191
244
  if (!response.ok) {
192
245
  const text = await response.text();
193
246
  // Truncate long error responses (e.g., HTML error pages)
194
- const truncated = text.length > 200 ? text.slice(0, 200) + "..." : text;
247
+ const truncated = text.length > 200 ? text.slice(0, 200) + '...' : text;
195
248
  throw new Error(`API error: ${response.status} ${response.statusText} - ${truncated}`);
196
249
  }
197
250
  return response.json();
@@ -203,27 +256,27 @@ async function fetchShardAssignment(apiUrl, params) {
203
256
  * Build Playwright command arguments for assigned specs
204
257
  */
205
258
  function buildPlaywrightArgs(specs, extraArgs) {
206
- return ["test", ...specs, ...extraArgs];
259
+ return ['test', ...specs, ...extraArgs];
207
260
  }
208
261
  /**
209
262
  * Build Playwright command arguments for native sharding fallback
210
263
  */
211
264
  function buildNativeShardingArgs(shardIndex, shardTotal, extraArgs) {
212
- return ["test", `--shard=${shardIndex}/${shardTotal}`, ...extraArgs];
265
+ return ['test', `--shard=${shardIndex}/${shardTotal}`, ...extraArgs];
213
266
  }
214
267
  /**
215
268
  * Run Playwright with the given arguments
216
269
  */
217
270
  async function runPlaywright(args) {
218
271
  return new Promise((resolve) => {
219
- const proc = (0, child_process_1.spawn)("npx", ["playwright", ...args], {
220
- shell: process.platform === "win32", // Required on Windows for .cmd files
221
- stdio: "inherit",
272
+ const proc = (0, child_process_1.spawn)('npx', ['playwright', ...args], {
273
+ shell: process.platform === 'win32', // Required on Windows for .cmd files
274
+ stdio: 'inherit',
222
275
  });
223
- proc.on("close", (code) => {
276
+ proc.on('close', (code) => {
224
277
  resolve(code ?? 1);
225
278
  });
226
- proc.on("error", () => {
279
+ proc.on('error', () => {
227
280
  resolve(1);
228
281
  });
229
282
  });
@@ -242,13 +295,13 @@ async function runPlaywright(args) {
242
295
  */
243
296
  function extractBrowserFromArgs(args) {
244
297
  // Match --project=value or --project value (but not --project-config, etc.)
245
- const projectArg = args.find((arg) => arg === "--project" || arg.startsWith("--project="));
298
+ const projectArg = args.find((arg) => arg === '--project' || arg.startsWith('--project='));
246
299
  if (!projectArg) {
247
300
  return undefined;
248
301
  }
249
302
  let projectName;
250
- if (projectArg.includes("=")) {
251
- projectName = projectArg.split("=")[1];
303
+ if (projectArg.includes('=')) {
304
+ projectName = projectArg.split('=')[1];
252
305
  }
253
306
  else {
254
307
  const nextIndex = args.indexOf(projectArg) + 1;
@@ -276,10 +329,10 @@ async function runShard(options) {
276
329
  }
277
330
  catch (error) {
278
331
  console.error(`❌ Failed to discover specs: ${error}`);
279
- if (options.fallback === "fail") {
332
+ if (options.fallback === 'fail') {
280
333
  return 1;
281
334
  }
282
- console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
335
+ console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
283
336
  console.log(` Reason: Spec discovery failed`);
284
337
  const args = buildNativeShardingArgs(options.shardIndex, options.shardTotal, extraArgs);
285
338
  return runPlaywright(args);
@@ -290,30 +343,42 @@ async function runShard(options) {
290
343
  }
291
344
  console.log(`🎯 Getting assignment for shard ${options.shardIndex}/${options.shardTotal}...`);
292
345
  let assignment;
346
+ // Normalize repo ID (strip owner prefix if present: "owner/repo" -> "repo")
347
+ const repoId = normalizeRepoId(options.repo);
293
348
  try {
294
349
  assignment = await fetchShardAssignment(API_URL, {
295
350
  specs,
296
351
  shardIndex: options.shardIndex - 1, // Convert to 0-based for API
297
352
  numShards: options.shardTotal,
298
- repo: options.repo,
353
+ repo: repoId,
299
354
  os: options.os,
300
355
  browser,
301
356
  branch: options.branch,
302
357
  });
303
- const estSeconds = Math.round(assignment.estimated_duration_ms / 1000);
358
+ // Check if API returned a fallback recommendation (no historical data)
359
+ if (assignment.recommendation === 'use_native_sharding' || !assignment.specs) {
360
+ console.log(` No historical data available`);
361
+ console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
362
+ console.log(` Reason: ${assignment.fallback_reason || 'No spec assignments returned'}`);
363
+ const args = buildNativeShardingArgs(options.shardIndex, options.shardTotal, extraArgs);
364
+ return runPlaywright(args);
365
+ }
366
+ const estSeconds = Math.round((assignment.estimated_duration_ms || 0) / 1000);
304
367
  console.log(` Assigned ${assignment.specs.length} specs (est. ${estSeconds}s)`);
305
- console.log(` Data quality: ${assignment.data_quality.specs_with_history}/${specs.length} specs have history`);
368
+ if (assignment.data_quality) {
369
+ console.log(` Data quality: ${assignment.data_quality.specs_with_history}/${specs.length} specs have history`);
370
+ }
306
371
  if (assignment.shard_balance) {
307
372
  console.log(` Shard balance variance: ${assignment.shard_balance.variance_pct}%`);
308
373
  }
309
374
  }
310
375
  catch (error) {
311
- console.warn(`⚠️ API unavailable: ${error}`);
312
- if (options.fallback === "fail") {
376
+ console.warn(`⚠️ API unavailable: ${error}`);
377
+ if (options.fallback === 'fail') {
313
378
  console.error(`❌ Fallback disabled - exiting`);
314
379
  return 1;
315
380
  }
316
- console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
381
+ console.log(`\n⚠️ FALLBACK: Using native Playwright sharding (--shard=${options.shardIndex}/${options.shardTotal})`);
317
382
  console.log(` Reason: API request failed`);
318
383
  const args = buildNativeShardingArgs(options.shardIndex, options.shardTotal, extraArgs);
319
384
  return runPlaywright(args);
@@ -330,7 +395,7 @@ async function runShard(options) {
330
395
  if (require.main === module) {
331
396
  const args = process.argv.slice(2);
332
397
  // Handle help
333
- if (args.includes("--help") || args.includes("-h")) {
398
+ if (args.includes('--help') || args.includes('-h')) {
334
399
  console.log(`
335
400
  e2e-insights run-shard - Predictive test sharding
336
401
 
@@ -1 +1 @@
1
- {"version":3,"file":"run-shard.js","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-shard.js","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midleman/playwright-reporter",
3
- "version": "0.41.1",
3
+ "version": "0.42.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",