𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗥𝗼𝗺𝗽𝗲 𝗽𝗲𝗿 𝗗𝗲𝘀𝗶𝗴𝗻
TypeScript 6.0 è arrivato e cambia tutto. Questo rilascio rappresenta il cambiamento più significativo dalla versione 2.x. Se fai affidamento su impostazioni legacy, il tuo prossimo build probabilmente fallirà.
Tre cambiamenti principali romperanno il tuo codice:
- La Strict Mode è ora attiva di default.
- Il supporto per ES5 ed ES3 è stato rimosso.
- La risoluzione dei moduli ora ha come default ESNext.
Perché questo è importante:
Strict Mode
In precedenza, era necessario attivare esplicitamente la strict mode. Ora è lo standard. Circa il 70% delle codebase vedrà immediatamente build fallite. Ti troverai di fronte a errori per proprietà non inizializzate, tipi any impliciti e valori null non controllati.
Rimozione del supporto ES5
Non è più possibile impostare ES5 o ES3 nel tuo tsconfig.json. Il nuovo default è ES2025. Se hai bisogno di supportare browser datati, dovrai aggiungere uno strumento separato come Babel alla tua pipeline.
Risoluzione dei moduli
Il default non è più CommonJS. Ora è ESNext. Se il tuo progetto Node.js si affida al comportamento implicito di CommonJS, devi impostare esplicitamente l'opzione module nella tua configurazione.
Come migrare senza interrompere la tua pipeline:
Analizza la tua configurazione Non lasciare le impostazioni al caso. Aggiungi valori espliciti per
strict,targetemodulenel tuotsconfig.jsonprima di aggiornare.Blocca la tua versione Fissa la versione di TypeScript nel tuo
package.json. Testa il tuo build attuale sulla versione esistente prima di passare alla 6.0.Usa una feature branch Installa TypeScript 6.0 su una nuova branch. Aggiorna il tuo
targeta ES2025 e imposta chiaramente il tipo di modulo.Correggi i tipi in modo incrementale Esegui il compilatore senza emettere file per vedere tutti gli errori. Concentrati prima sugli errori di
strictNullCheckse sui tipianyimpliciti.Testa tutto Esegui l'intera suite di test. TypeScript rileva gli errori di tipo, ma i tuoi test rilevano gli errori logici causati dalla nuova rigidità.
TypeScript 6.0 è l'ultimo passo prima della riscrittura della versione 7.0. La versione 7.0 utilizzerà un core nativo in Go. Ciò significa che il supporto legacy scomparirà completamente.
Modernizza la tua codebase ora per evitare crisi in futuro.
Fonte: https://dev.to/davekurian/typescript-60-launches-strict-mode-by-default-and-drops-es5-support-n31