Repolode
pingdotgg

pingdotgg/ts-rust

Un port experimental en Rust del compilador TypeScript 7 (tsc), con la misma CLI, el mismo servidor de lenguaje y la misma API, además de diagnósticos de Effect integrados.

Estrellas
1,373
Forks
92
Issues abiertos
20
Último commit
hace 4 horas

¿Qué es?

ts-rust es un port en Rust del compilador nativo de TypeScript de Microsoft, escrito en Go. Conserva los algoritmos y el comportamiento de la implementación en Go, y ofrece la misma línea de comandos (tsc), el mismo servidor de lenguaje y la misma API. Se instala desde npm como el paquete tsc-rs para evitar conflictos con el paquete typescript, y se publican archivos independientes para cada plataforma.

El proyecto está fijado a una revisión específica de TypeScript upstream y busca producir resultados idénticos a los de la versión fijada de tsc 7. Incluye los diagnósticos del servicio de lenguaje Effect, que se activan cuando un tsconfig incluye el plugin @effect/language-service. Varias opciones de activación voluntaria, como --fast y --checkers N, sacrifican CPU y memoria a cambio de velocidad. El proyecto está en una fase inicial y se considera experimental.

El repositorio también incluye benchmarks que comparan tsc 6, tsc 7 y Bun en aplicaciones reales de código abierto, así como diferencias conocidas en la resolución de monorepos y los tiempos de tsc -b.

Funciones clave

  • 01Reemplazo directo de la línea de comandos tsc con las mismas opciones.
  • 02Servidor de lenguaje y API que replican el comportamiento de la implementación en Go.
  • 03Diagnósticos del servicio de lenguaje Effect y funciones para editores integrados.
  • 04Modo --fast opcional, que ejecuta varios verificadores en paralelo.
  • 05Binarios precompilados para Linux, macOS y Windows, distribuidos mediante npm.

Casos de uso

  • Acelerar las comprobaciones completas de tipos en monorepos grandes de TypeScript.
  • Ejecutar comprobaciones de tipos de TypeScript en CI cuando el tiempo de compilación es importante.
  • Comprobar los tipos de proyectos basados en Effect sin una segunda pasada del compilador.

Inicio rápido

  1. 1

    Instala el paquete desde npm

    npm install -D tsc-rs
  2. 2

    Comprueba los tipos de tu proyecto con el tsconfig

    npx tsc-rs -p tsconfig.json

Antes de usarlo

  • El README lo describe como una versión inicial y afirma que el autor nunca ha leído el código.
  • Se advierte que la instalación es incierta y no se garantiza que funcione.
  • Solo se enumeran Linux, macOS arm64 y algunas plataformas de versiones posteriores, por lo que la compatibilidad varía según el sistema operativo.

Temas

Preguntas frecuentes

¿Qué es ts-rust?
Un port experimental en Rust del compilador TypeScript 7 (tsc), con la misma CLI, el mismo servidor de lenguaje y la misma API, además de diagnósticos de Effect integrados. ts-rust es un port en Rust del compilador nativo de TypeScript de Microsoft, escrito en Go. Conserva los algoritmos y el comportamiento de la implementación en Go, y ofrece la misma línea de comandos (tsc), el mismo servidor de lenguaje y la misma API. Se instala desde npm como el paquete tsc-rs para evitar conflictos con el paquete typescript, y se publican archivos independientes para cada plataforma.
¿ts-rust es gratuito? ¿Qué licencia tiene?
ts-rust es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ts-rust sigue mantenido?
Mantenimiento activo. El último commit de ts-rust fue el 19 oct 2026.
¿Para qué puedo usar ts-rust?
Acelerar las comprobaciones completas de tipos en monorepos grandes de TypeScript. Ejecutar comprobaciones de tipos de TypeScript en CI cuando el tiempo de compilación es importante. Comprobar los tipos de proyectos basados en Effect sin una segunda pasada del compilador.
¿Cómo se instala ts-rust?
Instala el paquete desde npm: npm install -D tsc-rs Comprueba los tipos de tu proyecto con el tsconfig: npx tsc-rs -p tsconfig.json
¿Dónde consigo ts-rust?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pingdotgg/ts-rust

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados