Saltar al contenido
ES EN
Tema: automático

Cómo probar tsrs: el compilador TypeScript en Rust

Guía para probar tsrs, el port experimental del compilador TypeScript en Rust: comandos, límites de compatibilidad y cautelas antes de integrarlo en CI.

IA para programar

Cloudflare, VoidZero y Max Schwenk presentaron tsrs, un port experimental del compilador de TypeScript escrito en Rust y desarrollado con participación del equipo de TypeScript. La propuesta apunta a acelerar la comprobación de tipos y reducir memoria, pero todavía no equivale a un reemplazo universal: hay diferencias de comportamiento y funciones que aún faltan. Aquí veremos cómo hacer una prueba acotada y qué revisar antes de confiarle un proyecto o un pipeline.

Ilustración conceptual de código TypeScript pasando por un compilador escrito en Rust
tsrs busca acelerar la comprobación de tipos de TypeScript.

Lo que necesitas

Prepara un proyecto que ya tenga un archivo tsconfig y un entorno donde puedas instalar dependencias de desarrollo. Para que el resultado sea útil, elige una copia de prueba o una rama que puedas revisar sin afectar las compilaciones habituales. Si tu equipo sigue con TypeScript 5 o 6, la recomendación descrita es adoptar primero el port nativo de Microsoft para Go, porque tsrs sigue TypeScript 7. La presentación de Cloudflare y las notas del proyecto sirven para comprobar el estado experimental y sus límites.

  1. Escoge una rama de evaluación y confirma que contiene el tsconfig que usa normalmente tu proyecto.
  2. Instala tsrs como dependencia de desarrollo con el comando indicado a continuación.
  3. Ejecuta la comprobación sin emitir archivos y guarda la salida para compararla con la de tsc.
  4. Revisa diagnósticos, código de salida y comportamiento de tus scripts antes de cambiar tareas automatizadas.
  5. Prueba el flujo de desarrollo completo por separado: watch mode y servidor de lenguaje todavía no están disponibles.

Hacer una prueba aislada

Estos son los comandos publicados para instalar la herramienta y comprobar el proyecto indicado por su configuración. --noEmit pide una verificación sin generar salida. En una primera pasada, conserva también la ejecución habitual con tsc: la comparación ayuda a encontrar diferencias sin asumir que dos compiladores producen exactamente el mismo resultado.

npm install -D tsrs
npx tsrs -p . --noEmit

No interpretes una cifra de rendimiento como garantía para tu repositorio. Cloudflare comunicó hasta ocho veces más rapidez y alrededor de un 70 % menos memoria frente a TypeScript 7.0. En otra prueba publicada se midieron 5,3 veces más velocidad y un 72 % menos memoria; al comparar con la beta de TypeScript 7.1, ImportStatic observó una mejora menor, de 2,7 veces. Puedes revisar el benchmark independiente y la comparación de ImportStatic para entender por qué importa la versión de referencia.

Truco Comprueba expresamente el código de salida en tu CI. Una evaluación encontró que tsrs devuelve 2 cuando hay errores de tipos, mientras que tsc devuelve 1; un script que espera el valor anterior puede fallar de forma silenciosa o gestionar mal el resultado.
Diagrama conceptual que compara la comprobación de tipos con la integración continua
Antes de sustituir tsc, valida cómo se comportan tus automatizaciones.

Qué validar antes de adoptarlo

Compara los diagnósticos de ambos compiladores, no solo el tiempo total. La documentación del proyecto advierte que el orden de los diagnósticos puede variar, y que opciones como --init y --showConfig no están soportadas. Si tu proceso depende de alguna de ellas, la sustitución no será directa. También falta un servidor de lenguaje, así que tsrs no cubre por ahora la experiencia completa de edición que ofrecen las herramientas habituales.

La colaboración con el equipo de TypeScript no significa que tsrs sea el compilador oficial ni que controle el diseño del lenguaje. Según la cobertura del anuncio, el equipo de TypeScript conserva ese control; además, algunas optimizaciones identificadas durante el trabajo se están incorporando a TypeScript 7.1. Rust también permite explorar la compilación a WebAssembly mediante @tsrs/wasm, pero esa posibilidad no elimina las limitaciones de compatibilidad del proyecto experimental.

Nuestra recomendación práctica es medir en un caso representativo, registrar versión, memoria y resultados de diagnósticos, y mantener una forma sencilla de volver al compilador anterior. Si la comprobación de tipos es un cuello de botella, tsrs merece una evaluación; si el equipo depende de watch mode, del servidor de lenguaje o de scripts sensibles al código de salida, conviene esperar o probar con cautela. La cifra decisiva no es la del anuncio, sino la mejora que puedas confirmar sin romper el flujo de trabajo.

Fuente original: infoq.com

Artículo generado mediante AI.larebelion

Kernel

· Dirección de tecnología · España

«La velocidad solo cuenta cuando la compatibilidad también sobrevive al CI.»