typescriptmigraciónperformancetooling

TypeScript 7.0 en Producción: Qué Cambia al Migrar desde 6.x

Por Binary Core

TypeScript 7.0, disponible desde julio de 2026, es probablemente el cambio más importante en la historia del lenguaje: un port completo del compilador a Go con speedups típicos de entre 8x y 12x en builds completos. Tres meses después de su release, en Binary Core ya lo hemos adoptado en varios proyectos y esto es lo que hay que saber para migrar sin sorpresas.

Por qué es tan rápido

El compilador original está escrito en TypeScript y se ejecuta sobre JavaScript: un solo hilo, con las limitaciones inherentes del runtime. TypeScript 7 es código nativo con shared-memory multithreading. La clave es que el port se hizo de forma deliberadamente conservadora: misma estructura, misma lógica, mismos resultados de type-checking. No es una reescritura con "mejoras" — es una traducción fiel.

En la práctica, un monorepo que tardaba 90 segundos en type-check suele bajar a menos de 10. El editor también se beneficia: el nuevo language server habla LSP de forma nativa.

Paralelización y controles

Parsing, type-checking y emit se paralelizan automáticamente. Para casos menos triviales hay flags experimentales:

bash
tsc --checkers 4 # hilos para type-checking tsc --builders 8 # hilos para project references tsc --singleThreaded # desactiva paralelismo (útil en CI limitado)

--singleThreaded resulta útil en runners de CI con pocos recursos o cuando estás depurando un comportamiento extraño del compilador y quieres reproducibilidad absoluta.

El punto delicado: no hay API (todavía)

TypeScript 7.0 no expone la API del compilador. Eso significa que herramientas que dependen del AST o del type-checker programáticamente — typescript-eslint es el caso más común — no pueden ejecutarse sobre TS7 todavía. La API llegará en TypeScript 7.1, y será diferente a la actual.

La solución oficial es convivencia. Microsoft publica @typescript/typescript6, un paquete de compatibilidad que instala un ejecutable llamado tsc6 y re-exporta la API de TypeScript 6.0:

bash
npm install -D typescript @typescript/typescript6

Así tsc es TypeScript 7 para tu build diario, mientras el tooling que necesita la API sigue funcionando contra la 6.0.

Plan de migración razonable

  1. TypeScript 6.0 primero. Si estás en 5.x, migra antes a 6.0 — es el puente diseñado para alinear el comportamiento con 7.0. Los cambios de type-checking que romperán en 7 suelen romper ya en 6.
  2. Instala TS7 en paralelo en una rama y compara outputs: tsc --noEmit debe producir los mismos errores que antes, solo que mucho más rápido.
  3. Audita el toolchain. Identifica qué depende de la API del compilador: eslint plugins, codemods, generadores de tipos. Esos se quedan en tsc6 hasta 7.1.
  4. Verifica el editor. VS Code tiene extensión dedicada para TS7; en otros editores, confirma el soporte LSP.

Temporal ya es parte del lenguaje

Una nota relacionada que viene del camino: TypeScript 6.0 añadió tipos nativos para la API Temporal, que alcanzó stage 4 y es ya parte oficial de ECMAScript. Si sigues usando Date para lógica de calendario compleja, Temporal con tipos built-in es la alternativa madura.

Conclusión

TypeScript 7.0 es uno de esos upgrades raros donde el beneficio (builds 10x más rápidos) es enorme y el riesgo (mismo comportamiento de type-checking) es bajo. La única fricción real es el tooling que vive de la API, y para eso existe tsc6. Si tu codebase es grande, cada día sin migrar es tiempo de CI y de desarrollo que estás regalando.

Binary Core

Equipo Binary Core

← Volver al blog