@midleman/playwright-reporter 0.47.4 → 0.47.8

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 CHANGED
@@ -1,49 +1,14 @@
1
1
  # @midleman/playwright-reporter
2
2
 
3
- A Playwright reporter that sends test results to the E2E Test Insights API for storage and analysis.
4
-
5
- ## Overview
6
-
7
- This reporter collects Playwright test results and sends them to the E2E Test Insights API, which stores them as Parquet files (on S3 in production, or local filesystem for development). The data can then be analyzed with DuckDB.
8
-
9
- **Data Flow:**
10
-
11
- ```
12
- Playwright Reporter → POST to API → S3 (Parquet files)
13
-
14
- Scheduler → S3 caches
15
-
16
- Dashboard → displays data
17
- ```
3
+ A Playwright reporter that sends test results to the E2E Test Insights API, plus a CLI for predictive test sharding.
18
4
 
19
5
  ## Installation
20
6
 
21
- ### Production (Published Package)
22
-
23
7
  ```bash
24
8
  npm install @midleman/playwright-reporter
25
9
  ```
26
10
 
27
- ### Local Development (Linked Package)
28
-
29
- For iterating on the reporter locally, use npm link:
30
-
31
- ```bash
32
- # In e2e-test-insights repo - build and link
33
- cd packages/playwright-reporter
34
- npm install
35
- npm run build
36
- npm link
37
-
38
- # In your test project (e.g., positron) - use the link
39
- npm link @midleman/playwright-reporter
40
- ```
41
-
42
- > **Note:** After making changes to the reporter, run `npm run build` to update the linked package.
43
-
44
- ## Configuration
45
-
46
- ### Via Playwright Config
11
+ ## Quick Start
47
12
 
48
13
  ```typescript
49
14
  // playwright.config.ts
@@ -52,340 +17,138 @@ import { defineConfig } from '@playwright/test';
52
17
  export default defineConfig({
53
18
  reporter: [
54
19
  ['html'],
55
- [
56
- '@midleman/playwright-reporter',
57
- {
58
- mode: 'dev', // 'dev', 'prod', or 'disabled'
59
- verbose: true, // Enable debug logging
60
- },
61
- ],
20
+ ['@midleman/playwright-reporter', { mode: 'prod' }],
62
21
  ],
63
22
  });
64
23
  ```
65
24
 
66
- > **Note:** If using from another repository, see [Using from Another Repository](#using-from-another-repository) for setup instructions.
25
+ Set the `CONNECT_API_KEY` environment variable (required for `mode: 'prod'`).
67
26
 
68
- ### Reporter Mode
27
+ ## Reporter Configuration
69
28
 
70
- The `mode` option (required) controls where results are sent:
29
+ ### Mode
71
30
 
72
- | Mode | API Endpoint | Use Case | CI Required? |
73
- | ---------- | ------------------------------------------------ | ----------------- | ------------ |
74
- | `dev` | `http://localhost:8000` | Local development | No |
75
- | `prod` | `https://connect.posit.it/e2e-test-insights-api` | CI/Production | **Yes** |
76
- | `disabled` | None | Skip reporting | No |
31
+ | Mode | API Endpoint | Use Case |
32
+ | ---------- | ------------------------------------------------ | ----------------- |
33
+ | `dev` | `http://localhost:8000` | Local development |
34
+ | `prod` | `https://connect.posit.it/e2e-test-insights-api` | CI/Production |
35
+ | `disabled` | None | Skip reporting |
77
36
 
78
- **Important:**
37
+ > **Note:** `mode: 'prod'` only works in CI (`GITHUB_ACTIONS=true` or `CI=true`). Running locally with `mode: 'prod'` disables reporting to avoid polluting production data.
79
38
 
80
- - `mode: 'prod'` only works in CI environments (GitHub Actions or `CI=true`). If used locally, it will log a warning and disable reporting.
81
- - `mode: 'dev'` works anywhere and sends to your local API.
82
- - The reporter sends data to the Plumber API, which then writes to storage (local or S3). Make sure your API is running with matching storage mode:
83
- - `mode: 'dev'` → run API with `npm run api` (local) or `npm run api:s3` (S3)
84
- - `mode: 'prod'` → uses deployed Posit Connect API (CI only)
85
-
86
- ### Environment Variables
87
-
88
- | Variable | Description | Default |
89
- | ---------------------- | ----------------------------------------- | -------------------------- |
90
- | `E2E_REPORTER_MODE` | Reporter mode: `dev`, `prod`, `disabled` | (none - required) |
91
- | `REPORTER_REPO_NAME` | Repository name override | From `GITHUB_REPOSITORY` |
92
- | `E2E_REPORTER_VERBOSE` | Enable debug logging (`1` or `0`) | `0` |
93
- | `CONNECT_API_KEY` | Posit Connect API key for authentication | (none - required for prod) |
94
- | `E2E_CONNECT_APIKEY` | Fallback for `CONNECT_API_KEY` | (none) |
95
- | `REPORT_URL` | Base URL for Playwright HTML report links | (none - optional) |
96
-
97
- #### Report URL
98
-
99
- To include links to the Playwright HTML report in test results, set `REPORT_URL` before running tests. The reporter appends `#?testId={testId}` to deep-link to specific tests.
100
-
101
- If `REPORT_URL` is not set, `reportUrl` will be `undefined` in test results (no links generated).
102
-
103
- ## Output Structure (S3)
104
-
105
- The API writes test results to S3 in the following structure:
106
-
107
- ```text
108
- s3://{bucket}/test-results/
109
- └── {repoName}/
110
- └── {date}/ # YYYY-MM-DD partition
111
- └── {runId}/
112
- └── data.parquet # All test results + embedded run metadata
113
- ```
114
-
115
- **Consolidated format:**
116
-
117
- Each run produces a single `data.parquet` file containing both test results AND run metadata. The file is overwritten periodically during test execution for near-real-time visibility.
118
-
119
- - **Live updates:** File is updated every few seconds during the run
120
- - **Sharded runs:** Each shard writes to its own `{runId}/` directory
121
- - **Single source of truth:** No separate files for results vs run metadata
122
-
123
- **Note:** The reporter does not write directly to S3. It sends events to the API, which handles storage.
124
-
125
- ## Parquet Schema
126
-
127
- ### data.parquet
128
-
129
- Each row represents a test result with embedded run metadata:
130
-
131
- **Test Result Fields:**
132
-
133
- | Column | Type | Description |
134
- | ---------------- | ------ | ----------------------------------------- |
135
- | `repoName` | UTF8 | Repository name |
136
- | `runId` | UTF8 | Unique run identifier |
137
- | `specPath` | UTF8 | Relative path to spec file |
138
- | `project` | UTF8? | Playwright project name |
139
- | `testName` | UTF8 | Test title |
140
- | `testId` | UTF8? | Test identifier |
141
- | `status` | UTF8 | `passed`, `failed`, `skipped`, or `flaky` |
142
- | `durationMs` | INT64? | Test duration in milliseconds |
143
- | `startedAt` | UTF8? | ISO timestamp when test started |
144
- | `attempt` | INT32? | Retry attempt number (1-indexed) |
145
- | `retries` | INT32? | Total retries configured |
146
- | `failureMessage` | UTF8? | Error message if failed |
147
- | `eventId` | UTF8 | Idempotent event ID for deduplication |
148
- | `timestamp` | UTF8 | ISO timestamp when event was created |
149
- | `browser` | UTF8? | Browser name (chromium, firefox, etc.) |
150
- | `os` | UTF8? | Operating system (mac, win, linux) |
151
- | `branch` | UTF8? | Git branch name |
152
- | `sha` | UTF8? | Git commit SHA |
153
-
154
- **Run Metadata Fields (embedded in each row):**
155
-
156
- | Column | Type | Description |
157
- | --------------- | ------ | ---------------------------------------- |
158
- | `runStartedAt` | UTF8 | ISO timestamp when run started |
159
- | `runCompletedAt`| UTF8? | ISO timestamp when run completed |
160
- | `runStatus` | UTF8? | Final run status (`passed`, `failed`) |
161
- | `runDurationMs` | INT64? | Total run duration in milliseconds |
162
- | `workflowName` | UTF8? | GitHub workflow name |
163
- | `jobName` | UTF8? | GitHub job name |
164
- | `runUrl` | UTF8? | GitHub Actions run URL |
165
- | `runNumber` | INT32? | GitHub run attempt number |
166
- | `githubRunId` | UTF8? | Raw GitHub run ID |
167
- | `countsPassed` | INT32? | Passed test count (at completion) |
168
- | `countsFailed` | INT32? | Failed test count (at completion) |
169
- | `countsSkipped` | INT32? | Skipped test count (at completion) |
170
- | `countsFlaky` | INT32? | Flaky test count (at completion) |
171
-
172
- **Note:** A placeholder row with `specPath='__run_started__'` is written at run start so the run appears immediately in the dashboard.
173
-
174
- ## Querying with DuckDB
175
-
176
- ```sql
177
- -- Query all results from a date range (excluding placeholder rows)
178
- SELECT * FROM read_parquet('s3://bucket/test-results/positron/2024-01-*/*/data.parquet')
179
- WHERE specPath != '__run_started__';
180
-
181
- -- Get failure summary by spec
182
- SELECT
183
- specPath,
184
- COUNT(*) as total,
185
- SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failures
186
- FROM read_parquet('s3://bucket/test-results/positron/**/data.parquet')
187
- WHERE specPath != '__run_started__'
188
- GROUP BY specPath
189
- ORDER BY failures DESC;
190
-
191
- -- Get run summaries (one row per run with embedded metadata)
192
- SELECT DISTINCT
193
- runId,
194
- runStartedAt,
195
- runCompletedAt,
196
- runStatus,
197
- runDurationMs,
198
- countsPassed,
199
- countsFailed,
200
- countsSkipped,
201
- countsFlaky
202
- FROM read_parquet('s3://bucket/test-results/positron/**/data.parquet');
203
- ```
204
-
205
- ## Usage in Other Repositories
206
-
207
- ### Production Setup (CI)
208
-
209
- For CI/production, install the published package:
210
-
211
- ```bash
212
- npm install @midleman/playwright-reporter
213
- ```
214
-
215
- Configure Playwright with `mode: 'prod'`:
39
+ ### Options
216
40
 
217
41
  ```typescript
218
- // playwright.config.ts
219
- export default defineConfig({
220
- reporter: [
221
- ['html'],
222
- [
223
- '@midleman/playwright-reporter',
224
- {
225
- repoName: 'positron',
226
- mode: 'prod', // Sends to connect.posit.it API (CI only)
227
- },
228
- ],
229
- ],
230
- });
42
+ ['@midleman/playwright-reporter', {
43
+ mode: 'prod', // Required: 'dev', 'prod', or 'disabled'
44
+ repoName: 'my-repo', // Optional: defaults to GITHUB_REPOSITORY
45
+ verbose: true, // Optional: enable debug logging
46
+ }]
231
47
  ```
232
48
 
233
- > **Note:** `mode: 'prod'` requires a CI environment (`GITHUB_ACTIONS=true` or `CI=true`). This prevents local test runs from accidentally sending data to production.
234
-
235
- ### Local Testing Setup
236
-
237
- For testing the reporter locally before publishing:
238
-
239
- **1. Link the package** (see [Installation](#local-development-linked-package))
240
-
241
- **2. Start the local API** (in e2e-test-insights repo):
242
-
243
- ```bash
244
- npm run api # Local storage
245
- # OR
246
- npm run api:s3 # S3 storage (requires aws sso login)
247
- ```
248
-
249
- **3. Configure Playwright with `mode: 'dev'`:**
250
-
251
- ```typescript
252
- // playwright.config.ts
253
- export default defineConfig({
254
- reporter: [
255
- ['html'],
256
- [
257
- '@midleman/playwright-reporter',
258
- {
259
- repoName: 'positron',
260
- mode: 'dev', // Sends to localhost:8000
261
- verbose: true, // See debug output
262
- },
263
- ],
264
- ],
265
- });
266
- ```
267
-
268
- **4. Run tests:**
269
-
270
- ```bash
271
- npx playwright test
272
- ```
273
-
274
- Results are sent to your local API.
275
-
276
- ## Local Development
277
-
278
- ```bash
279
- # 1. Start the API (in e2e-test-insights repo)
280
- npm run api
281
-
282
- # 2. Run tests with reporter in dev mode
283
- npx playwright test
284
-
285
- # 3. View the dashboard
286
- npm run app
287
- ```
288
-
289
- For verbose logging, set `verbose: true` in your playwright config.
290
-
291
- ## Multi-Worker Support
49
+ ### Environment Variables
292
50
 
293
- This reporter is safe for parallel execution:
51
+ | Variable | Description | Required |
52
+ | -------------------- | ---------------------------------------- | -------- |
53
+ | `CONNECT_API_KEY` | Posit Connect API key | For prod |
54
+ | `REPORTER_REPO_NAME` | Repository name override | No |
55
+ | `REPORT_URL` | Base URL for Playwright HTML report links| No |
294
56
 
295
- - Each worker writes to the same `{runId}` directory
296
- - Idempotent `eventId` enables deduplication at query time
297
- - DuckDB can query across all files with glob patterns
57
+ ---
298
58
 
299
59
  ## Predictive Sharding CLI
300
60
 
301
- The package includes a CLI tool for intelligent test distribution across CI shards using historical duration data.
302
-
303
- ### Usage
304
-
305
- ```bash
306
- npx e2e-insights run-shard \
307
- --shard-index=1 \
308
- --shard-total=4 \
309
- --repo=posit-dev/positron
310
- ```
61
+ Distributes test specs across CI shards using historical duration data for optimal load balancing.
311
62
 
312
63
  ### How It Works
313
64
 
314
- 1. **Spec Discovery** - Runs `npx playwright test --list` to find all spec files
315
- 2. **OS Detection** - Auto-detects OS from `process.platform` (mac, win, linux)
316
- 3. **Duration Lookup** - Fetches historical test durations from the API, filtered by OS
317
- 4. **LPT Algorithm** - Uses Longest Processing Time First bin-packing to distribute specs evenly
318
- 5. **Playwright Execution** - Runs Playwright with only the assigned specs
319
-
320
- ### Shard Coordination & Caching
321
-
322
- Each workflow run computes its own load balance independently. The cache ensures consistency **within** a single run, not across runs.
323
-
324
- **Why separate calculations per run?**
325
- - Different runs may have different specs (different `--grep` filters)
326
- - Different runs may have different shard counts
327
- - Test files may change between runs
328
-
329
- **What IS shared:** Historical duration data from S3. All runs look up the same test duration history.
330
-
331
- **What is NOT shared:** Shard assignments. Each run gets its own LPT calculation.
332
-
333
- **Cache Details:**
334
- - **Key format:** `{repo_id}:{workflow_run_id}:{num_shards}:{specs_hash}`
335
- - **TTL:** 3 hours (accommodates slow Windows runners)
336
- - **Storage:** In-memory on the API server
337
- - **Purpose:** Consistency within a single workflow run
338
-
339
- **Flow for a single workflow run:**
340
65
  ```
341
- Run #12345 with 4 shards:
342
- Shard 1 → API (MISS) → Compute ALL 4 shards → Cache → Return shard 1
343
- Shard 2 → API (HIT) → Return cached shard 2
344
- Shard 3 → API (HIT) → Return cached shard 3
345
- Shard 4 → API (HIT) Return cached shard 4
346
-
347
- Run #12346 (separate run):
348
- Shard 1 → API (MISS) → Compute ALL shards (independent calculation) → Cache
349
- ```
350
-
351
- This ensures all shards in the same run get consistent assignments, even if they call the API at different times.
352
-
353
- ### Fallback Behavior
354
-
355
- If the API is unavailable or has no historical data, the CLI falls back to Playwright's native `--shard` flag:
356
-
357
- ```bash
358
- # Automatic fallback
359
- npx playwright test --shard=1/4
66
+ ┌────────────────────────────────────────────────────────────────────────────┐
67
+ │ CI WORKFLOW │
68
+ │ │
69
+ ┌──────────────────────────────────────────────────────────────────────┐
70
+ npx e2e-insights run-shard --shard-index=2 --shard-total=6 ... │ │
71
+ │ └──────────────────────────────────────────────────────────────────────┘ │
72
+ │ │ │
73
+ │ ▼ │
74
+ │ ┌──────────────────────────────────────────────────────────────────────┐ │
75
+ │ │ 1. playwright test --list --reporter=json │ │
76
+ │ │ → Discovers all spec files in project │ │
77
+ │ │ → ["auth.spec.ts", "editor.spec.ts", "console.spec.ts", ...] │ │
78
+ │ └──────────────────────────────────────────────────────────────────────┘ │
79
+ │ │ │
80
+ │ ▼ │
81
+ │ ┌──────────────────────────────────────────────────────────────────────┐ │
82
+ │ │ 2. POST /shards/compute │ │
83
+ │ │ { │ │
84
+ │ │ "specs": ["auth.spec.ts", "editor.spec.ts", ...], │ │
85
+ │ │ "shard_index": 1, │ │
86
+ │ │ "num_shards": 6, │ │
87
+ │ │ "repo": "posit-dev/positron" │ │
88
+ │ │ } │ │
89
+ │ └──────────────────────────────────────────────────────────────────────┘ │
90
+ │ │ │
91
+ │ ▼ │
92
+ │ ┌─────────────────────────────────────────────────────────────────────┐ │
93
+ │ │ E2E INSIGHTS API │ │
94
+ │ │ │ │
95
+ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │ │
96
+ │ │ │ Load test data │ → │ Filter & group │ → │ LPT algorithm │ │ │
97
+ │ │ │ (14-day window) │ │ by spec/os/etc │ │ bin-packing │ │ │
98
+ │ │ └─────────────────┘ └─────────────────┘ └───────────────┘ │ │
99
+ │ │ │ │ │
100
+ │ │ Response: ▼ │ │
101
+ │ │ { │ │
102
+ │ │ "specs": ["editor.spec.ts", "console.spec.ts"], ← shard 2 │ │
103
+ │ │ "estimated_duration_ms": 180000 │ │
104
+ │ │ } │ │
105
+ │ └─────────────────────────────────────────────────────────────────────┘ │
106
+ │ │ │
107
+ │ ▼ │
108
+ │ ┌──────────────────────────────────────────────────────────────────────┐ │
109
+ │ │ 3. playwright test editor.spec.ts console.spec.ts │ │
110
+ │ │ → Runs ONLY the specs assigned to this shard │ │
111
+ │ │ → Reporter sends results back to API │ │
112
+ │ └──────────────────────────────────────────────────────────────────────┘ │
113
+ │ │
114
+ └────────────────────────────────────────────────────────────────────────────┘
360
115
  ```
361
116
 
362
117
  ### GitHub Actions Example
363
118
 
364
119
  ```yaml
365
- strategy:
366
- matrix:
367
- shard: [1, 2, 3, 4]
368
-
369
- steps:
370
- - name: Run tests
371
- run: |
372
- npx e2e-insights run-shard \
373
- --shard-index=${{ matrix.shard }} \
374
- --shard-total=4 \
375
- --repo=${{ github.repository }}
120
+ jobs:
121
+ e2e-tests:
122
+ strategy:
123
+ matrix:
124
+ shard: [1, 2, 3, 4]
125
+ runs-on: ubuntu-latest
126
+ steps:
127
+ - uses: actions/checkout@v4
128
+ - uses: actions/setup-node@v4
129
+ - run: npm ci
130
+ - name: Run E2E Tests
131
+ env:
132
+ CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
133
+ run: |
134
+ npx e2e-insights run-shard \
135
+ --shard-index=${{ matrix.shard }} \
136
+ --shard-total=4 \
137
+ --repo=${{ github.repository }} \
138
+ --project=e2e-electron
376
139
  ```
377
140
 
378
141
  ### CLI Options
379
142
 
380
- | Option | Description | Required |
381
- |--------|-------------|----------|
382
- | `--shard-index=N` | Shard index (1-based) | Yes |
383
- | `--shard-total=N` | Total number of shards | Yes |
384
- | `--repo=OWNER/REPO` | Repository identifier | Yes |
385
- | `--browser=BROWSER` | Filter durations by browser | No |
386
- | `--fallback=MODE` | Fallback mode: `native` (default) or `fail` | No |
143
+ | Option | Required | Description |
144
+ | --------------- | -------- | -------------------------------------------------------- |
145
+ | `--shard-index` | Yes | Shard index (1-based) |
146
+ | `--shard-total` | Yes | Total number of shards |
147
+ | `--repo` | Yes | Repository identifier (e.g., `posit-dev/positron`) |
148
+ | `--browser` | No | Override browser (auto-inferred from `--project`) |
149
+ | `--fallback` | No | `native` (default) or `fail` if API unavailable |
387
150
 
388
- Any additional arguments are passed through to Playwright:
151
+ Additional arguments are passed through to Playwright:
389
152
 
390
153
  ```bash
391
154
  npx e2e-insights run-shard \
@@ -393,122 +156,55 @@ npx e2e-insights run-shard \
393
156
  --workers=4 --retries=2 --project=e2e-electron
394
157
  ```
395
158
 
396
- ## GitHub Actions Integration
159
+ ### Auto-Detection
397
160
 
398
- In CI environments (GitHub Actions or `CI=true`), use `mode: 'prod'` to send results to the deployed API:
161
+ **OS:** Detected from runner platform (`mac`, `win`, `ubuntu`, `linux`).
399
162
 
400
- ```typescript
401
- [
402
- '@midleman/playwright-reporter',
403
- {
404
- mode: 'prod', // Sends to connect.posit.it/e2e-test-insights-api (CI only)
405
- },
406
- ],
407
- ```
163
+ **Browser:**
164
+ - **CLI:** Parses the `--project` flag for keywords (e.g., `e2e-electron` → `electron`). Cannot auto-detect since Playwright hasn't started yet. If no match, `GITHUB_JOB` is used for shard naming.
165
+ - **Reporter:** Auto-detects at runtime from Playwright's `project.use.browserName` config, or infers from project name, or defaults to `electron`.
408
166
 
409
- > **Note:** `mode: 'prod'` is designed for CI only. If you accidentally run with `mode: 'prod'` locally, the reporter will log a warning and disable itself to prevent local test runs from polluting production data.
167
+ ### Shard Naming & Unique Run IDs
410
168
 
411
- ### Required Secret
169
+ When running sharded tests, each shard needs a unique identifier so results don't overwrite each other in S3. The CLI handles this automatically by setting a `SHARD_NAME` environment variable before running Playwright.
412
170
 
413
- The API requires authentication. Add `CONNECT_API_KEY` as a repository secret and pass it to your workflow:
171
+ **Format:** `{browser}-{os}-{shardIndex}`
414
172
 
415
- ```yaml
416
- env:
417
- CONNECT_API_KEY: ${{ secrets.CONNECT_API_KEY }}
173
+ **Example:** A 4-shard matrix on Ubuntu with `--project=e2e-electron` produces:
418
174
  ```
419
-
420
- The reporter automatically extracts metadata from GitHub Actions environment:
421
-
422
- - Branch name from `GITHUB_REF` or `GITHUB_HEAD_REF`
423
- - Commit SHA from `GITHUB_SHA`
424
- - Workflow name from `GITHUB_WORKFLOW`
425
- - Job name from `GITHUB_JOB`
426
- - Run URL constructed from GitHub environment variables
427
-
428
- ## Development
429
-
430
- ```bash
431
- # Install dependencies
432
- npm install
433
-
434
- # Build
435
- npm run build
436
-
437
- # Watch mode
438
- npm run watch
439
-
440
- # Clean
441
- npm run clean
175
+ shard 1 → SHARD_NAME=electron-ubuntu-1 → runId: 12345-1-electron-ubuntu-1
176
+ shard 2 SHARD_NAME=electron-ubuntu-2 runId: 12345-1-electron-ubuntu-2
177
+ shard 3 → SHARD_NAME=electron-ubuntu-3 → runId: 12345-1-electron-ubuntu-3
178
+ shard 4 SHARD_NAME=electron-ubuntu-4 runId: 12345-1-electron-ubuntu-4
442
179
  ```
443
180
 
444
- ## Testing
181
+ Each shard writes to its own S3 path, preventing collisions.
445
182
 
446
- Unit tests use [Vitest](https://vitest.dev/) and cover:
183
+ ### Fallback Behavior
447
184
 
448
- - **reporter.test.ts** - Reporter lifecycle (init, begin, end, test events)
449
- - **payload.test.ts** - Event payload builders (result.created, run.started, run.completed)
450
- - **schemas.test.ts** - Zod schema validation
451
- - **api.test.ts** - API writer with retry logic
452
- - **utils.test.ts** - Utility functions (ID generation, path handling, browser inference)
185
+ If the API is unavailable or has no historical data, the CLI falls back to Playwright's native sharding:
453
186
 
454
187
  ```bash
455
- # Run tests once
456
- npm test
457
-
458
- # Watch mode (re-runs on file changes)
459
- npm run test:watch
460
-
461
- # With coverage report
462
- npm run test:coverage
188
+ npx playwright test --shard=1/4
463
189
  ```
464
190
 
465
- ### Test Structure
191
+ ### Comparison with Playwright Native
466
192
 
467
- Tests are co-located with source files (`*.test.ts`). The test configuration is in `vitest.config.ts`:
193
+ | Aspect | Playwright Native | E2E Insights |
194
+ | ------------------- | ------------------- | ------------------------ |
195
+ | Algorithm | Round-robin by test | LPT by spec file |
196
+ | Balance | Even test count | Even duration |
197
+ | Adaptation | Static | Uses historical data |
198
+ | Platform awareness | No | Yes (OS/browser filter) |
468
199
 
469
- - Environment: Node
470
- - Globals: enabled (`describe`, `it`, `expect` available without imports)
471
- - Coverage: v8 provider, excludes test files and index.ts
200
+ ---
472
201
 
473
202
  ## Publishing
474
203
 
475
- To publish a new version to npm:
476
-
477
- ### Prerequisites
478
-
479
- - npm account with access to the `@posit-dev` organization
480
- - Logged in via `npm login`
481
-
482
- ### Publish Steps
483
-
484
204
  ```bash
485
- cd packages/playwright-reporter
486
-
487
- # 1. Ensure tests pass
488
205
  npm test
489
-
490
- # 2. Build the package
491
206
  npm run build
492
-
493
- # 3. Preview what will be published
494
- npm pack --dry-run
495
-
496
- # 4. Bump version (choose one)
497
- npm version patch # 0.1.0 → 0.1.1 (bug fixes)
498
- npm version minor # 0.1.0 → 0.2.0 (new features)
499
- npm version major # 0.1.0 → 1.0.0 (breaking changes)
500
-
501
- # 5. Publish to npm (scoped packages require --access public)
207
+ npm version patch # or minor/major
502
208
  npm publish --access public
503
-
504
- # 6. Push the version commit and tag
505
209
  git push && git push --tags
506
210
  ```
507
-
508
- ### Updating in Consumer Repos
509
-
510
- After publishing, update the package in repos that use it:
511
-
512
- ```bash
513
- npm update @midleman/playwright-reporter
514
- ```
@@ -36,6 +36,14 @@ export declare function normalizeRepoId(repo: string): string;
36
36
  * - Over 60 min: "1h 56m"
37
37
  */
38
38
  export declare function formatDuration(ms: number): string;
39
+ /**
40
+ * Format duration in compact form (no spaces)
41
+ *
42
+ * - Under 60s: "30s"
43
+ * - 1-60 min: "5m30s" or "5m" if no seconds
44
+ * - Over 60 min: "1h56m"
45
+ */
46
+ export declare function formatDurationCompact(ms: number): string;
39
47
  export interface ShardAssignment {
40
48
  shard_index: number;
41
49
  num_shards: number;
@@ -46,8 +54,11 @@ export interface ShardAssignment {
46
54
  data_quality?: {
47
55
  specs_with_history: number;
48
56
  specs_without_history: number;
57
+ specs_missing_history: string[];
49
58
  };
50
59
  shard_balance?: {
60
+ all_shard_durations_ms: number[];
61
+ all_shard_spec_counts: number[];
51
62
  variance_pct: number;
52
63
  };
53
64
  fallback_reason?: string;
@@ -1 +1 @@
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,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAKD;;;;;;GAMG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAYjC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAkBjD;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,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAeD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA6EjE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAuClE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BvD;AAMD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAuC1B;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;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAuB7D;AAED;;;;;;;;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,CAqHxE"}
1
+ {"version":3,"file":"run-shard.d.ts","sourceRoot":"","sources":["../../src/cli/run-shard.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.detectOS = detectOS;
13
13
  exports.normalizeRepoId = normalizeRepoId;
14
14
  exports.formatDuration = formatDuration;
15
+ exports.formatDurationCompact = formatDurationCompact;
15
16
  exports.parseRunShardArgs = parseRunShardArgs;
16
17
  exports.parsePlaywrightListOutput = parsePlaywrightListOutput;
17
18
  exports.discoverSpecs = discoverSpecs;
@@ -27,6 +28,7 @@ const path_1 = __importDefault(require("path"));
27
28
  const utils_1 = require("../utils");
28
29
  // Hardcoded API URL - only one production environment
29
30
  const API_URL = 'https://connect.posit.it/e2e-test-insights-api';
31
+ // Note: buildShardName is imported from ../utils (single source of truth)
30
32
  /**
31
33
  * Detect OS from platform
32
34
  *
@@ -84,6 +86,26 @@ function formatDuration(ms) {
84
86
  // Minutes only
85
87
  return seconds > 0 ? `${minutes}m ${seconds}s` : `${minutes}m`;
86
88
  }
89
+ /**
90
+ * Format duration in compact form (no spaces)
91
+ *
92
+ * - Under 60s: "30s"
93
+ * - 1-60 min: "5m30s" or "5m" if no seconds
94
+ * - Over 60 min: "1h56m"
95
+ */
96
+ function formatDurationCompact(ms) {
97
+ const totalSeconds = Math.round(ms / 1000);
98
+ if (totalSeconds < 60) {
99
+ return `${totalSeconds}s`;
100
+ }
101
+ const hours = Math.floor(totalSeconds / 3600);
102
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
103
+ const seconds = totalSeconds % 60;
104
+ if (hours > 0) {
105
+ return minutes > 0 ? `${hours}h${minutes}m` : `${hours}h`;
106
+ }
107
+ return seconds > 0 ? `${minutes}m${seconds}s` : `${minutes}m`;
108
+ }
87
109
  // ============================================================================
88
110
  // Argument Parsing
89
111
  // ============================================================================
@@ -457,13 +479,29 @@ async function runShard(options) {
457
479
  const parallelMs = workers > 1 ? Math.round(sequentialMs / workers) : sequentialMs;
458
480
  const adjustedMs = Math.round(parallelMs * OVERHEAD_FACTOR);
459
481
  estDuration = formatDuration(adjustedMs);
460
- const workersNote = workers > 1 ? ` with ${workers} workers` : '';
461
- console.log(` Assigned ${assignment.specs.length} specs (est. ~${estDuration}${workersNote})`);
462
- if (assignment.data_quality) {
463
- console.log(` Data quality: ${assignment.data_quality.specs_with_history}/${specs.length} specs have history`);
464
- }
482
+ // Show shard balance first (overall view)
465
483
  if (assignment.shard_balance) {
466
- console.log(` Shard balance variance: ${assignment.shard_balance.variance_pct}%`);
484
+ const { all_shard_durations_ms, all_shard_spec_counts, variance_pct } = assignment.shard_balance;
485
+ console.log(` Shard balance: ${variance_pct}%`);
486
+ all_shard_durations_ms.forEach((ms, i) => {
487
+ const duration = formatDurationCompact(ms);
488
+ const specCount = all_shard_spec_counts?.[i] ?? '?';
489
+ console.log(` ${i + 1} → ${duration} (${specCount} specs)`);
490
+ });
491
+ }
492
+ // Only show data quality for first shard (same for all shards)
493
+ if (assignment.data_quality && assignment.shard_index === 0) {
494
+ const { specs_with_history, specs_without_history, specs_missing_history } = assignment.data_quality;
495
+ console.log(`📊 Data quality: ${specs_with_history}/${specs.length} specs have history`);
496
+ if (specs_missing_history && specs_missing_history.length > 0) {
497
+ console.log(` Missing history:`);
498
+ for (const spec of specs_missing_history) {
499
+ console.log(` - ${spec}`);
500
+ }
501
+ if (specs_without_history > specs_missing_history.length) {
502
+ console.log(` ... and ${specs_without_history - specs_missing_history.length} more`);
503
+ }
504
+ }
467
505
  }
468
506
  }
469
507
  catch (error) {
@@ -484,10 +522,8 @@ async function runShard(options) {
484
522
  console.log(`🎭 Running Playwright with ${assignment.specs.length} specs...`);
485
523
  const args = buildPlaywrightArgs(assignment.specs, extraArgs);
486
524
  // Build shard name for reporter to use in runId (makes each shard unique)
487
- // Format: "win-1", "ubuntu-2", etc.
488
- const shardName = options.os
489
- ? `${options.os}-${options.shardIndex}`
490
- : `shard-${options.shardIndex}`;
525
+ // Include browser to differentiate electron vs chromium on same OS
526
+ const shardName = (0, utils_1.buildShardName)(options.os, options.shardIndex, browser);
491
527
  // Track actual run time
492
528
  const startTime = Date.now();
493
529
  const exitCode = await runPlaywright(args, shardName);
@@ -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":";AAAA;;;;;GAKG;;;;;AAgCH,4BAYC;AAQD,0CAQC;AASD,wCAkBC;AASD,sDAgBC;AA+CD,8CA6EC;AAiBD,8DAuCC;AAKD,sCA+BC;AAYD,oDA0CC;AASD,kDAEC;AAKD,0DAMC;AAQD,sCAsBC;AAgBD,wDAuBC;AAWD,wDAuBC;AAMD,4BAiIC;AAhoBD,iDAAsC;AACtC,gDAAwB;AACxB,oCAAmE;AAgBnE,sDAAsD;AACtD,MAAM,OAAO,GAAG,gDAAgD,CAAC;AAEjE,0EAA0E;AAE1E;;;;;;GAMG;AACH,SAAgB,QAAQ;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,OAAO,CAAC,CAAE,uCAAuC;QAC1D;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,mEAAmE;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE3C,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,GAAG,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAElC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,8DAA8D;QAC9D,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;IAC7D,CAAC;IAED,eAAe;IACf,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,EAAU;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAE3C,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,GAAG,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAElC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;AAChE,CAAC;AAkCD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG;IACrB,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,aAAa;CAChB,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAc;IAC5C,MAAM,OAAO,GAA6B;QACtC,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,EAAE;KACrB,CAAC;IAEF,uDAAuD;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,sBAAsB,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,0DAA0D;IAC1D,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACzC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC7B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,yEAAyE;YACzE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,uDAAuD;IACvD,OAAO,CAAC,cAAc,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,sBAAsB,CAAC,CAAC;IAE1E,8BAA8B;IAC9B,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IAED,6EAA6E;IAC7E,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACX,qCAAqC,OAAO,CAAC,UAAU,SAAS,OAAO,CAAC,UAAU,EAAE,CACvF,CAAC;IACN,CAAC;IAED,+BAA+B;IAC/B,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,QAAQ,+CAA+C,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,OAA0B,CAAC;AACtC,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACpD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEnC,iDAAiD;QACjD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,yDAAyD;YACzD,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9C,8DAA8D;YAC9D,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAE5C,iEAAiE;YACjE,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CACR,sDAAsD;oBAClD,4CAA4C;oBAC5C,sEAAsE,CAC7E,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE;YAC7C,mEAAmE;YACnE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC7B,uEAAuE;YACvE,OAAO,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE;YAC3E,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,qCAAqC;YAC1E,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACtC,MAAc,EACd,MAAwB;IAExB,MAAM,GAAG,GAAG,GAAG,MAAM,iBAAiB,CAAC;IAEvC,qBAAqB;IACrB,MAAM,IAAI,GAA4B;QAClC,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,sBAAsB;QAC3C,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,WAAW,EAAE,MAAM,CAAC,UAAU;KACjC,CAAC;IAEF,0CAA0C;IAC1C,IAAI,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,IAAI,MAAM,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClD,IAAI,MAAM,CAAC,aAAa;QAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;IAEtE,8DAA8D;IAC9D,MAAM,OAAO,GAA2B;QACpC,cAAc,EAAE,kBAAkB;KACrC,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC7E,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,MAAM,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAA8B,CAAC;AACvD,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAe,EAAE,SAAmB;IACpE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACnC,UAAkB,EAClB,UAAkB,EAClB,SAAmB;IAEnB,OAAO,CAAC,MAAM,EAAE,WAAW,UAAU,IAAI,UAAU,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,IAAc,EAAE,SAAkB;IAClE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,0EAA0E;QAC1E,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE;YAC/C,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,qCAAqC;YAC1E,KAAK,EAAE,SAAS;YAChB,GAAG;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAAC,IAAc;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3F,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,YAAgC,CAAC;IACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,IAAc;IACjD,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3F,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,WAA+B,CAAC;IACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,IAAA,+BAAuB,EAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAExE,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IAE/C,mFAAmF;IACnF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAErE,gDAAgD;IAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACD,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,GAAG,CACP,4DAA4D,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,CAC1G,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC;IAC9F,IAAI,UAA2B,CAAC;IAChC,IAAI,WAAW,GAAG,EAAE,CAAC,CAAC,oCAAoC;IAC1D,4EAA4E;IAC5E,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC;QACD,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE;YAC7C,KAAK;YACL,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,6BAA6B;YACjE,SAAS,EAAE,OAAO,CAAC,UAAU;YAC7B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO;YACP,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,uCAAuC;SACpF,CAAC,CAAC;QAEH,uEAAuE;QACvE,IAAI,UAAU,CAAC,cAAc,KAAK,qBAAqB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CACP,4DAA4D,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,CAC1G,CAAC;YACF,OAAO,CAAC,GAAG,CACP,cAAc,UAAU,CAAC,eAAe,IAAI,8BAA8B,EAAE,CAC/E,CAAC;YACF,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACxF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,+DAA+D;QAC/D,+EAA+E;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,eAAe;QAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,qBAAqB,IAAI,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC;QAC5D,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,0CAA0C;QAC1C,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,GAAG,CAAC,CAAC;YAClD,sBAAsB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,QAAQ,MAAM,SAAS,SAAS,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,+DAA+D;QAC/D,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,oBAAoB,kBAAkB,IAAI,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAC;YACzF,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,iBAAiB,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,OAAO,CAAC,CAAC;gBAC9F,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,GAAG,CACP,4DAA4D,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,CAC1G,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxF,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE1E,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,qCAAqC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,aAAa,cAAc,WAAW,WAAW,GAAG,CAAC,CAAC;IAElE,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,sCAAsC;AACtC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,cAAc;IACd,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBnB,CAAC,CAAC;QACK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -64,22 +64,47 @@ export interface PlaywrightSuite {
64
64
  }>;
65
65
  }
66
66
  /**
67
- * Build auto-detected shard name from environment and Playwright config
67
+ * Extract the running project name from the suite
68
+ * The suite's first child is typically the project suite with the project name as title
69
+ */
70
+ export declare function getRunningProjectName(suite?: PlaywrightSuite): string | undefined;
71
+ /**
72
+ * Build shard name for unique identification (SINGLE SOURCE OF TRUTH)
68
73
  *
69
- * Priority:
70
- * 1. Playwright config project name + OS + shard (e.g., "electron-ubuntu-1")
71
- * 2. GITHUB_JOB + shard (e.g., "e2e-ubuntu-run-shard-1-of-2") - fallback
72
- * 3. GITHUB_JOB only
73
- * 4. Playwright shard only
74
+ * This function is the canonical way to build shard names. It's used by:
75
+ * - CLI (run-shard): Sets SHARD_NAME env var before running Playwright
76
+ * - Reporter: Falls back to this when SHARD_NAME is not set
74
77
  *
75
- * @param config Playwright config with optional shard and projects info
76
- * @returns Auto-detected shard name or undefined
78
+ * Format: ${browser}-${os}-${shardIndex} (e.g., "electron-linux-1")
79
+ *
80
+ * Priority for identifier: browser > GITHUB_JOB > nothing
81
+ * This ensures uniqueness across:
82
+ * - Multiple projects (electron vs chromium)
83
+ * - Multiple OS (linux vs windows)
84
+ * - Multiple shards (1, 2, 3, 4)
85
+ *
86
+ * @param os Operating system (e.g., "linux", "win", "mac", "ubuntu")
87
+ * @param shardIndex Shard index (1-based), or undefined if not sharded
88
+ * @param browser Browser/project name (e.g., "electron", "chromium")
89
+ * @returns Shard name (e.g., "electron-linux-1", "chromium-win-2")
77
90
  */
91
+ export declare function buildShardName(os: string | undefined, shardIndex: number | undefined, browser?: string): string;
78
92
  /**
79
- * Extract the running project name from the suite
80
- * The suite's first child is typically the project suite with the project name as title
93
+ * Build auto-detected shard name from Playwright config (convenience wrapper)
94
+ *
95
+ * Extracts browser, OS, and shard index from Playwright config/suite,
96
+ * then delegates to buildShardName() for consistent formatting.
97
+ *
98
+ * Only returns a shard name if there's meaningful differentiation:
99
+ * - Has a browser/project name (differentiates electron vs chromium)
100
+ * - Has a shard index (differentiates shard 1 vs shard 2)
101
+ * - Has GITHUB_JOB (differentiates matrix jobs)
102
+ * - OS alone is not sufficient (doesn't differentiate within same workflow)
103
+ *
104
+ * @param config Playwright config with optional shard and projects info
105
+ * @param suite Playwright suite for extracting running project
106
+ * @returns Auto-detected shard name or undefined
81
107
  */
82
- export declare function getRunningProjectName(suite?: PlaywrightSuite): string | undefined;
83
108
  export declare function buildAutoShardName(config?: PlaywrightFullConfig, suite?: PlaywrightSuite): string | undefined;
84
109
  /**
85
110
  * Get run ID from environment or generate one
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -40,6 +40,7 @@ exports.toRelativeSpec = exports.getBrowserFromProject = exports.inferBrowserFro
40
40
  exports.getGithubMetadata = getGithubMetadata;
41
41
  exports.getRepoName = getRepoName;
42
42
  exports.getRunningProjectName = getRunningProjectName;
43
+ exports.buildShardName = buildShardName;
43
44
  exports.buildAutoShardName = buildAutoShardName;
44
45
  exports.getRunId = getRunId;
45
46
  exports.getDatePartition = getDatePartition;
@@ -167,18 +168,6 @@ function getRepoName(optionValue) {
167
168
  }
168
169
  return 'local';
169
170
  }
170
- /**
171
- * Build auto-detected shard name from environment and Playwright config
172
- *
173
- * Priority:
174
- * 1. Playwright config project name + OS + shard (e.g., "electron-ubuntu-1")
175
- * 2. GITHUB_JOB + shard (e.g., "e2e-ubuntu-run-shard-1-of-2") - fallback
176
- * 3. GITHUB_JOB only
177
- * 4. Playwright shard only
178
- *
179
- * @param config Playwright config with optional shard and projects info
180
- * @returns Auto-detected shard name or undefined
181
- */
182
171
  /**
183
172
  * Extract the running project name from the suite
184
173
  * The suite's first child is typically the project suite with the project name as title
@@ -194,31 +183,78 @@ function getRunningProjectName(suite) {
194
183
  return projectFromTitle;
195
184
  return undefined;
196
185
  }
186
+ /**
187
+ * Build shard name for unique identification (SINGLE SOURCE OF TRUTH)
188
+ *
189
+ * This function is the canonical way to build shard names. It's used by:
190
+ * - CLI (run-shard): Sets SHARD_NAME env var before running Playwright
191
+ * - Reporter: Falls back to this when SHARD_NAME is not set
192
+ *
193
+ * Format: ${browser}-${os}-${shardIndex} (e.g., "electron-linux-1")
194
+ *
195
+ * Priority for identifier: browser > GITHUB_JOB > nothing
196
+ * This ensures uniqueness across:
197
+ * - Multiple projects (electron vs chromium)
198
+ * - Multiple OS (linux vs windows)
199
+ * - Multiple shards (1, 2, 3, 4)
200
+ *
201
+ * @param os Operating system (e.g., "linux", "win", "mac", "ubuntu")
202
+ * @param shardIndex Shard index (1-based), or undefined if not sharded
203
+ * @param browser Browser/project name (e.g., "electron", "chromium")
204
+ * @returns Shard name (e.g., "electron-linux-1", "chromium-win-2")
205
+ */
206
+ function buildShardName(os, shardIndex, browser) {
207
+ const parts = [];
208
+ // Use browser if available, otherwise fall back to GITHUB_JOB for matrix differentiation
209
+ const identifier = browser || process.env.GITHUB_JOB;
210
+ if (identifier)
211
+ parts.push(identifier);
212
+ if (os)
213
+ parts.push(os);
214
+ if (shardIndex !== undefined)
215
+ parts.push(String(shardIndex));
216
+ // If we only have the shard index, prefix with "shard-" for clarity
217
+ if (parts.length === 1 && shardIndex !== undefined) {
218
+ return `shard-${shardIndex}`;
219
+ }
220
+ // If we have nothing, return undefined (will be handled by caller)
221
+ if (parts.length === 0) {
222
+ return '';
223
+ }
224
+ return parts.join('-');
225
+ }
226
+ /**
227
+ * Build auto-detected shard name from Playwright config (convenience wrapper)
228
+ *
229
+ * Extracts browser, OS, and shard index from Playwright config/suite,
230
+ * then delegates to buildShardName() for consistent formatting.
231
+ *
232
+ * Only returns a shard name if there's meaningful differentiation:
233
+ * - Has a browser/project name (differentiates electron vs chromium)
234
+ * - Has a shard index (differentiates shard 1 vs shard 2)
235
+ * - Has GITHUB_JOB (differentiates matrix jobs)
236
+ * - OS alone is not sufficient (doesn't differentiate within same workflow)
237
+ *
238
+ * @param config Playwright config with optional shard and projects info
239
+ * @param suite Playwright suite for extracting running project
240
+ * @returns Auto-detected shard name or undefined
241
+ */
197
242
  function buildAutoShardName(config, suite) {
198
243
  const shardInfo = config?.shard;
199
244
  // Get project name from suite (the actually running project) or fall back to config
200
245
  const projectName = getRunningProjectName(suite) || config?.projects?.[0]?.name;
201
- const os = inferOs();
202
- // Priority 1: Project name (best for matrix jobs)
203
- if (projectName) {
204
- // Simplify project name (e.g., "e2e-electron" -> "electron")
205
- const simpleName = projectName.replace(/^e2e-/, '');
206
- if (shardInfo) {
207
- return `${simpleName}-${os}-${shardInfo.current}`;
208
- }
209
- // No sharding - just project + os
210
- return `${simpleName}-${os}`;
211
- }
212
- // Priority 2: Fall back to GITHUB_JOB (same for all matrix entries, less ideal)
213
- const job = process.env.GITHUB_JOB;
214
- if (job && shardInfo) {
215
- return `${job}-shard-${shardInfo.current}-of-${shardInfo.total}`;
246
+ // Simplify project name (e.g., "e2e-electron" -> "electron")
247
+ const browser = projectName?.replace(/^e2e-/, '');
248
+ const shardIndex = shardInfo?.current;
249
+ const hasGithubJob = !!process.env.GITHUB_JOB;
250
+ // Only include shard name if we have meaningful differentiation
251
+ // OS alone doesn't differentiate shards within the same workflow
252
+ if (!browser && shardIndex === undefined && !hasGithubJob) {
253
+ return undefined;
216
254
  }
217
- if (job)
218
- return job;
219
- if (shardInfo)
220
- return `shard-${shardInfo.current}-of-${shardInfo.total}`;
221
- return undefined;
255
+ const os = inferOs();
256
+ const result = buildShardName(os, shardIndex, browser);
257
+ return result || undefined;
222
258
  }
223
259
  /**
224
260
  * Get run ID from environment or generate one
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,8CAuBC;AAGD,kCASC;AAqBD,sDAUC;AAsBD,wCAqBC;AAkBD,gDAqBC;AAcD,4BAcC;AAGD,4CAEC;AAUD,wCAuBC;AAGD,0BAcC;AAsDD,0CA0DC;AAUD,wCAIC;AA3bD,gDAAwB;AAExB,6BAA6B;AACtB,MAAM,GAAG,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAA1E,QAAA,GAAG,OAAuE;AAEvF,6CAA6C;AACtC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAE,EAAE;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;QAClE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM;QACjE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AARW,QAAA,QAAQ,YAQnB;AAEF,sCAAsC;AAC/B,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AADjF,QAAA,MAAM,UAC2E;AAE9F,4BAA4B;AACrB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAA7E,QAAA,KAAK,SAAwE;AAE1F,sDAAsD;AAC/C,MAAM,uBAAuB,GAAG,CAAC,IAAa,EAAsB,EAAE;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC;AAUF;;;;;;;;;;GAUG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAuB,EAAU,EAAE;IACvE,sDAAsD;IACtD,MAAM,qBAAqB,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC;IACxD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,oCAAoC;IACpC,MAAM,eAAe,GAAG,IAAA,+BAAuB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,oEAAoE;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAfW,QAAA,qBAAqB,yBAehC;AAEF,gFAAgF;AACzE,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,CAAS,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,8DAA8D;QAC9D,2EAA2E;QAC3E,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AATW,QAAA,cAAc,kBASzB;AAEF,uDAAuD;AACvD,SAAgB,iBAAiB;IAC/B,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IACxF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC/D,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAChG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,iBAAiB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IACzH,CAAC;IACD,8FAA8F;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC9C,kFAAkF;IAClF,iFAAiF;IACjF,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpF,CAAC;AAED,sDAAsD;AACtD,SAAgB,WAAW,CAAC,WAAoB;IAC9C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChF,IAAI,OAAO,EAAE,CAAC;QACZ,4DAA4D;QAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAiBD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,KAAuB;IAC3D,iFAAiF;IACjF,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC;IAClE,IAAI,mBAAmB;QAAE,OAAO,mBAAmB,CAAC;IAEpD,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACnD,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAE9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,cAAc,CAAC,EAAsB,EAAE,UAA8B,EAAE,OAAgB;IACrG,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yFAAyF;IACzF,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrD,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7D,oEAAoE;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,SAAS,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,mEAAmE;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,kBAAkB,CAAC,MAA6B,EAAE,KAAuB;IACvF,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,CAAC;IAEhC,oFAAoF;IACpF,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAEhF,6DAA6D;IAC7D,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC;IACtC,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAE9C,gEAAgE;IAChE,iEAAiE;IACjE,IAAI,CAAC,OAAO,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,MAAM,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAC,SAAkB,EAAE,MAA6B,EAAE,KAAuB;IACjG,iFAAiF;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC;IAEtD,6DAA6D;IAC7D,MAAM,KAAK,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;IACxE,CAAC;IACD,wCAAwC;IACxC,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAChF,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED,6DAA6D;AAC7D,SAAgB,gBAAgB;IAC9B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAKD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,gBAAwB;IACrD,IAAI,CAAC,gBAAgB;QAAE,OAAO,OAAO,CAAC;IAEtC,uCAAuC;IACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE7E,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAErD,iBAAiB;IACjB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC/G,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,eAAe,IAAI,EAAE,KAAK,qBAAqB,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAEhH,gCAAgC;IAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IACrG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0DAA0D;AAC1D,SAAgB,OAAO;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEvC,0CAA0C;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAQD;;;GAGG;AACH,KAAK,UAAU,4BAA4B,CAAC,GAAW,EAAE,IAAY;IACnE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC/D,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,gCAAgC;YACxC,YAAY,EAAE,4BAA4B;SAC3C,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,IAAI,YAAY,GAAG,EAAE,EAAE;YAClF,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;YAC1D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS;SAC/C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,eAAe,CAAC,GAAY;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,GAAW,EAAU,EAAE;QACrD,+DAA+D;QAC/D,0DAA0D;QAC1D,OAAO,QAAQ,CAAC,uBAAuB,MAAM,KAAK,GAAG,GAAG,EAAE;YACxD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;QAE1B,yDAAyD;QACzD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEhC,0DAA0D;QAC1D,gEAAgE;QAChE,qEAAqE;QACrE,MAAM,eAAe,GAAG,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,oEAAoE;gBACpE,+DAA+D;gBAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;gBAE7C,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,GAAG,WAAW,CAAC;oBACtB,MAAM,GAAG,UAAU,IAAI,MAAM,CAAC;gBAChC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,4BAA4B;YAC9B,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,MAAM,EAAE,MAAM,IAAI,SAAS;SAC5B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,4BAA4B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,uCAAuC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,GAAG,SAAS,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midleman/playwright-reporter",
3
- "version": "0.47.4",
3
+ "version": "0.47.8",
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",