Cloudflare ha anunciado que toma las riendas del proyecto tsrs, una versión del compilador TypeScript reescrita en Rust. Según afirman, esta implementación es hasta ocho veces más rápida y reduce el uso de memoria en un 70 % frente a TypeScript 7.0, que actualmente está desarrollado en Go por Microsoft.
Sin embargo, desde Cloudflare insisten en que no se trata de una bifurcación («fork») del lenguaje. Christoph Nakazawa, director de ingeniería de Cloudflare, ha dejado claro en sus redes sociales que están colaborando directamente con el equipo de TypeScript para que ambas versiones permanezcan alineadas. De hecho, las optimizaciones derivadas de tsrs ya están ayudando a mejorar la próxima versión 7.1 de TypeScript, que se espera sea aproximadamente 2,5 veces más rápida.
En el blog oficial de Cloudflare, Nakazawa junto a otros ingenieros de la compañía explican que respetan totalmente el control que Microsoft tiene sobre el diseño y dirección de TypeScript y que su intención es poder contribuir sin alterar esa visión.
¿Por qué elegir Rust cuando Microsoft utiliza Go?
TypeScript fue creado por Microsoft en 2012 como una evolución de JavaScript que incorpora un sistema de tipos estático para detectar errores antes de ejecutar el código. Durante años, comprobar estos tipos ha requerido un uso intensivo de recursos, especialmente en proyectos grandes donde múltiples agentes de IA pueden estar generando y validando código simultáneamente.
En julio, Microsoft lanzó TypeScript 7.0, que reemplazó su compilador original basado en JavaScript por uno desarrollado en Go, consiguiendo mejoras de velocidad del orden de diez veces.
No obstante, Microsoft exploró el uso de Rust antes de decidirse por Go, pero la complicación de replicar la arquitectura original y gestionar la memoria hizo preferible optar por Go, según fuentes oficiales.
La aceleración que ofrece tsrs en Rust representa una comparación llamativa frente a Go. Daniel Rosenwasser, principal gestor de producto de TypeScript en Microsoft, reconoce en una discusión pública que gran parte de esta mejora no se debe solo al lenguaje elegido, sino a optimizaciones descubiertas gracias al trabajo conjunto con el equipo de Cloudflare.
Además, el desarrollo en Rust resulta especialmente atractivo para Cloudflare debido a su compatibilidad con WebAssembly (Wasm). Aunque Go también se puede compilar a Wasm, debe incluir su propio recolector de basura, lo que añade sobrecarga. En cambio, Rust permite un control más exhaustivo y eficiente de la memoria, ideal para entornos limitados como los Workers de Cloudflare, donde agentes de IA pueden construir, verificar y ejecutar código directamente en el navegador o en entornos aislados.
Este esfuerzo se inserta en la estrategia más amplia de Cloudflare para expandir su ecosistema JavaScript, complementado con su reciente adquisición de VoidZero y la creación de Void, una plataforma abierta para gestionar aplicaciones desarrolladas con IA.
El origen de tsrs y su desarrollo impulsado por IA
El proyecto tsrs nació hace apenas unos meses en Owner.com, una empresa dedicada al software para restaurantes. Max Schwenk, jefe de experiencia para desarrolladores de IA en Owner.com, se enfrentó a un backend de TypeScript con 37.000 archivos y observó que el compilador en Go consumía hasta 19 GiB de memoria y tardaba 80 segundos en hacer una comprobación con un solo hilo, limitando la concurrencia de agentes de IA para revisar código.
Para acelerar este proceso, Schwenk decidió dejar en manos de agentes de IA entrenados en el modelo Claude Opus 5.5 de Anthropic la ardua tarea de recrear el compilador en Rust. Increíblemente, asegura que no escribió ni una sola línea de código. En paralelo, desplegó más de 20 subagentes de IA para trabajar simultáneamente y, en cuestión de horas, se obtuvo una versión funcional.
Con posteriores optimizaciones, el tiempo de comprobación en integración continua en Owner.com bajó a siete segundos, y en diversos proyectos públicos la velocidad del compilador en Rust oscila entre 2,5 y cinco veces superior al compilador oficial más reciente de Microsoft, utilizando solo un tercio de la memoria.
Un auge de migraciones a Rust asistidas por IA
Este caso se suma a una tendencia creciente en la que se aprovecha la inteligencia artificial para reemplazar componentes críticos por implementaciones en Rust. GitHub, por ejemplo, empleó agentes Copilot para reimplementar su entorno de ejecución para agentes de código en Rust, y Anthropic utilizó modelos Claude para migrar su runtime Bun de Zig a Rust.
Por su parte, Meta ha colaborado en portar el compilador React a Rust con ayuda de IA, y OpenAI destacó que dos ingenieros utilizaron Codex y GPT-5.5 para reconstruir en Rust su sistema de almacenamiento Habitat.
No obstante, estos cambios tan acelerados plantean el reto de asegurarse que el software mantenga el comportamiento esperado. En el caso de tsrs, Schwenk explica que están rigurosamente usando las pruebas de conformidad de TypeScript, insertando errores a propósito y empleando Miri, una herramienta de Rust para detectar fallos de seguridad en memoria. Incluso ya han detectado y corregido un fallo de memoria que solo aparecía en compilaciones optimizadas.
Schwenk advierte que un compilador veloz que pierde errores «es un compilador roto con buen marketing» y señala que mantener sincronizada la compatibilidad será un desafío constante.
Cloudflare tiene previsto utilizar un enfoque similar al que emplean con Vinext, su reimplementación de Next.js basada en Vite, donde agentes supervisan las diferencias, realizan pruebas de compatibilidad y proponen arreglos para no desviarse del proyecto original.
En definitiva, al combinar la potencia de Rust con la colaboración estrecha con Microsoft y la asistencia de la inteligencia artificial, Cloudflare busca marcar un nuevo estándar en velocidad y eficiencia para la experiencia de desarrollo con TypeScript sin alterar su esencia.