El 18 de junio Microsoft publicó la Release Candidate de TypeScript 7.0, el lanzamiento más importante desde la creación del lenguaje. No hay nuevas características del sistema de tipos ni APIs adicionales: el compilador entero se ha portado de TypeScript/JavaScript a Go. El resultado es un compilador nativo unas 10 veces más rápido que TypeScript 6.0.
Los números hablan solos: el repositorio de VS Code, que con TypeScript 6 tardaba 77 segundos en compilar, ahora tarda 7. Figma, Slack, Notion, Linear y Vercel ejecutaron builds con las versiones previas a la RC y todos informaron de resultados similares: buena parte de sus tiempos de compilación simplemente desaparecieron.
Por qué Go y no Rust u otro lenguaje
El equipo de TypeScript evaluó varias opciones. Go ganó principalmente porque el compilador hace un uso intensivo de estructuras de datos mutables con muchas referencias compartidas, un patrón que encaja bien con el modelo de memoria de Go y que habría resultado bastante más incómodo en Rust o C++. Go también tiene concurrencia integrada que permitió aprovechar múltiples núcleos de CPU sin reescribir la lógica interna.
Un dato importante: fue un port, no una reescritura desde cero. El equipo movió el código existente pieza a pieza a Go manteniendo la lógica de type-checking intacta. Quien haya seguido el proyecto tsgo en GitHub reconocerá la estructura. Si quieres ver cómo conviven TypeScript y otras herramientas del ecosistema JS, el artículo sobre Biome v2 es un buen complemento.
Cómo instalar la RC
La RC ya está en el paquete habitual de npm y usa el comando estándar tsc:
npm install typescript@rc
No hay paquete separado como ocurría con el native-preview anterior. La API programática (la que usan herramientas como ESLint, ts-jest o Vite) no estará completa hasta TypeScript 7.1. Para editores y compilación directa la RC ya funciona.
Breaking changes antes de migrar
Este es el punto que más importa. TypeScript 7.0 introduce varios cambios que rompen compatibilidad:
strict activado por defecto. Si tu tsconfig.json no tenía "strict": true explícitamente, TypeScript 7 lo activa. Eso activa noImplicitAny, strictNullChecks, strictFunctionTypes y el resto del grupo strict. Los proyectos que llevaban años evitando esto van a ver errores nuevos al actualizar.
Target ES5 eliminado. Ya no existe target: "es5". El mínimo ahora es ES2015. Si tu proyecto compilaba a ES5 para soportar navegadores muy antiguos, toca revisar la estrategia.
Formatos de módulo eliminados. Desaparecen module: "amd", "umd", "systemjs" y "none". Los formatos soportados son ESNext, ES2022, NodeNext y CommonJS. Si usabas SystemJS o AMD (típico en proyectos con RequireJS), hay que migrar.
Nuevos valores por defecto en tsconfig. rootDir ahora tiene valor por defecto "./" en lugar de ser indefinido. types ahora es un array vacío por defecto, así que los tipos globales de @types/node, @types/jest y similares ya no se incluyen automáticamente: hay que listarlos explícitamente en el tsconfig.
Manejo de Unicode. TypeScript 7 trata los emoji como puntos de código individuales en lugar de pares de surrogados UTF-16. Afecta a la inferencia en template literal types con emoji.
Migración paso a paso
- Actualiza TypeScript:
npm install typescript@rc - Ejecuta
tscy revisa los errores nuevos debidos a strict - Si usabas
target: "es5", cámbialo a"es2015"o superior - Si usabas
module: "amd","umd"o"systemjs", migra a"commonjs"o"esnext" - Añade al array
typesdel tsconfig los paquetes @types que necesites como globales (node, jest, etc.) - Revisa
rootDirsi tu proyecto dependía de su valor implícito
Para proyectos grandes, el equipo recomienda añadir "skipLibCheck": true para aislar los errores propios de los que vienen de librerías de terceros que todavía no se han actualizado.
El ecosistema: qué cambia para las herramientas
La API programática no estará lista hasta TypeScript 7.1, así que herramientas como ESLint con typescript-eslint o ts-jest necesitarán tiempo para adaptarse. Las versiones actuales siguen funcionando con TypeScript 6.x durante la transición. Para el día a día con tsc o en el editor, la RC ya funciona bien.
Cuándo llega la versión estable
Microsoft ha indicado que espera publicar TypeScript 7.0 estable en aproximadamente un mes desde la RC, lo que lo sitúa en torno a julio de 2026.
Imagen: Pexels / Nemuel Sereti
