Repolode
pingdotgg

pingdotgg/ts-rust

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.

Estrelas
1,373
Forks
92
Issues abertas
20
Último commit
há 8 horas

O que é?

ts-rust é uma port em Rust do compilador nativo de TypeScript da Microsoft, escrito em Go. Ele mantém os algoritmos e o comportamento da implementação em Go e oferece a mesma linha de comando (tsc), o mesmo servidor de linguagem e a mesma API. O pacote é instalado pelo npm como tsc-rs para não entrar em conflito com o pacote typescript, e também são publicados arquivos compactados independentes para cada plataforma.

O projeto está vinculado a uma revisão específica do TypeScript upstream e busca produzir resultados idênticos aos do tsc 7 dessa revisão. Ele inclui os diagnósticos do serviço de linguagem Effect, ativados quando o tsconfig lista o plugin @effect/language-service. Algumas opções ativadas explicitamente, como --fast e --checkers N, trocam CPU e memória por velocidade. O projeto está em estágio inicial e é rotulado como experimental.

O repositório também inclui benchmarks que comparam o projeto ao tsc 6, ao tsc 7 e ao Bun em aplicações open source reais, além de diferenças conhecidas na resolução de monorepos e no tempo de execução do tsc -b.

Recursos principais

  • 01Substituto direto para a linha de comando tsc, com as mesmas opções.
  • 02Servidor de linguagem e API com comportamento compatível com a implementação em Go.
  • 03Diagnósticos integrados do serviço de linguagem Effect e recursos para editores.
  • 04Modo --fast opcional, que executa vários checkers em paralelo.
  • 05Binários pré-compilados para Linux, macOS e Windows, distribuídos pelo npm.

Casos de uso

  • Acelerar verificações completas de tipos em monorepos grandes de TypeScript.
  • Executar verificações de tipos de TypeScript no CI quando o tempo de compilação é importante.
  • Verificar os tipos de projetos baseados em Effect sem uma segunda passagem do compilador.

Início rápido

  1. 1

    Instale o pacote pelo npm

    npm install -D tsc-rs
  2. 2

    Verifique os tipos do seu projeto com o tsconfig

    npx tsc-rs -p tsconfig.json

Antes de usar

  • O README descreve o projeto como um lançamento inicial e diz que o autor nunca leu o código.
  • Há um aviso de que a instalação é incerta e não há garantia de que funcione.
  • A lista inclui apenas Linux, macOS arm64 e algumas plataformas de versões posteriores, portanto o suporte varia conforme o sistema operacional.

Tópicos

Perguntas frequentes

O que é ts-rust?
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. ts-rust é uma port em Rust do compilador nativo de TypeScript da Microsoft, escrito em Go. Ele mantém os algoritmos e o comportamento da implementação em Go e oferece a mesma linha de comando (tsc), o mesmo servidor de linguagem e a mesma API. O pacote é instalado pelo npm como tsc-rs para não entrar em conflito com o pacote typescript, e também são publicados arquivos compactados independentes para cada plataforma.
ts-rust é gratuito? Qual é a licença?
ts-rust é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
ts-rust ainda é mantido?
Manutenção ativa. O último commit de ts-rust foi em 19 de out. de 2026.
Para que posso usar ts-rust?
Acelerar verificações completas de tipos em monorepos grandes de TypeScript. Executar verificações de tipos de TypeScript no CI quando o tempo de compilação é importante. Verificar os tipos de projetos baseados em Effect sem uma segunda passagem do compilador.
Como instalar ts-rust?
Instale o pacote pelo npm: npm install -D tsc-rs Verifique os tipos do seu projeto com o tsconfig: npx tsc-rs -p tsconfig.json
Onde consigo ts-rust?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pingdotgg/ts-rust

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados