¿Qué estás buscando?

Toca fuera o pulsa Esc para cerrar

TypeScript 7 salta a Go y acelera las compilaciones hasta 12 veces

Microsoft publica TypeScript 7 con un compilador nativo escrito en Go, trabajo en paralelo y mejoras habituales de entre 8× y 12× en proyectos grandes.

Módulo de compilación azul que reparte bloques de código entre cuatro canales paralelos
TypeScript 7 distribuye más fases del compilador entre varios hilos y aprovecha código nativo. · Crédito: Imagen generada con IA para Kaosconcept

Abrir un proyecto grande y esperar a que el editor termine de pensar no es precisamente la parte divertida de programar. TypeScript 7 ya está disponible y ataca ese tiempo muerto con el cambio más profundo de su historia: un compilador nativo escrito en Go.

La instalación sigue llegando desde el paquete de siempre, pero por debajo casi todo se mueve de otra manera. Microsoft habla de mejoras habituales de entre 8× y 12× en compilaciones completas, además de una respuesta mucho más rápida dentro del editor.

Un compilador nativo que reparte el trabajo

El equipo ha trasladado la estructura y la lógica del compilador original con la intención de conservar resultados compatibles. La gran diferencia está en la ejecución: código nativo, memoria compartida y trabajo en paralelo durante el análisis, la comprobación de tipos y la emisión.

En las pruebas publicadas, compilar VS Code baja de 125,7 a 10,6 segundos. El primer diagnóstico al abrir un archivo del mismo proyecto pasa de unos 17,5 segundos a menos de 1,3. Son cifras de una máquina concreta, no una promesa para cualquier portátil, pero dejan claro que no estamos ante un pequeño ajuste.

El editor también gana velocidad

El nuevo servidor usa el protocolo LSP y puede atender varias peticiones a la vez. Esto afecta a autocompletado, referencias, diagnósticos y navegación, justo las acciones que repetimos todo el día. VS Code dispone de una extensión específica y otros editores modernos pueden conectarse al mismo servidor.

Quien necesite ajustar recursos tiene tres controles nuevos: --checkers decide cuántos comprobadores de tipos trabajan; --builders regula los proyectos paralelos en un build con referencias; y --singleThreaded desactiva el paralelismo para depurar o funcionar en entornos limitados.

La migración trae letra pequeña

TypeScript 7 busca ser compatible con el comportamiento de 6.0, pero adopta sus nuevos valores por defecto y convierte antiguas deprecaciones en errores. strict queda activado, module pasa a esnext, types parte de una lista vacía y algunos proyectos tendrán que declarar rootDir. Pasar primero por 6.0 sigue siendo la ruta prudente.

Además, 7.0 todavía no ofrece una API programática estable. Herramientas que integran el compilador, y flujos con Vue, Astro, Svelte, MDX o plantillas de Angular, pueden necesitar TypeScript 6 durante un tiempo. Microsoft permite instalar ambas ramas en paralelo; la versión 7.0.2 también está publicada en GitHub.

Cómo probarlo sin jugarse el CI

npm install -D typescript

El paquete oficial en npm mantiene el nombre habitual. Conviene probar la actualización en una rama, fijar la versión, revisar tsconfig.json y ejecutar tanto la comprobación de tipos como el build real del proyecto. Si hay plugins que dependen de la API, se puede mantener 6.0 a su lado en lugar de forzar una migración de golpe.

Para equipos con monorepos grandes, la ganancia puede devolver minutos a cada iteración. Para proyectos pequeños quizá se note menos, pero tener el editor listo antes de perder el hilo ya es una mejora fácil de agradecer.

0 comentarios

Todavía no hay comentarios.

Deja un comentario

Información básica de protección de datos. Responsable: Miguel Ángel Ruiz Carmona (Websmultimedia). Trataremos el nombre y el comentario para gestionar y publicar tu aportación a petición tuya, y para moderarla y prevenir abusos por interés legítimo. El email es opcional, nunca se publica y se elimina 90 días después de moderar. El alojamiento se presta en la UE y no cedemos estos datos salvo obligación legal. Puedes ejercer tus derechos en miguel@websmultimedia.com. Consulta la información de privacidad y las normas de participación.