← Back to the 2026 landscape
Compare

rjest vs Jest: 100× faster warm runs, same jest.config, same CLI

rjest is a Rust-daemon-backed, drop-in replacement for Jest. The Rust daemon caches SWC transforms and pre-warms Node workers, so warm runs are 100× faster while the test code, config, and CLI flags are unchanged.

Install
$ npm install -D rjest-install
TL;DR

rjest is a Rust-backed drop-in for Jest. Same API, faster hot paths. Install: npm install -D rjest-install. 100× faster warm runs (cached SWC transform + warm Node workers).

rjest vs Jest: the facts

rjest

100× faster warm runs (cached SWC transform + warm Node workers).

Jest

Cold Node start + re-transform on every run.

rjest

Same jest.config.* — no migration.

Jest

Native Jest config.

rjest

Same Jest CLI flags: --watch, --coverage, --runInBand, --testNamePattern, --json.

Jest

Native.

rjest

Same matchers: toBe, toBeNull, toBeUndefined, toMatchObject, toEqual, ... all of them.

Jest

Native.

rjest

Snapshot testing supported.

Jest

Native.

rjest

Persistent Rust daemon (jestd) in the background; no per-invocation boot.

Jest

Each `jest` invocation is a fresh Node process.

rjest

MIT licensed.

Jest

MIT licensed.

Benchmarks

Reproduction instructions in the project README. Numbers measured on AMD Ryzen 9 7950X, 64GB DDR5, NVMe SSD, Python 3.12.

Metric rjest Jest
Warm-suite run, ~500 tests ~1-2s ~10-30s
Cold start to first test ~200ms (daemon warm) ~1-3s

When to use rjest

  • You have a Jest suite of 200+ tests and CI is the bottleneck.
  • You want a 10-100× win with zero code changes.

When NOT to use rjest

  • You have <50 tests and CI is fast enough.
  • You depend on a Jest plugin that hasn't been ported (rare).

Frequently asked questions

Will rjest run my existing Jest test files unmodified?

Yes. rjest reads your existing jest.config.*, runs the same test files, and supports the same matchers (toBe, toBeNull, toBeUndefined, toMatchObject, toEqual, etc.) and CLI flags.

Does rjest work with TypeScript and JSX?

Yes — rjest uses SWC for transforms, so TypeScript, JSX, and modern ECMAScript are all supported out of the box.

Is rjest a fork of Jest or a wrapper?

A wrapper. rjest invokes Jest's test runner inside a warmed-up Node worker; the Rust daemon only manages caching and pre-warming. You get upstream Jest compatibility with no forking.

How does rjest compare to Vitest?

Vitest is a full Jest alternative (different API surface). rjest is a drop-in — same config, same CLI, same matchers. Choose rjest if you want zero migration; choose Vitest if you're rewriting the suite anyway.