𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁 𝟲.𝟬 𝗕𝗿𝗲𝗮𝗸𝘀 𝗕𝘆 𝗗𝗲𝘀𝗶𝗴𝗻

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:

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:

  1. Konfiguration prüfen Überlassen Sie Einstellungen nicht dem Zufall. Fügen Sie explizite Werte für strict, target und module in Ihrer tsconfig.json hinzu, bevor Sie das Upgrade durchführen.

  2. 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.

  3. Einen Feature-Branch verwenden Installieren Sie TypeScript 6.0 in einem neuen Branch. Aktualisieren Sie Ihr target auf ES2025 und legen Sie Ihren Modultyp eindeutig fest.

  4. Typen schrittweise korrigieren Führen Sie den Compiler ohne Dateiausgabe aus, um alle Fehler zu sehen. Konzentrieren Sie sich zuerst auf strictNullChecks und Fehler durch implizite any-Typen.

  5. 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