@tracelane/core 0.1.0-alpha.16 → 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 +37 -1
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -2,7 +2,16 @@
2
2
 
3
3
  # @tracelane/core
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 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
 
@@ -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.16",
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"