Uma port experimental em Rust do compilador TypeScript 7 (tsc), com a mesma CLI, o mesmo servidor de linguagem e a mesma API, além de diagnósticos integrados do Effect.
oxc-project/tsrs
Uma implementação em Rust do compilador e do servidor de linguagem do TypeScript 7, que substitui diretamente as ferramentas de verificação de tipos e geração de saída.
- Estrelas
- 490
- Forks
- 9
- Issues abertas
- 14
- Último commit
- há 3 horas
O que é?
tsrs substitui diretamente o compilador e o servidor de linguagem do TypeScript 7 e foi escrito em Rust. É instalado como um pacote npm e executado pela linha de comando com uma interface no estilo do `tsc`, por exemplo, `tsrs --noEmit`. O projeto busca compatibilidade total com o TypeScript, tendo como principais objetivos reduzir o uso de memória e acelerar a verificação de tipos.
Atualmente, o projeto acompanha a branch principal do repositório do TypeScript e planeja lançar uma versão estável compatível com o TypeScript 7.1. Ainda há diferenças conhecidas na ordem dos diagnósticos e dos rastreamentos, que pode variar conforme a análise sintática e a verificação são executadas em paralelo; há um conjunto de flags para facilitar a comparação com o compilador Go. As opções `--init` e `--showConfig` não são compatíveis. Há builds WebAssembly para WASI Preview 1 em um pacote separado, e um playground no navegador permite testar a verificação e a geração de saída.
No momento, pull requests estão fechados; relatos de bugs são aceitos pelo rastreador de issues.
Recursos principais
- 01Substitui diretamente o compilador do TypeScript 7 e é executado por uma CLI no estilo do `tsc`.
- 02Suporte a servidor de linguagem para integração com editores.
- 03Busca compatibilidade total com a branch principal do TypeScript.
- 04Busca reduzir o uso de memória e acelerar a verificação de tipos em relação à versão nightly do TypeScript.
- 05Build WebAssembly para o alvo wasm32-wasip1.
Casos de uso
- Acelerar a verificação de tipos em monorepos grandes de TypeScript.
- Reduzir o uso de memória em tarefas de CI que executam verificações de tipos.
- Testar um verificador de TypeScript escrito em Rust em um editor ou no playground do navegador.
Início rápido
- 1
Instale tsrs como dependência de desenvolvimento com pnpm
pnpm add -D tsrs - 2
Execute uma verificação de tipos sem gerar arquivos
pnpm exec tsrs --noEmit
Antes de usar
- Ainda não está totalmente em conformidade; tem como alvo a branch main do TypeScript, e não uma versão estável.
- --init e --showConfig não são compatíveis.
- Os pull requests estão fechados, portanto não são aceitas contribuições de código externas.
Tópicos
Perguntas frequentes
- O que é tsrs?
- Uma implementação em Rust do compilador e do servidor de linguagem do TypeScript 7, que substitui diretamente as ferramentas de verificação de tipos e geração de saída. tsrs substitui diretamente o compilador e o servidor de linguagem do TypeScript 7 e foi escrito em Rust. É instalado como um pacote npm e executado pela linha de comando com uma interface no estilo do `tsc`, por exemplo, `tsrs --noEmit`. O projeto busca compatibilidade total com o TypeScript, tendo como principais objetivos reduzir o uso de memória e acelerar a verificação de tipos.
- tsrs é gratuito? Qual é a licença?
- tsrs é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- tsrs ainda é mantido?
- Manutenção ativa. O último commit de tsrs foi em 20 de out. de 2026.
- Para que posso usar tsrs?
- Acelerar a verificação de tipos em monorepos grandes de TypeScript. Reduzir o uso de memória em tarefas de CI que executam verificações de tipos. Testar um verificador de TypeScript escrito em Rust em um editor ou no playground do navegador.
- Como instalar tsrs?
- Instale tsrs como dependência de desenvolvimento com pnpm: pnpm add -D tsrs Execute uma verificação de tipos sem gerar arquivos: pnpm exec tsrs --noEmit
- Onde consigo tsrs?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/oxc-project/tsrs
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um compilador experimental de TypeScript e JavaScript que transforma programas em executáveis nativos ou WebAssembly, sem exigir Node.js em tempo de execução.
Corretor gramatical de inglês offline e focado em privacidade, escrito em Rust, para usar em editores, no navegador e no Node.js.
Toolkit rápido de busca de arquivos e conteúdo, tolerante a erros de digitação, para Neovim, agentes de IA e aplicações em Rust, Node, Bun, Python e C.
Port do workbench do VS Code que substitui o Electron pelo Tauri e usa a webview do sistema para reduzir o consumo de memória. Ainda em estágio inicial.
Um mecanismo de análise estática em Rust que cria grafos compactos de programas a partir do código-fonte e gera 19 diagramas UML e de IR de compilador.