@tracelane/wdio 0.1.0-alpha.22 → 0.1.0-alpha.24

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.
Files changed (2) hide show
  1. package/README.md +12 -5
  2. package/package.json +13 -13
package/README.md CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
  # @tracelane/wdio
4
4
 
5
- > The recorder for your WebdriverIO and Playwright tests — Cypress on the roadmap. Self-contained HTML for every run — replay failures, audit successes, attach to any bug tracker. No SaaS, no dashboard, no signup.
5
+ > The recorder for your WebdriverIO tests. Self-contained HTML for every run — replay failures, audit successes, attach to any bug tracker. No SaaS, no dashboard, no signup. (Playwright is available via [`@tracelane/playwright`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-playwright); Cypress is on the roadmap.)
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/@tracelane/wdio.svg)](https://www.npmjs.com/package/@tracelane/wdio)
8
8
  [![downloads](https://img.shields.io/npm/dw/@tracelane/wdio.svg)](https://www.npmjs.com/package/@tracelane/wdio)
9
9
  [![license](https://img.shields.io/npm/l/@tracelane/wdio.svg)](https://github.com/Cubenest/rrweb-stack/blob/main/LICENSE)
10
10
  [![CI](https://github.com/Cubenest/rrweb-stack/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Cubenest/rrweb-stack/actions/workflows/ci.yml)
11
11
  [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/Cubenest/rrweb-stack/badge)](https://scorecard.dev/viewer/?uri=github.com/Cubenest/rrweb-stack)
12
+ [![types](https://img.shields.io/npm/types/@tracelane/wdio.svg)](https://www.npmjs.com/package/@tracelane/wdio)
13
+ [![node](https://img.shields.io/node/v/@tracelane/wdio.svg)](https://www.npmjs.com/package/@tracelane/wdio)
14
+ ![status: alpha](https://img.shields.io/badge/status-alpha-orange.svg)
12
15
 
13
16
  ![tracelane install — one command](https://raw.githubusercontent.com/Cubenest/rrweb-stack/main/assets/tracelane-hero.gif)
14
17
 
@@ -82,7 +85,7 @@ export const config: Options.Testrunner = {
82
85
  };
83
86
  ```
84
87
 
85
- `webdriverio` and `@wdio/types` are **peer dependencies** (`^9.0.0`); you already have them in a WDIO project.
88
+ `webdriverio` and `@wdio/types` are **peer dependencies** (`^9.0.0`); you already have them in a WDIO project. Node **>= 22** is required (a common first-run failure on older runtimes).
86
89
 
87
90
  ## How it works
88
91
 
@@ -92,6 +95,8 @@ export const config: Options.Testrunner = {
92
95
 
93
96
  **Content-Security-Policy**: rrweb capture requires in-page script evaluation. If a page's CSP blocks `'unsafe-eval'`, capture degrades gracefully — the test still runs and completes normally, a warning is logged once, but no replay is recorded for the affected page.
94
97
 
98
+ For what `tracelane` captures, masks, and never sends off your machine, see the [security notes](https://github.com/Cubenest/rrweb-stack/blob/main/docs/SECURITY-NOTES.md).
99
+
95
100
  ## Options
96
101
 
97
102
  | Option | Type | Default | Notes |
@@ -102,10 +107,13 @@ export const config: Options.Testrunner = {
102
107
  | `capture.network` | `boolean` | `true` | Capture network requests via the in-page `rrweb/network@1` plugin — all browsers, no CDP. Privacy-first: only URL/method/status/timing by default (headers + bodies off; opt in via `capture.networkOptions`). CDP is an optional fallback that adds authoritative status + true no-response failures where it's available. |
103
108
  | `capture.networkOptions` | `NetworkRecordOptions` | plugin defaults | Forwarded to the in-page network plugin (`recordHeaders`, `recordBody`, `maskRequestFn`, `payloadHostDenyList`, …). Defaults are privacy-first (headers + bodies off). Ignored when `capture.network` is `false`. |
104
109
  | `capture.console` | `boolean` | `true` | Capture `console.*` via the rrweb console plugin. Setting this `false` also drops any `[tracelane.net]` network-error lines from the CDP fallback path, since those surface through `console.error`. |
110
+ | `consolePluginOptions` | `ConsolePluginOptions` | plugin defaults | Forwarded to the in-page rrweb console plugin. Ignored when `capture.console` is `false` (which instead passes `{ level: [] }` to patch no methods). |
105
111
  | `drainIntervalMs` | `number` | `500` | Node-side drain poll interval. |
106
112
  | `cooldownMs` | `number` | `250` | Re-injection cooldown guard (suppresses double-init on hash/HMR navigation). |
113
+ | `security` | `boolean` | `true` | Advisory security-hygiene signals (`[tracelane.sec]`) captured during the run and analyzed in the report. Set `false` to disable both the capture and the analysis. When on, an optional `tracelane.security.suppress.json` in the project cwd silences known-acceptable signals (missing/malformed file degrades to no suppressions). |
107
114
  | `allure` | `boolean` | `false` | Reserved for the v1.1 Allure shim. No-op in v1. |
108
115
  | `visualDiff` | `boolean` | `false` | Reserved for the post-MVP visual-diff add-on. No-op in v1. |
116
+ | `report.footer` | `boolean` | `true` | Show the tool-credit footer in the generated HTML report. Set `false` to suppress it. |
109
117
 
110
118
  The options type is published — `import type { TraceLaneOptions } from '@tracelane/wdio'`.
111
119
 
@@ -145,7 +153,6 @@ Privacy-first by default: only **URL, method, status, and timing** are captured.
145
153
 
146
154
  When a CDP-capable session is present, `tracelane` *additionally* uses `browser.cdp(...)` to capture **authoritative HTTP status** for failed responses (`status >= 400`) and **true no-response failures** (CORS/DNS/offline/abort) that the page wrappers can't always see. These are routed into the report's console timeline (prefixed `[tracelane.net]`) and the report merges them over the in-page rows for the same request (real status wins). To enable it:
147
155
 
148
- - **WDIO 8:** add `['devtools', {}]` via `@wdio/devtools-service@8`.
149
156
  - **WDIO 9:** `@wdio/devtools-service` has no stable v9 line (it stabilized at v10); use the v10 service or a CDP-capable session.
150
157
 
151
158
  If CDP is unavailable (cloud Selenium, Firefox, Safari), nothing is lost beyond the CDP-only authoritative-status enhancement — the in-page plugin still populates the network panel and the report is still produced.
@@ -167,7 +174,7 @@ If CDP is unavailable (cloud Selenium, Firefox, Safari), nothing is lost beyond
167
174
 
168
175
  ## Playwright + Cypress
169
176
 
170
- The tagline says Playwright and Cypress because the design is portable across runners — same `@tracelane/core` engine, different glue. Tracking issues:
177
+ The design is portable across runners — same `@tracelane/core` engine, different glue. Tracking issues:
171
178
 
172
179
  - **`@tracelane/playwright`** — Playwright Reporter implementing `onTestEnd` + `onAttachment` for shareable HTML. Targeted for week 2-3 of the public launch.
173
180
  - **`@tracelane/cypress`** — JSON-output adapter only (no Cypress Test Replay overlap). Targeted for week 11.
@@ -176,7 +183,7 @@ Watch the [release notes](https://github.com/Cubenest/rrweb-stack/releases) on `
176
183
 
177
184
  ## Versioning & telemetry
178
185
 
179
- Semantic Versioning. Currently `0.1.0-alpha.x` (pre-release; the API may shift before `1.0.0`). See [SUPPORTED.md](https://github.com/Cubenest/rrweb-stack/blob/main/SUPPORTED.md) for the compatibility matrix.
186
+ Semantic Versioning. Currently `0.1.0-alpha.x` (pre-release; the API may shift before `1.0.0`). See [SUPPORTED.md](https://github.com/Cubenest/rrweb-stack/blob/main/SUPPORTED.md) for the compatibility matrix and the [CHANGELOG](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-wdio/CHANGELOG.md) for release history.
180
187
 
181
188
  **No telemetry.** `tracelane` collects and sends nothing; reports are written to your local `outDir` only. The generated HTML report includes a footer crediting the tool; you can suppress it with `report: { footer: false }`.
182
189
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracelane/wdio",
3
- "version": "0.1.0-alpha.22",
3
+ "version": "0.1.0-alpha.24",
4
4
  "description": "WebdriverIO Service that records rrweb sessions and writes a self-contained HTML report on failed tests. The user-facing tracelane integration for WDIO.",
5
5
  "keywords": [
6
6
  "tracelane",
@@ -38,24 +38,24 @@
38
38
  "README.md"
39
39
  ],
40
40
  "dependencies": {
41
- "@tracelane/core": "0.1.0-alpha.16",
42
- "@tracelane/report": "0.1.0-alpha.19"
41
+ "@tracelane/core": "0.1.0-alpha.18",
42
+ "@tracelane/report": "0.1.0-alpha.21"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@wdio/types": "^9.0.0",
46
46
  "webdriverio": "^9.0.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@wdio/cli": "^9.0.0",
50
- "@wdio/globals": "^9.0.0",
51
- "@wdio/local-runner": "^9.0.0",
52
- "@wdio/mocha-framework": "^9.0.0",
53
- "@wdio/spec-reporter": "^9.0.0",
54
- "@wdio/types": "^9.0.0",
55
- "esbuild": "^0.28.0",
56
- "tsx": "^4.19.0",
57
- "webdriverio": "^9.0.0",
58
- "@cubenest/rrweb-core": "0.1.0-alpha.6"
49
+ "@wdio/cli": "^9.29.0",
50
+ "@wdio/globals": "^9.29.0",
51
+ "@wdio/local-runner": "^9.29.0",
52
+ "@wdio/mocha-framework": "^9.29.0",
53
+ "@wdio/spec-reporter": "^9.29.0",
54
+ "@wdio/types": "^9.29.0",
55
+ "esbuild": "^0.28.1",
56
+ "tsx": "^4.22.4",
57
+ "webdriverio": "^9.29.0",
58
+ "@cubenest/rrweb-core": "0.1.0-alpha.7"
59
59
  },
60
60
  "publishConfig": {
61
61
  "access": "public",