SWC
Rust-based JavaScript/TypeScript compiler, a drop-in super-fast alternative to Babel
Repository Health
Technical Analysis
SWC (Speedy Web Compiler) is a Rust-based platform for compiling, bundling, and minifying JavaScript and TypeScript. @swc/core is its Node.js binding — a native addon (via NAPI-RS, distributed as prebuilt binaries per platform) that exposes SWC’s Rust compiler pipeline to JavaScript build tools, offering transform and minify performance many times faster than Babel or Terser on equivalent workloads.
SWC underpins the compilation and minification steps of several major JavaScript toolchains, including Next.js and the Vite/Rollup ecosystem via plugins, and is designed as a near drop-in replacement for Babel’s transform API. Beyond @swc/core, the monorepo also produces @swc/helpers (runtime helpers injected by transformed output), WASM bindings for browser/edge use, and a large family of Rust crates (swc_ecma_parser, swc_ecma_ast, swc_common, etc.) that implement the parser, AST, and codegen independently of any JS binding.
What You Get
- A near drop-in replacement for Babel’s
transform/transformSyncAPI, backed by a Rust compiler instead of a JS one - Prebuilt native bindings (via NAPI-RS) for major platforms, so no local Rust toolchain is needed to install
@swc/core - TypeScript, JSX, and modern ECMAScript syntax support with configurable target/preset-env-style downleveling
- A JavaScript/TypeScript minifier as an alternative to Terser, exposed via
@swc/core’sminifyAPI - Companion packages (
@swc/helpers,@swc/wasm-web) and a family of reusable Rust crates (swc_ecma_parser,swc_ecma_ast,swc_common) for embedding SWC’s compiler pieces directly in other Rust tooling
Common Use Cases
- Replacing Babel in a build pipeline (webpack, Jest via
@swc/jest, or a custom bundler) to cut transform time on large codebases - Powering framework-level compilation, as Next.js does internally for its build and dev-server transforms
- Minifying production JavaScript bundles as a faster alternative to Terser
- Building custom Rust-based JS/TS tooling (linters, formatters, bundlers) on top of the underlying
swc_ecma_*andswc_commoncrates
Under The Hood
Architecture - The monorepo separates concerns cleanly across crates/ (pure Rust) and bindings//packages/ (language bindings). Core compiler logic lives in crates like swc_ecma_parser (tokenizer + parser), swc_ecma_ast (AST node definitions), swc_ecma_codegen (code generation), and swc_common (shared spans, source maps, error diagnostics) — each independently versioned and publishable to crates.io. swc_compiler_base and the top-level swc crate assemble these into a full compile pipeline (parse -> transform -> codegen), while bindings/binding_core_node wraps that pipeline via NAPI-RS to produce the @swc/core native addon, and bindings/binding_core_wasm produces the WASM build for browser/edge targets. CSS support follows the same pattern with a parallel swc_css_* crate family (parser, codegen, minifier, prefixer).
Tech Stack - Almost entirely Rust (97.5% of the codebase), using NAPI-RS for Node.js native bindings and wasm-bindgen-style tooling for WASM builds. The JS-facing packages/core publishes prebuilt binaries for a long list of platform/arch/libc targets (x86_64/aarch64 across Darwin, Windows MSVC, Linux gnu/musl, even PowerPC64LE and s390x), avoiding any local Rust compilation for consumers. The repo uses Cargo workspaces (crates/), a xtask crate for repo automation, and .changeset for JS package release management alongside Rust’s own crate versioning.
Code Quality - The crate suite has 1,407 Rust source files with 218 dedicated test files (plus extensive fixture-based snapshot testing common in compiler projects, which isn’t fully captured by a raw test-file count). Splitting the parser, AST, and codegen into separate crates keeps each concern testable in isolation, and the swc_ecma_compat_* family (es2015, es2016, …) isolates each ECMAScript-version downleveling transform into its own crate rather than one monolithic transform module.
API Design - @swc/core’s JS API deliberately mirrors Babel’s shape (transform, transformSync, parse, minify) to minimize migration friction for tools already built against Babel’s interface, while configuration is expressed through a .swcrc/options object that maps closely to Babel’s .babelrc mental model. The underlying Rust crates expose a lower-level, more idiomatic Rust API (visitor patterns via swc_ecma_visit) for embedding the compiler directly in other Rust programs, trading some ergonomics for full control over the compilation pipeline.
Used by 71 apps in this directory
OpenPanel
Devops · Hosting Control Panel
Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.
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.
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.
Plasmic
CMS · Design Tools · Low Code Platforms
The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.
Plausible Analytics
Analytics
Open-source, cookie-free web analytics that respects visitor privacy and replaces Google Analytics.
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.