TypeScript 6.0: ultimo rilascio con il compilatore in JavaScript

TypeScript 6.0 è un rilascio che segna un momento storico per il linguaggio sviluppato da Microsoft. Non si tratta solo di un aggiornamento ricco di novità, ma dell’ultima versione che utilizza il compilatore scritto in JavaScript, lo stesso che ha accompagnato TypeScript fin dalla sua nascita. Con la futura serie 7.x, infatti, il progetto passerà definitivamente al nuovo compilatore typescript‑go, una riscrittura in Go pensata per migliorare drasticamente prestazioni, consumo di memoria e tempi di avvio degli editor. TypeScript 6.0 diventa così un ponte tra il passato e il futuro del linguaggio.

Il compilatore attuale rimane incluso nella serie 6.x, ma questa versione introduce già modifiche pensate per facilitare la migrazione. L’obiettivo è rendere il passaggio al nuovo backend il più fluido possibile, soprattutto per i progetti di grandi dimensioni che oggi soffrono rallentamenti evidenti. Il team ha pubblicato anche una preview di TypeScript 7.0 come estensione per VSCode e pacchetto NPM, così che gli sviluppatori possano iniziare a testare il nuovo compilatore prima della transizione definitiva.

Tra le novità più rilevanti di TypeScript 6.0 c’è il supporto ai prefissi “#/” in stile Node.js per importare alias di moduli interni ai pacchetti. Questa funzionalità permette di evitare percorsi relativi complessi e rende più leggibile la struttura dei progetti. Arriva anche il flag “–stableTypeOrdering“, che abilita l’algoritmo deterministico di ordinamento dei tipi già previsto per TypeScript 7.0. È utile per diagnosticare eventuali problemi prima della migrazione, anche se può rallentare il compilatore.

Il linguaggio introduce inoltre i tipi integrati per l’API Temporal, la nuova proposta JavaScript per la gestione avanzata di date e orari. Temporal permette di lavorare con fusi orari, conversioni e operazioni temporali in modo più affidabile rispetto all’oggetto Date tradizionale. TypeScript 6.0 aggiunge anche i tipi per i metodi upsert getOrInsert e getOrInsertComputed in Map e WeakMap, oltre al supporto per RegExp.escape, utile per creare pattern sicuri nelle espressioni regolari.

Molti cambiamenti riguardano le impostazioni predefinite del compilatore. Il parametro rootDir ora punta al directory corrente, mentre il campo “types” viene inizializzato come lista vuota, riducendo il tempo di compilazione grazie all’esclusione dei pacchetti globali non necessari. Il target ECMAScript predefinito passa alla versione es2025, con es5 dichiarato obsoleto e es6 come minimo supportato. Il modulo predefinito diventa “esnext”, allineando TypeScript alle moderne pratiche basate su ESM. Il modo strict è ora attivo di default, rafforzando la tipizzazione.

Alcune opzioni vengono dichiarate obsolete per migliorare le prestazioni del compilatore. Tra queste ci sono “–baseUrl”, l’uso di module per definire namespace, “–outFile” e la risoluzione dei moduli in modalità classic. L’invito è a utilizzare strumenti esterni come esbuild o Rollup per il bundling e a preferire nodenext o bundler per la risoluzione dei moduli.

TypeScript 6.0 rappresenta quindi un rilascio di transizione, pensato per preparare sviluppatori e progetti al nuovo compilatore in Go. Una versione che guarda avanti, mantenendo compatibilità e stabilità mentre il linguaggio si avvia verso una nuova fase della sua evoluzione.

Note di rilascio TypeScript 6.0

Lascia un commento