@swc/jest
A Jest transform that compiles TypeScript and JSX with the Rust-based SWC compiler instead of Babel.
Repository Health
Technical Analysis
@swc/jest is Jest’s official-style integration for SWC, a Rust-based JavaScript/TypeScript compiler. Registered as a transform in jest.config.js, it replaces slower Babel- or ts-jest-based transforms with SWC’s native compilation, while still reading project .swcrc configuration, computing Jest-compatible cache keys, and supporting Jest’s code-coverage instrumentation hooks.
What You Get
- A drop-in Jest transform registered via the transform config key, replacing babel-jest or ts-jest
- Automatic .swcrc config loading with JSONC parsing, or inline transform options passed from jest.config.js
- Correct ESM vs CommonJS module output based on Jest’s supportsStaticESM flag per test file
- Coverage instrumentation support via automatic injection of the swc-plugin-coverage-instrument SWC plugin when Jest runs with —coverage
Common Use Cases
- Speeding up a large Jest test suite’s TypeScript/JSX compilation by swapping ts-jest or babel-jest for SWC
- Running Jest against ESM-authored source files with correct static-ESM output per Jest’s per-file module detection
- Collecting accurate code coverage from SWC-compiled tests via the custom coverage instrumentation option
- Sharing a single .swcrc configuration between a project’s build pipeline and its Jest test transform
Under The Hood
Architecture: index.ts exports createTransformer(), whose returned object implements Jest’s Transformer interface: process()/processAsync() call @swc/core’s transformSync/transform respectively, always overriding the module.type option per-file based on Jest’s supportsStaticESM flag, while getCacheKey() combines the SWC version, package version, and computed SWC options into a Jest-compatible cache key via @jest/create-cache-key-function; a separate buildSwcTransformOpts() helper merges explicit options with .swcrc (parsed via jsonc-parser to tolerate comments), defaults jsc.target from the running Node version, and forces jsc.transform.hidden.jest plus inline sourceMaps. Tech Stack: TypeScript compiled with tsc as part of a pnpm/Turborepo-style monorepo (swc-project/pkgs) alongside swc-loader and @swc/cli, with @swc/core and @jest/transform as its core dependency/peer surface and jsonc-parser for tolerant .swcrc parsing. Code Quality: The transformer is a single well-scoped 215-line index.ts with small pure helper functions (nodeTarget, insertInstrumentationOptions, set) and no classes; the monorepo runs eslint across packages, though this specific package’s own dedicated test suite is thin relative to its role as a widely-depended-on transform, relying more on downstream consumer test suites for real-world validation. API Design: Configuration is minimal, point Jest’s transform map at ‘@swc/jest’ with an optional inline options object, and it just works with existing .swcrc files, requiring no new mental model for teams already using SWC elsewhere in their toolchain.
Used by 47 apps in this directory
Orama
Developer Tools · Search
A complete, embeddable search engine and RAG pipeline running in browsers, servers, and edge networks with full-text, vector, and hybrid search in under 2KB.
Outline
Collaboration · Knowledge Management
A fast, real-time collaborative knowledge base for growing teams built on React, Node.js, and ProseMirror.
Payload CMS
Blogging · CMS · Developer Tools
The open-source, Next.js-native headless CMS that lives inside your /app folder and gives you a full TypeScript backend instantly.
Payload CMS
Blogging · CMS · Developer Tools
The open-source, Next.js-native headless CMS that lives inside your /app folder and gives you a full TypeScript backend instantly.
Pezzo
AI Development · Monitoring
Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.
Pezzo
AI Development · Monitoring
Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.
Pezzo
AI Development · Monitoring
Open-source LLMOps platform for prompt management, AI observability, intelligent caching, and real-time cost tracking across LLM providers.
PostHog
Ab Testing Experimentation · Analytics · Developer Tools
The all-in-one open source product platform combining analytics, session replay, feature flags, error tracking, AI observability, and a built-in data warehouse in a single self-hostable stack.
Postiz
Automation · Social Media
The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.