Speedy Web Compiler — Rust 实现的超快 TypeScript/JavaScript 编译器

33.9k stars | Rust | Apache-2.0 | 2017-12 | swc.rs

一句话定位

用 Rust 重写 Babel/TypeScript 编译器,速度提升 20-70x,Next.js、Parcel、Deno 等项目已切换至 SWC。

核心功能

  • 编译:TypeScript → JavaScript,ES6+ → ES5,JSX 转换
  • 压缩(Minification):替代 Terser,速度提升显著
  • 打包(通过 swcpack):实验性 bundler
  • 双端 API:Rust crate 直接使用 / Node.js npm 包(@swc/core)
  • 插件系统:Rust 和 WASM 插件

与 Babel 对比

维度SWCBabel
语言RustJavaScript
速度20-70x基准
生态较小极成熟
插件Rust/WASMJS
适用构建工具集成复杂自定义转换

谁在用

  • Next.js:默认 Rust 编译器
  • Parcel:默认 JS 转换器
  • Deno:内部使用
  • Nx:monorepo 构建加速

安装

npm install --save-dev @swc/core @swc/cli
# 编译单文件
npx swc ./file.js -o output.js

局限性

  • 插件生态远不如 Babel 成熟
  • 复杂的 Babel 插件迁移成本高
  • swcpack(bundler)仍是实验性

关联页面

  • markitdown — 另一个以速度为卖点的工具链项目