Conjunto de ferramentas de alto desempenho para JavaScript e TypeScript, escritas em Rust, incluindo parser, linter, formatter, transformer, minifier e resolver.
swc-project/swc
Um compilador e parser de TypeScript/JavaScript super-rápido, escrito em Rust e utilizável tanto em Rust quanto em JavaScript.
Alternativa open source a:Babel
- Estrelas
- 34,194
- Forks
- 1,547
- Issues abertas
- 413
- Último commit
- há 13 horas
O que é?
SWC (Speedy Web Compiler) é um compilador de TypeScript e JavaScript escrito em Rust. Ele faz o parsing, transforma e gera código moderno de ECMAScript e TypeScript, e foi projetado para ser usado como biblioteca tanto em Rust quanto em JavaScript. A maioria dos usuários de JavaScript acessa o SWC pelo pacote npm @swc/core, enquanto usuários de Rust podem depender de crates individuais, como o parser de ECMAScript.
O projeto se apresenta como uma alternativa mais rápida ao Babel para compilar código web e inclui um guia de comparação para migração do Babel. Há pacotes npm nativos para macOS x64 e arm64, Windows MSVC e Linux GNU e musl. As versões do Node.js compatíveis são Node 10 ou superior para uso e Node 20 ou superior para desenvolvimento.
As crates de Rust seguem uma versão mínima suportada do Rust (MSRV) publicada, a 1.73, e há um script auxiliar para atualizar todas as crates do SWC em um projeto Rust.
Recursos principais
- 01Faz o parsing e compila TypeScript e JavaScript escritos com sintaxe moderna de ECMAScript.
- 02Pode ser usado como biblioteca Rust por meio de crates individuais e como pacote npm em JavaScript.
- 03Disponibiliza binários nativos para macOS, Windows MSVC e Linux (GNU e musl) em x64 e arm64.
- 04Oferece um guia de migração e benchmarks que comparam o projeto ao Babel.
Casos de uso
- Substituir o Babel em um pipeline de build de JavaScript ou TypeScript para acelerar a compilação.
- Criar ferramentas em Rust que precisem fazer o parsing ou transformar código ECMAScript.
- Compilar TypeScript para projetos web direcionados a diferentes versões do Node.js.
Início rápido
- 1
Para usar com JavaScript, siga o guia de instalação no site swc.rs
- 2
Para usar com Rust, leia o rustdoc e comece pelo crate parser
Antes de usar
- O desenvolvimento do projeto requer Node v20 ou superior.
- A versão mínima do Rust compatível com os crates é 1.73.
Tópicos
Perguntas frequentes
- O que é swc?
- Um compilador e parser de TypeScript/JavaScript super-rápido, escrito em Rust e utilizável tanto em Rust quanto em JavaScript. SWC (Speedy Web Compiler) é um compilador de TypeScript e JavaScript escrito em Rust. Ele faz o parsing, transforma e gera código moderno de ECMAScript e TypeScript, e foi projetado para ser usado como biblioteca tanto em Rust quanto em JavaScript. A maioria dos usuários de JavaScript acessa o SWC pelo pacote npm @swc/core, enquanto usuários de Rust podem depender de crates individuais, como o parser de ECMAScript.
- swc é gratuito? Qual é a licença?
- swc é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- swc ainda é mantido?
- Manutenção ativa. O último commit de swc foi em 21 de out. de 2026.
- Para que posso usar swc?
- Substituir o Babel em um pipeline de build de JavaScript ou TypeScript para acelerar a compilação. Criar ferramentas em Rust que precisem fazer o parsing ou transformar código ECMAScript. Compilar TypeScript para projetos web direcionados a diferentes versões do Node.js.
- Como instalar swc?
- Para usar com JavaScript, siga o guia de instalação no site swc.rs Para usar com Rust, leia o rustdoc e comece pelo crate parser
- Onde consigo swc?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/swc-project/swc
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um compilador de JavaScript que transforma a sintaxe das próximas versões da linguagem em código compatível com os ambientes de destino.
Um superset tipado de JavaScript que adiciona tipos estáticos opcionais e compila para JavaScript legível e baseado em padrões.
Uma ferramenta de build web sem configuração que empacota HTML, CSS, JavaScript e assets sem precisar de um arquivo de configuração.
Um bundler extremamente rápido para JavaScript, TypeScript, JSX e CSS, com CLI e APIs para JavaScript e Go.
Um parser e compilador de markdown rápido e de baixo nível para JavaScript, que roda em navegadores, no Node.js e na linha de comando.