@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
Promptfoo
AI Development
An open-source CLI and library for evaluating and red-teaming LLM applications — replace trial-and-error prompt engineering with systematic evals, vulnerability scanning, and CI/CD integration.
Rocket.Chat
Team Chat
The secure, self-hosted team communications platform for organizations that cannot compromise on data sovereignty.
Scalar
Developer Tools
Beautiful, interactive OpenAPI documentation with a built-in offline-first API client and multi-language code generation — all in one open-source platform.
Sentry
Analytics · Developer Tools · Monitoring
Developer-first error tracking and performance monitoring platform with AI-powered root-cause analysis across 20+ languages and frameworks.
strapi
CMS
Open-source headless CMS that auto-generates REST and GraphQL APIs from your content models, with a fully customizable admin panel you control.
strapi
CMS
Open-source headless CMS that auto-generates REST and GraphQL APIs from your content models, with a fully customizable admin panel you control.
Teable
Databases · No Code Platforms
A no-code PostgreSQL database with spreadsheet UX, real-time collaboration, and native AI agents — built for teams that outgrow Airtable.
Twake Drive
Collaboration · File Storage
Open-source, self-hosted file manager with collaborative drives, AI-powered summarization, and OnlyOffice document editing for teams who want full data sovereignty.
twenty
CRM
The open-source CRM you build, ship, and version like the rest of your stack — with customizable objects, AI agents, and a TypeScript SDK.