PAS7 Studio
Zurück zu allen Artikeln

TypeScript 6.0: was sich wirklich geändert hat, was nach dem Upgrade bricht und ob sich das Update jetzt schon lohnt

Eine praktische Analyse von TypeScript 6.0 nach dem Release im März 2026: neue Standardwerte, interne Änderungen, warum Builds oft schneller wurden, wo die Migration am meisten weh tut, wie man von TypeScript 5 ohne Überraschungen wechselt und was über TypeScript 7 und Microsofts nativen Kurs schon sichtbar ist.

Geeignet fürFrontend- und Full-Stack-EntwicklerTech LeadsTeams mit MonoreposLeute, die tsconfig und Build-Tooling pflegen
TypeScript 6.0 als großes Compiler-Update und Brücke zu TypeScript 7

TypeScript 6.0 sollte man nicht als Sammlung kleiner Features lesen, sondern als Release, in dem das Team alte Defaults endlich konsequenter zurückdrängt. Darum werden manche Projekte einfach schneller, während andere zum ersten Mal sehen, wie viel ihres Setups auf stillschweigenden Annahmen beruhte.

Die wichtigste praktische Änderung ist hier nicht Syntax, sondern Konfiguration: strict, module, target, types, rootDir und weitere Defaults verhalten sich nicht mehr wie in 5.x. [1][2]
Der größte direkte Gewinn für viele Teams kommt daher, dass types jetzt standardmäßig ein leeres Array ist. In den Release Notes schreibt das Team, dass manche Projekte dadurch 20-50% schnellere Builds gesehen haben. [2]
Der größte Denkfehler beim Release ist, nur auf Breaking Changes zu schauen und zu übersehen, dass TypeScript 6 zugleich ein Vorbereitungsrelease für TypeScript 7 und die native tsgo-Linie ist. [1][3][4]
Wenn Ihr Stack modern und Ihre tsconfig sauber ist, kann man jetzt schon upgraden. Wenn das Projekt jahrelang auf impliziten globalen Typen und alten Modulmodi gelebt hat, braucht das Upgrade einen Migrationsplan und nicht nur Hoffnung. [1][2]

Im März 2026 hat Microsoft TypeScript 6.0 veröffentlicht. Praktisch gesehen ist das kein Release rund um ein einziges großes Feature. Es ist ein Release mit neuen Grundregeln. Das Team hat Defaults geändert, einen Teil alten Konfigurationsballasts entfernt und das Ökosystem zu einem moderneren Ausgangspunkt geschoben. [1][2]

Das merkt man schon am Ton der offiziellen Ankündigung. Sie versucht nicht, das Release als etwas Magisches zu verkaufen. Stattdessen benennt sie offen die Stellen, die Teams zuerst anfassen müssen: types, rootDir und alte Annahmen über Compiler-Defaults. Das ist unbequem, aber so sehen reife Infrastruktur-Releases oft aus. [1]

Wichtig ist auch: TypeScript 6 steht nicht für sich allein. Man muss es zusammen mit der Richtung auf TypeScript 7 lesen. Schon 2025 erklärte das Team, dass 6.x die JavaScript-Linie mit Übergangs-Deprecations sein würde, während 7.x die native Richtung mit tsgo, neuer Architektur und deutlich schnellerem Type-Checking tragen soll. [3][4]

TypeScript 6 schließt alte Defaults ab und bereitet den Weg zu TypeScript 7 vor. [1][3][4]

Screenshot des Abschnitts what-released

Der interessanteste Teil von TypeScript 6 liegt nicht in der Oberfläche, sondern darin, wie das Team Defaults und interne Kosten großer Repositories neu bewertet hat.

types zieht nicht mehr alles mit

Das ist die nützlichste Änderung für echte Monorepos. Früher konnte TypeScript alles durchsuchen, was unter node_modules/@types lag. In 6.0 wurde der Default für types zu [], was unnötige Compiler-Arbeit direkt reduziert. Laut Team waren bei manchen Projekten 20-50% schnellere Builds drin. [2]

rootDir verhält sich nicht mehr wie Magie

Standardmäßig ist rootDir jetzt das Verzeichnis der tsconfig.json und nicht mehr stillschweigend ein berechneter gemeinsamer Source-Root. Das ist für alte Gewohnheiten unbequemer, aber für große Repos, Output-Strukturen und Watch-Verhalten viel berechenbarer. [1][2]

Modernes JavaScript ist nicht mehr der Sonderfall

strict ist jetzt standardmäßig aktiv. module ist standardmäßig esnext. target folgt nun dem neuesten stabilen ECMAScript, aktuell es2025. TypeScript 6 tut also nicht mehr so, als wären die alten Defaults immer noch die normale Welt. [1]

Weniger Legacy, weniger doppeldeutige Modi

In 6.0 werden mehrere alte Modi und Gewohnheiten Richtung Ausgang geschoben: target: es5, ältere module-Werte, moduleResolution node10 und baseUrl als langjährige Krücke statt moderner Auflösung. Das ist keine Kosmetik. Es reduziert die Zahl der Altwelten, die der Compiler weiter mitschleppen muss. [2][4]

TS 6.0 besteht nicht nur aus schmerzhaften Konfigurationsänderungen. Es gibt auch echte Sprach- und Plattform-Verbesserungen, die mit der Zeit einfach normal wirken werden.

  • Unterstützung für import attributes. Das ist wichtig für plattformnahe Toolchains und moderne ESM-Pipelines. [2]

  • Unterstützung für export defer. Noch keine Alltagsfunktion für jeden, aber relevant für die langfristige Entwicklung der Modulsemanik. [2]

  • Neues --module node20. Noch ein Signal dafür, dass sich TypeScript stärker an realem Node-Verhalten orientiert statt an einer abstrakten Mischwelt. [2]

  • Neue Typen für Temporal. Sie wirken klein, bis man in einem echten Datums- und Zeitbereich zuverlässige Plattform-Typen braucht. [2]

  • lib.dom.iterable und lib.dom.asynciterable sind faktisch in dom enthalten. Ein kleiner, aber gesunder Schritt zu weniger nerviger tsconfig. [2]

Für die meisten Teams schmerzt dieses Release nicht wegen der Sprache, sondern wegen angesammelter Konfigurationsschulden. Genau hier legt TypeScript 6 reale Projektprobleme offen. [1][2][4]

Plötzlich tauchen Fehler rund um process, jest, describe oder eingebaute Node-Module auf. Sehr oft bedeutet das, dass man jetzt "types": ["node"] oder einen anderen benötigten Typ-Satz explizit hinzufügen muss. [1][2]

Das Build legt Dateien plötzlich in seltsame Pfade wie dist/src/... statt in die erwartete Struktur. Meist ist das das Zeichen, dass rootDir explizit gesetzt werden muss. [1]

Ein Projekt, das jahrelang ohne strict lebte, fängt plötzlich an, überall zu meckern. Das ist kein Bug. In 6.0 wurde strict zum Default, also muss man den höheren Anspruch akzeptieren oder bewusst zurückstellen. [1]

Legacy-Konfiguration wie baseUrl ohne moderne Modulauflösung oder alte Modulmodi verschwindet nicht sofort, sieht aber inzwischen klar wie technische Schuld aus, die vor 7.0 bereinigt werden sollte. [2][4]

Manche Teams halten die Performance-Gewinne für Magie und verpassen den eigentlichen Punkt. Um wirklich zu gewinnen, muss man tsconfig so bereinigen, dass der Compiler schlicht weniger unnötige Arbeit macht. [2]

Kurz gesagt

Die beste Art, das Upgrade auf 6.0 zu überleben, ist kein Heldentum, sondern ein kurzer Migrationssprint, der types, rootDir, strict und alte Optionen vor dem Rollout prüft.

Diese Reihenfolge funktioniert in der Regel besser, als einfach die Version zu erhöhen und dann zu schauen, was explodiert.

Den aktuellen Build- und Type-Check-Stand in CI festhalten

Man braucht einen Referenzpunkt. Ohne ihn kann man neue Release-Probleme nicht sauber von alter Projektschuld trennen.

types explizit definieren

Mindestens node, jest, vitest, bun-types, vite/client oder andere globale Typquellen prüfen, auf die das Projekt wirklich angewiesen ist. [1][2]

rootDir explizit setzen, wenn src/, Monorepo oder ein spezieller outDir genutzt werden

In 5.x lebte das oft von stiller Inferenz. In 6.0 sollte man sich darauf besser nicht mehr verlassen. [1][2]

Eine klare Entscheidung zu strict treffen

Im Produktivbetrieb ist eine bewusste Entscheidung besser als eine stille repo-weite Änderung der Prüfqualität. [1]

Alte Einstellungen für module, moduleResolution, baseUrl und target prüfen

Genau diese Stellen sollten jetzt modernisiert werden, wenn man dieselbe Arbeit nicht kurz darauf noch einmal unter 7.0-Druck machen will. [2][4]

Das Upgrade zuerst auf ein großes Paket oder einen App-Einstiegspunkt rollen

So behält man echte Kontrolle über Regressionen und sieht schneller, wo die eigentlichen Konfigurationsschulden liegen.

TypeScript 6 ist nicht für jedes Team gleich attraktiv. Die echte Antwort hängt davon ab, wie modern Ihre Konfiguration schon ist und wie stark große Repositories unter Compiler-Kosten leiden.

Jetzt upgraden

Moderner Node- oder Bundler-Stack, ESM oder nah daran, explizite Umgebungstypen, wenig Legacy-Konfig und ein echter Bedarf, Compiler-Rauschen zu senken und das Team auf 7.0 vorzubereiten.

Nach einem kurzen Cleanup-Sprint upgraden

Ein Monorepo, in dem tsconfig über Jahre gewachsen ist, das Team aber ein paar Tage investieren kann, um types, rootDir, baseUrl und Modul-Einstellungen aufzuräumen.

Erst die Basis stabilisieren

Ein älteres Projekt ohne strict, mit vielen globalen Typen, alten Auflösungsmodi und empfindlichen Build-Pipelines. Hier ist ein Upgrade ohne Vorbereitung fast sicher chaotisch.

Comparison pointTypeScript 5.xTypeScript 6.0
typesDurchsucht oft still alles unter @typesDefault ist [], wichtige Globals sollten explizit genannt werden
strictStandardmäßig falseStandardmäßig true
rootDirOft aus dem Source-Tree inferiertStandardmäßig das Verzeichnis der tsconfig.json
moduleÄltere Defaults lebten länger parallelDer Default bewegt sich Richtung esnext und modernes ESM
Umgang mit LegacyMehr Kompatibilitätsmodi wurden weitergetragenMehr Deprecations als Vorbereitung auf 7.0

Diskussionen in der Community zeigen oft am besten, wo reale Schmerzen erwartet werden und wo der größte praktische Nutzen liegt.

Wenn man 6.0 nur als weiteres Compiler-Release betrachtet, übersieht man leicht die größere Geschichte. TypeScript 6 existiert auch, um das Ökosystem auf 7.0 vorzubereiten. Das Team spricht seit der Ankündigung des nativen Ports ziemlich offen darüber. [3]

Im Fortschrittsupdate zu TypeScript 7 vom Dezember 2025 schrieb das Team, dass tsgo schon verlässlich für Type-Checking nutzbar sei, dass --build, project references und --incremental sich ernsthafter Parität nähern und dass manche Voll-Builds bereits ungefähr 10x schneller seien als in der 6.0-Linie. [4]

Aber auch das ist kein Märchen. Im selben Update ist das Team offen über API-Unterschiede und darüber, dass einige Deprecations aus 6.0 in 7.0 härter werden. Der saubere Blick auf TypeScript 6 ist daher: ein Übergangsfenster, in dem Teams ihre Konfiguration modernisieren können, bevor die native Ära zur Standarderwartung wird. [4]

TypeScript 6 ergibt mehr Sinn als Vorbereitungsrelease. Die strategische Hauptrichtung zeigt bereits sichtbar auf TypeScript 7 und tsgo. [3][4]

Screenshot des Abschnitts typescript-7

TypeScript 6.0 wurde nicht veröffentlicht, damit sich alle wohlfühlen. Es wurde veröffentlicht, damit der Compiler alte Gewohnheiten nicht ewig weitertragen muss. In diesem Sinn ist es ein sehr ehrliches Release.

Wenn Ihr Projekt bereits modern und diszipliniert ist, ist ein Upgrade auf 6.0 jetzt nachvollziehbar. Sie bekommen eine berechenbarere tsconfig, weniger verschwendete Arbeit rund um globale Typen und einen saubereren Weg in das, was TypeScript 7 für Ihren Stack bedeuten wird.

Wenn das Repository jahrelang auf impliziten Defaults beruhte, wird TypeScript 6 das einfach sichtbar machen. Auch das ist nützlich. Es ist viel besser, Konfigurationsschulden unter 6.0 zu entdecken, als ihnen später zu begegnen, wenn das Team ernsthaft tsgo und die native Linie einsetzen will.

Muss man jetzt sofort auf TypeScript 6.0 wechseln?

Nein. Aber wenn der Stack bereits modern ist und Sie die tsconfig ohnehin aufräumen wollten, gibt es wenig Grund, das lange aufzuschieben. Wenn das Repository stark an alten Defaults hängt, sollte die Migration als eigener technischer Schritt geplant werden.

Was ist die wichtigste praktische Änderung in TypeScript 6.0?

Für viele Teams ist es das neue Verhalten von `types`. Dort entsteht oft der Performance-Gewinn, aber genau dort müssen Teams nun auch expliziter angeben, von welchen globalen Typumgebungen das Projekt wirklich abhängt.

Ist TypeScript 6.0 reif genug für den produktiven Einsatz?

Ja, mit einem normalen Migrationsansatz. Das ist kein Release für ein blindes Upgrade. Prüfen Sie zuerst `types`, `rootDir`, `strict`, Modulmodi und CI.

Was weiß man derzeit über TypeScript 7?

Das Team hat bereits deutliche Fortschritte auf der nativen `tsgo`-Linie gezeigt: Type-Checking, `--build`, project references und `--incremental` bewegen sich Richtung starker Parität, und einige Benchmarks liegen bereits nahe an einem 10x-Speedup. Gleichzeitig gibt es noch API-Unterschiede und Arbeit an der Ökosystem-Kompatibilität.

Geprüft: 11. Apr. 2026Gilt für: TypeScript 6.0Gilt für: Node.js-ToolchainsGilt für: ViteGilt für: Next.jsGilt für: MonoreposGetestet mit: TypeScript 6.0 release notesGetestet mit: TypeScript Dev BlogGetestet mit: TypeScript 7 progress update

Verwandte Artikel

growth

AI SEO / GEO im Jahr 2026: Ihre nächsten Kunden sind nicht Menschen — sondern Agents

Suche verschiebt sich von Klicks zu Antworten. Bots und AI-Agents crawlen, zitieren, empfehlen — und kaufen zunehmend. Erfahren Sie, was AI SEO / GEO bedeutet, warum klassisches SEO nicht mehr reicht und wie PAS7 Studio Marken im agentischen Web sichtbar macht.

blogs

Der leistungsstärkste Chip von Apple? M5 Pro und M5 Max brechen Rekorde

Eine Analyse zu Apple M5 Pro und M5 Max im März 2026. Wir zeigen, warum diese Chips als die stärksten professionellen Laptop-SoCs von Apple gelten können, wie sie sich gegen M4 Pro, M4 Max, M1 Pro, M1 Max schlagen und was der Vergleich mit aktuellen Intel- und AMD-Chips zeigt.

blogs

Artemis II und der Code, der Menschen zum Mond trägt

Dieser Beitrag erklärt die NASA-Mission Artemis II, die am 1. April 2026 gestartet ist, und zeigt, was sie wirklich über moderne Technik erzählt: Flugsoftware, Backup-Logik, Simulationen, Telemetrie, menschliche Kontrolle und die vorsichtige Rolle von KI in Raumfahrtsystemen.

telegram-media-saver

Automatisches Tagging und Suche für gespeicherte Links

Integration mit GDrive/S3/Notion für automatisches Tagging und schnelle Suche über Such-APIs

Professionelle Entwicklung für Ihr Geschäft

Wir erstellen moderne Web-Lösungen und Bots für Unternehmen. Erfahren Sie, wie wir Ihnen helfen können, Ihre Ziele zu erreichen.