@testpulse.run/playwright-jsonl-reporter
v0.3.0
Published
Append-only JSONL event reporter for Playwright TestPulse events.
Maintainers
Readme
@testpulse.run/playwright-jsonl-reporter
Append-only JSONL reporter for Playwright TestPulse events.
Use this package when you want Playwright run events as newline-delimited JSON for local files, custom ingestion pipelines, debugging, or tests around reporter behavior.
Most TestPulse users should install @testpulse.run/reporter, which uses this package with an HTTP sink preconfigured for TestPulse ingest.
Installation
npm install -D @testpulse.run/playwright-jsonl-reporter @playwright/testPlaywright Configuration
import { defineConfig } from "@playwright/test";
export default defineConfig({
reporter: [
["@testpulse.run/playwright-jsonl-reporter", { outputDir: "testpulse-events" }]
]
});By default the reporter writes JSONL files to testpulse-events.
Options
outputDir: directory for filesystem JSONL output.runId: explicit run identifier. A process/time based id is generated by default.includeCoreEvents: include normalized Playwright lifecycle events; defaults totrue.includeDerivedEvents: include derived attempt and outcome events; defaults totrue.failOnHandlerError: cause Playwright to fail when reporter handlers throw.sink: custom event sink for filesystem, HTTP, or in-memory integrations.
Custom Sink
import { JsonlReporter, type EventSink, type JsonlEvent } from "@testpulse.run/playwright-jsonl-reporter";
class MemorySink implements EventSink {
readonly metadata = { writerId: "memory", sinkType: "memory" };
readonly events: JsonlEvent[] = [];
write(event: JsonlEvent) {
this.events.push(event);
}
async flush() {}
async close() {}
}
export default new JsonlReporter({ sink: new MemorySink() });Related Packages
@testpulse.run/reporter: preconfigured HTTP reporter for TestPulse.@testpulse.run/playwright-events: derived test attempt and outcome events.@testpulse.run/playwright-core: normalized Playwright reporter lifecycle events.
