Skip to content
rjest

Features

Everything the daemon buys you

rjest is a small idea executed carefully: move Jest's fixed startup cost into a background daemon, cache the expensive parts on disk, and keep the CLI you already type. Here is the full surface.

Speed

Where the warm-run wins actually come from.

Persistent Rust daemon

jestd parses your config, holds the dependency graph, and keeps the worker pool alive between invocations. The startup tax is paid once per session, not per run.

SWC-native transforms

TypeScript and JSX are compiled in Rust by SWC — no Babel, no ts-jest, no plugin chain to reload on every run.

blake3-keyed disk cache

Transformed modules are cached in sled, keyed by blake3 content hash. The cache survives daemon restarts, so a cold restart still reuses prior work.

Warm Node.js worker pool

V8 cold-start is paid once per worker. Tests schedule onto already-JITed processes running in isolated VM contexts.

Compatibility

The whole point is that nothing in your repo changes.

Reads your jest.config

jest.config.js, .ts, .mjs, or the package.json Jest block. No new format, no schema migration.

Same CLI flags

--watch, --coverage, --runInBand, --testNamePattern, --json — the flags your CI script already passes keep working.

Matchers, mocks, snapshots

toBe / toEqual, jest.fn(), jest.mock(), fake timers, and toMatchSnapshot() are honored as compatibility contracts.

Istanbul coverage

--coverage produces Istanbul reports in the formats your dashboards already ingest.

Tooling & agents

Built to be driven by CI and AI coding agents, not just humans.

--json and --machine output

Structured results with file paths, test names, durations, and error details — no ANSI scraping for CI parsers or agents.

Observable daemon

rjest --daemon-status, --daemon-stop, --daemon-restart. Caches persist on disk through restarts, so you can always audit state.

Deterministic watch mode

The daemon FS watcher keeps the dependency graph current, so a save re-runs exactly the affected tests.

Cross-platform binaries

macOS (Intel + Apple Silicon), Linux (x86_64 + aarch64), and Windows (x86_64). Node.js 16 or newer.

See it on your own suite

Read the architecture, browse the guides, or jump to use cases to see where rjest fits.