ts-rust: una IA reescribió el compilador de TypeScript en 2 semanas
Un proyecto llamado ts-rust (tsc-rs en npm) completó la migración del compilador nativo de TypeScript —originalmente escrito en Go por Microsoft— a Rust en ~14 días y con un gasto aproximado de US$24.047 en API de Claude Opus 5.5, según el README del repositorio. Para dimensionar el dato: un intento previo con modelos de OpenAI quemó más de US$400.000 en tokens, escribió 1,3 millones de líneas de Rust y nunca pasó del 84% de compatibilidad. El autor, pingdotgg, quería comprobar si los LLMs podían portar un compilador de millones de líneas — y la respuesta es sí.
La historia detrás de la migración: Opus 5.5 contra GPT 5.6 Sol y GPT 6 Astra
El repositorio incluye un "How did this go?" que documenta el experimento con detalle:
- Fase 1 (OpenAI): GPT-5.6 Sol y GPT 6 Astra. Más de US$400.000 en tokens de API, varios meses de bucles
/goal, 1,3 millones de líneas de Rust escritas y un techo del 84% de compatibilidad que nunca se rompió. - Fase 2 (Anthropic): Claude Opus 5.5. Una v0 funcional en 10 horas, empezó desde cero (no reutilizó el código previo) y terminó la migración en ~2 semanas con ~US$24.047 de gasto. Esto representó entre el 925% y 983% del límite semanal del plan de US$200 del autor.
El propio pingdotgg reconoce en el README: "He leído cero líneas de este código". El "Slop Line" del repo marca qué partes fueron escritas por LLMs y cuáles por humanos.
Leíste lo que hace la IA. ¿Y en tu negocio?
En CAR, dueños de empresa arman en 7 días su primer sistema funcionando: que ningún cliente se les escape, o que el informe del lunes salga solo. Con otros emprendedores al lado.
👥 Probar 7 díasRendimiento: cómo queda tsc-rs frente a tsc 7 y bun check
El repo incluye benchmarks sobre seis proyectos open source reales, ejecutados en un Apple M4 Pro (12 núcleos, 48 GB) con hyperfine (mediana de 5 runs tras 1 warmup):
| Proyecto | Líneas | tsc 6 | tsc 7 (Go) | tsc-rs | bun check |
|---|---|---|---|---|---|
| VS Code | 3,75M | 54,56s | 6,84s (8,0×) | 4,20s (13,0×) | 1,62s (33,7×) |
| Sentry | 2,11M | 58,76s | 7,90s (7,4×) | 4,46s (13,2×) | 3,14s (18,7×) |
| Playwright | 585k | 4,48s | 0,66s (6,8×) | 0,34s (13,2×) | 0,18s (25,0×) |
| Excalidraw | 449k | 5,32s | 0,80s (6,7×) | 0,70s (7,6×) | 0,18s (29,0×) |
| TypeORM | 386k | 3,86s | 0,55s (7,0×) | 0,36s (10,7×) | 0,19s (20,0×) |
| tRPC | 209k | 1,10s | 0,16s (6,8×) | 0,09s (12,0×) | 0,12s (9,1×) |
Resumen (media geométrica sobre tsc 6):
tsc-rs: 11,4× más rápido que tsc 6, 1,61× más rápido que tsc 7bun check: 20,9× más rápido que tsc 6 (gana en 5 de 6 apps)- En tRPC (server, 209k líneas),
tsc-rses el más rápido con 0,09s
El pin usado para los tests es TypeScript 7.1.0-dev (commit 673a5f17d713 del 29 de septiembre de 2026).
El contexto: por qué importa una reescritura a Rust si Microsoft ya pasó a Go
Microsoft ya completó su propia migración a Go y la publicó como TypeScript 7.0 en julio de 2026, según ADT Magazine. La decisión de Microsoft de no usar Rust fue explícita: según una respuesta de Ryan Cavanaugh, dev lead de TypeScript, recogida por InfoQ, "reescribir desde cero en Rust podría tomar años y dar una versión incompatible de TypeScript que nadie podría usar, mientras que un port en Go da algo usable en un año, con semántica muy compatible y rendimiento competitivo" (InfoQ, mayo 2025).
El TypeScript 7.0 RC se publicó el 18 de junio de 2026 e integró el compilador Go al paquete typescript estándar (npm install -D typescript@rc), con paralelización de parsing, type-checking y emit, y un nuevo modo --watch porteado desde el watcher de Parcel (Visual Studio Magazine, junio 2026).
¿Qué aporta entonces la reescritura a Rust de pingdotgg? Compatibilidad con el ecosistema Effect ya integrada (diagnostics 377xxx), un binario ~1,6× más rápido que tsc 7 y la opción de correr como WebAssembly — exactamente lo que el autor señala como motivación: "un ts checker que pueda correr en WASM con alto rendimiento".
Limitaciones y letra chica
Antes de probarlo en tu monorepo, ojo con esto:
- Plataformas: solo Linux x64 (estático) y macOS arm64. No hay build para Windows ni Linux arm64 todavía.
- Estado: el port está pinneado a una revisión específica de TypeScript (
673a5f17d713, del 29 de septiembre de 2026). Para comparar, usa[email protected]. - Compatibilidad: el README declara 100% de compatibilidad en proyectos reales testeados, pero hay edge cases documentados:
- En monorepos, puede escribir outputs para más archivos que
tscy reportarTS6059. - En
tsc -b, sin project reference, puede leer output viejo o faltante. - En el editor, la memoria crece ~20 MiB por cada 1.000 edits.
- Effect LSP: el language service de Effect está porteado para diagnostics, pero las features de editor (quick fixes, refactors, hover, completions) no.
- Versión:
tsc-rs --versionmuestra la versión de TypeScript que porta (7.1.0-dev), no la del paquete npm.
¿Qué significa esto para tu startup?
Este proyecto importa por dos razones que van más allá de TypeScript:
1. El costo de migrar stacks cae en picada. La reescritura completa de un compilador de varios millones de líneas (que Microsoft tardó más de un año en hacer a Go) fue resuelta por Opus 5.5 en 2 semanas y US$24k. Si tu startup tiene código legacy en JS, Python, Java o .NET, el costo-hora de reescribir a un stack moderno (Rust, Go, TypeScript estricto) acaba de caer un orden de magnitud. Esto cambia el ROI de cualquier decisión del tipo "lo reescribimos o lo mantenemos".
2. El type-checker deja de ser el cuello de botella del DX. Pasar de tsc 6 a tsc-rs es 11× más rápido en type checking. En un monorepo grande, eso se traduce en PRs más rápidos, CI más barato y feedback loops casi instantáneos en el editor.
3. Acciones concretas que puedes tomar hoy:
- Probar
tsc-rslocalmente:npm install -D tsc-rs && npx tsc-rs -p tsconfig.json(solo Linux x64 y macOS arm64). - Si necesitas velocidad pura y no usas Effect,
bun checksigue siendo el más rápido en la mayoría de los proyectos. - Si tu CI está ahogado en builds de TS, evalúa saltar a
tsc7 nativo de Microsoft otsc-rsantes de seguir pagando por tiempos de chequeo largos.
Fuentes
- ts-rust (tsc-rs) en GitHub (fuente original)
- Microsoft Announces Native TypeScript Compiler Port for 10X Performance Boost - InfoQ
- TypeScript 7.0 RC Moves Microsoft's Go Rewrite Into the Mainline Compiler - Visual Studio Magazine
- Microsoft Bets TypeScript's Future on a Native Compiler - ADT Magazine
Leíste lo que hace la IA. ¿Y en tu negocio?
En CAR, dueños de empresa arman en 7 días su primer sistema funcionando: que ningún cliente se les escape, o que el informe del lunes salga solo. Con otros emprendedores al lado.
👥 Probar 7 días













