@tracelane/core 0.1.0-alpha.15 → 0.1.0-alpha.17

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 +40 -4
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -2,16 +2,25 @@
2
2
 
3
3
  # @tracelane/core
4
4
 
5
- > The reporter for your WebdriverIO tests Playwright and 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 framework-agnostic recording engine behind `tracelane`. Wraps any test runner's `browser` object behind one `BrowserExecutor` interface and drives the rrweb capture. Shared internals not installed directly.
6
+
7
+ [![npm](https://img.shields.io/npm/v/@tracelane/core.svg)](https://www.npmjs.com/package/@tracelane/core)
8
+ [![downloads](https://img.shields.io/npm/dw/@tracelane/core.svg)](https://www.npmjs.com/package/@tracelane/core)
9
+ [![license](https://img.shields.io/npm/l/@tracelane/core.svg)](https://github.com/Cubenest/rrweb-stack/blob/main/LICENSE)
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
+ [![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/core.svg)](https://www.npmjs.com/package/@tracelane/core)
13
+ [![node](https://img.shields.io/node/v/@tracelane/core.svg)](https://www.npmjs.com/package/@tracelane/core)
14
+ ![status: alpha](https://img.shields.io/badge/status-alpha-orange.svg)
6
15
 
7
16
  Framework-agnostic recording engine for `tracelane`. Wraps a per-framework `browser` object behind a common `BrowserExecutor` interface, injects the rrweb capture bundle, drains in-page events to Node, and builds the buffer that the report packages render.
8
17
 
9
18
  **Not intended for direct consumption** — depend on a product package instead:
10
19
 
11
20
  ```sh
12
- npm install --save-dev @tracelane/wdio # WebdriverIO Service
13
- # @tracelane/playwright planned Q3 2026
14
- # @tracelane/cypress — planned Q4 2026
21
+ npm install --save-dev @tracelane/wdio # WebdriverIO Service
22
+ npm install --save-dev @tracelane/playwright # Playwright reporter + fixture
23
+ # @tracelane/cypress — planned Q4 2026
15
24
  ```
16
25
 
17
26
  See the [`@tracelane/wdio` README](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-wdio) for the integration guide.
@@ -25,6 +34,33 @@ See the [`@tracelane/wdio` README](https://github.com/Cubenest/rrweb-stack/tree/
25
34
 
26
35
  Built on [`@cubenest/rrweb-core`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/rrweb-core).
27
36
 
37
+ > Exact internal values (cooldown ms, report-size cap) are the calibrated defaults at the time of writing; see [`src/recorder.ts`](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-core/src/recorder.ts) and [`src/size-guard.ts`](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-core/src/size-guard.ts) for the source of truth.
38
+
39
+ ## API
40
+
41
+ The public surface is re-exported from [`src/index.ts`](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-core/src/index.ts). The load-bearing contract is the `BrowserExecutor` interface that every adapter implements — `@tracelane/core` only ever talks to it, never to a concrete framework driver:
42
+
43
+ ```ts
44
+ export interface BrowserExecutor {
45
+ execute<T>(fn: (...args: unknown[]) => T, ...args: unknown[]): Promise<T>;
46
+ executeAsync<T>(fn: (...args: unknown[]) => void, ...args: unknown[]): Promise<T>;
47
+ cdp(domain: string, command: string, params?: Record<string, unknown>): Promise<unknown>;
48
+ on(event: string, handler: (params: unknown) => void): void;
49
+ }
50
+ ```
51
+
52
+ Also exported: `createRecorder` (the recorder controller), `attachNetworkCapture` (CDP network capture), `loadRrwebBundle`, the `resolveMode` mode switch, and the `pruneToSizeBudget` report-size guard. See [`src/browser-executor.ts`](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-core/src/browser-executor.ts) for the full interface docs.
53
+
54
+ ## Related packages
55
+
56
+ - [`@cubenest/rrweb-core`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/rrweb-core) — the shared rrweb fork + network plugin this engine builds on.
57
+ - [`@tracelane/wdio`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-wdio) — WebdriverIO adapter (implements `BrowserExecutor`).
58
+ - [`@tracelane/playwright`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-playwright) — Playwright adapter (implements `BrowserExecutor`).
59
+ - [`@tracelane/report`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-report) — builds the self-contained HTML report from the captured buffer.
60
+ - [`@tracelane/cli`](https://github.com/Cubenest/rrweb-stack/tree/main/packages/tracelane-cli) — wires the adapters together for a project.
61
+
28
62
  ## License
29
63
 
30
64
  Apache-2.0. Contributions require a [DCO](https://developercertificate.org/) sign-off (`git commit -s`).
65
+
66
+ See the [CHANGELOG](https://github.com/Cubenest/rrweb-stack/blob/main/packages/tracelane-core/CHANGELOG.md) for release history and [SECURITY-NOTES](https://github.com/Cubenest/rrweb-stack/blob/main/docs/SECURITY-NOTES.md) for the recording/redaction threat model.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracelane/core",
3
- "version": "0.1.0-alpha.15",
3
+ "version": "0.1.0-alpha.17",
4
4
  "description": "Framework-agnostic rrweb recording engine for tracelane. Wraps a per-framework browser object behind a common BrowserExecutor interface.",
5
5
  "keywords": [
6
6
  "tracelane",
@@ -31,7 +31,7 @@
31
31
  "README.md"
32
32
  ],
33
33
  "dependencies": {
34
- "@cubenest/rrweb-core": "0.1.0-alpha.6"
34
+ "@cubenest/rrweb-core": "0.1.0-alpha.7"
35
35
  },
36
36
  "devDependencies": {
37
37
  "jsdom": "^25.0.1"