𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗕𝗿𝗲𝗮𝗸𝘀 𝗕𝘆 𝗗𝗲𝘀𝗶𝗴𝗻
TypeScript 6.0 ist da und es verändert alles. Dieses Release ist die bedeutendste Änderung seit Version 2.x. Wenn Sie sich auf veraltete Einstellungen verlassen, wird Ihr nächster Build wahrscheinlich fehlschlagen.
Drei wesentliche Änderungen werden Ihren Code unterbrechen:
- Der Strict Mode ist jetzt standardmäßig aktiviert.
- Die Unterstützung für ES5 und ES3 entfällt.
- Die Modulauflösung ist nun standardmäßig auf ESNext eingestellt.
Warum das wichtig ist:
Strict Mode
Bisher mussten Sie den Strict Mode explizit aktivieren. Jetzt ist er der Standard. Bei etwa 70 % der Codebasen werden Builds sofort fehlschlagen (rote Builds). Sie werden auf Fehler bei nicht initialisierten Eigenschaften, impliziten any-Typen und ungeprüften Null-Werten stoßen.
Entfall der ES5-Unterstützung
Sie können in Ihrer tsconfig.json nicht mehr ES5 oder ES3 als Ziel angeben. Der neue Standard ist ES2025. Wenn Sie alte Browser unterstützen müssen, müssen Sie ein separates Tool wie Babel in Ihre Pipeline integrieren.
Modulauflösung
Der Standard ist nicht mehr CommonJS, sondern ESNext. Wenn Ihr Node.js-Projekt auf implizitem CommonJS-Verhalten basiert, müssen Sie die module-Einstellung in Ihrer Konfiguration explizit festlegen.
So migrieren Sie, ohne Ihre Pipeline zu unterbrechen:
Konfiguration prüfen Überlassen Sie Einstellungen nicht dem Zufall. Fügen Sie explizite Werte für
strict,targetundmodulein Ihrertsconfig.jsonhinzu, bevor Sie das Upgrade durchführen.Version fixieren Fixieren Sie Ihre TypeScript-Version in Ihrer
package.json. Testen Sie Ihren aktuellen Build mit der bestehenden Version, bevor Sie auf 6.0 wechseln.Einen Feature-Branch verwenden Installieren Sie TypeScript 6.0 in einem neuen Branch. Aktualisieren Sie Ihr
targetauf ES2025 und legen Sie Ihren Modultyp eindeutig fest.Typen schrittweise korrigieren Führen Sie den Compiler ohne Dateiausgabe aus, um alle Fehler zu sehen. Konzentrieren Sie sich zuerst auf
strictNullChecksund Fehler durch impliziteany-Typen.Alles testen Führen Sie Ihre vollständige Testsuite aus. TypeScript erkennt Typfehler, aber Ihre Tests erkennen Logikfehler, die durch die neue Strenge verursacht werden.
TypeScript 6.0 ist der letzte Schritt vor dem Rewrite auf Version 7.0. Version 7.0 wird einen nativen Go-Kern verwenden. Das bedeutet, dass die Unterstützung für Legacy-Code vollständig verschwinden wird.
Modernisieren Sie Ihre Codebasis jetzt, um eine spätere Krise zu vermeiden.
Quelle: https://dev.to/davekurian/typescript-60-launches-strict-mode-by-default-and-drops-es5-support-n31