General Availability — 8. Juli 2026

TypeScript 7.0

Der komplette Go-Rewrite. 10× schneller. Gleiche Typ-Semantik. Neue Engine unter der Haube.

Project Corsa
🚀 Microsoft
📦 npm: typescript@7

TL;DR: TypeScript 7 ist kein Feature-Release. Es ist derselbe Compiler, noch einmal geschrieben — in Go statt in TypeScript. Struktur und Logik blieben erhalten, beide Compiler liefern identische Ergebnisse. Was sich ändert: nativer Maschinencode statt JavaScript, echte Threads mit gemeinsamem Speicher statt Single-Thread-Node. Für Millionen-Zeilen-Codebases der Unterschied zwischen "Kaffeepause" und "sofort da".

⚡ Performance

Microsofts eigene Messungen auf öffentlichen Codebases, vollständiger Build, Standardeinstellung --checkers 4:

~10×
Schnelleres Compiling
~50%
Weniger RAM
8×
Schnellerer IDE-Start
99.9%
Feature-Parität
CodebaseTS 6 (tsc)TS 7 (tsgo)FaktorSpeicher
VS Code (1,5M LOC)125,7 s10,6 s11,9×−18%
Sentry139,8 s15,7 s8,9×−6%
Bluesky24,3 s2,8 s8,7×−26%
Playwright12,8 s1,47 s8,7×−11%
tldraw11,2 s1,46 s7,7×−15%

Quelle: Microsoft TypeScript Team, eigene Benchmarks, Juli 2026

⚠️

Der teure Teil: Keine stabile API in 7.0

Die gesamte JavaScript-basierte Compiler-API (ts.createProgram, ts.TypeChecker, etc.) existiert in TS 7.0 nicht. Tools wie ts-morph, tsup --dts, typescript-eslint und ts-jest sind inkompatibel. Die neue API ist für 7.1 angekündigt.

🔧 Installation

Kein separater Binary mehr nötig. Das Standardpaket liefert ab sofort den Go-Compiler.

# Stabiles TypeScript 7 npm install -D typescript npx tsc --version # Nightlies der 7er-Linie npm install -D typescript@next # Type-Check ohne Emit (empfohlen für CI) npx tsc --noEmit

Im Editor läuft alles über LSP. Für VS Code gibt es eine eigene Extension (TypeScriptTeam.native-preview), die sich automatisch als Standard setzt. Über die Befehlspalette lässt sie sich mit "Disable TypeScript 7 Language Server" abschalten.

🛠️ Parallelisierung steuern

TypeScript 7 nutzt standardmäßig 4 parallele Checker-Worker. Die Dateien werden per Round-Robin aufgeteilt — reproduzierbar, auch wenn manche Arbeit doppelt gemacht wird.

# Standard: 4 Checker npx tsc # Mehr Kerne, mehr Tempo, mehr Speicher npx tsc --checkers 8 # CI-Runner mit wenig RAM: keine Doppelarbeit npx tsc --checkers 1 # Monorepo: mehrere Projekte gleichzeitig bauen npx tsc --build --checkers 4 --builders 4 # bis zu 16 Checker! # Alles seriell — zum Debuggen und Vergleichen npx tsc --singleThreaded
FlagWirkungKosten
--checkers nType-Checker-Worker (Default: 4)Speicher, Doppelarbeit
--builders nParallele Projekte unter --buildMultipliziert mit --checkers
--singleThreadedAlles seriell, auch Parsing und EmitVolle Geschwindigkeit weg
⚠️

Einheitliche Checker-Anzahl über alle Umgebungen

In seltenen Fällen kann eine unterschiedliche Anzahl Checker reihenfolgeabhängige Ergebnisse sichtbar machen. Deshalb: eine feste Zahl über alle Umgebungen hinweg festlegen — lokal, CI und Release-Build sollten denselben Wert verwenden.

💥 Breaking Changes

TS 7 übernimmt alle Deprecations aus TS 6 als harte Fehler. Wer noch auf TS 5 sitzt, muss zweistufig migrieren.

OptionStatusMigration
strictDefault: trueExplizit "strict": false setzen wenn nötig
typesDefault: []Explizit setzen: ["node", "jest"]
target: es5EntferntMinimum: es2015. Legacy via Babel/esbuild downstream
moduleResolution: node/node10Entferntnodenext oder bundler
AMD / UMD / SystemJSEntferntAuf ESM migrieren
baseUrlEntferntPräfixe in paths-Einträge ziehen
outFileEntferntRollup, esbuild, Vite oder Webpack
downlevelIterationEntferntErsetzlos streichen
rootDirDefault: ./Explizit setzen, sonst landet Output in dist/src/

stableTypeOrdering — Warum das wichtig ist

TypeScript vergab interne Typ-IDs bisher in der Reihenfolge, in der Typen dem Compiler begegneten — und sortierte Unions danach. Eine unbeteiligte const weiter oben in der Datei konnte den emittierten Union-Typ von 100 | 500 zu 500 | 100 drehen.

Bei parallelem Type-Checking wäre diese Reihenfolge nicht mehr deterministisch. TypeScript 7 sortiert deshalb inhaltsbasiert und deterministisch. In 6.0 kann man dieses Verhalten mit --stableTypeOrdering vorab einschalten — kostet dort bis zu 25% Checkzeit, ist aber während der Migration die ehrlichste Vergleichsbasis.

🌐 JavaScript & JSDoc — Was sich geändert hat

Der Go-Compiler hat die JavaScript-Unterstützung bewusst aufgeräumt. Vieles war über Jahre gewachsen und an Closure-Konventionen orientiert; jetzt wird JavaScript weitgehend so analysiert wie TypeScript.

FeatureStatusErsatz
Werte als Typen (in JS)Entfernttypeof someValue
@enumEntfernt@typedef auf (typeof Enum)[keyof typeof Enum]
Alleinstehendes ?Entferntany
@classEntferntEchte class-Deklaration
Postfix !EntferntSchlicht T
Closure-FunktionssyntaxEntfernt(s: string) => void
Closure header filesEntfernt—

Quelle: CHANGES.md im typescript-go-Repository (Context7)

📊 Status-Übersicht: Was funktioniert?

Offizieller Status aus dem TypeScript-Go-Repository:

FeatureStatusNotiz
Program creationDoneGleiche Dateien, nicht alle Resolution-Modes
Parsing/ScanningDoneExakt gleiche Syntax-Fehler wie TS 6.0
Type checkingDoneGleiche Fehler, Orte, Meldungen
JSXDone—
Emit (JS Output)Done—
Declaration emitDone—
Build mode / Project ReferencesDone—
Incremental buildDone—
Watch modePrototypeRebuilds, aber kein incremental rechecking
Language Service (LSP)In ProgressFast alle Features implementiert
APINot ReadyFür 7.1 angekündigt

Quelle: README.md, microsoft/typescript-go (Context7)

🛤️ Der Migrationspfad

Microsoft empfiehlt eine viertufige Migration. Wer direkt von 5.x auf 7.0 springt, bekommt die Brüche von zwei Major-Versionen gleichzeitig auf den Tisch.

Phase 0 — Grundlage schaffen

Phase 1 — Konfiguration bereinigen

Phase 2 — strict und Reihenfolge

Phase 3 — 7.0 daneben stellen

Das Side-by-Side-Muster

Microsoft hat das Paket @typescript/typescript6 veröffentlicht — bringt eine Binary tsc6 und re-exportiert die vollständige 6.0-API:

// package.json { "devDependencies": { // tsc -> TypeScript 7 (schnell, für Check und Build) "@typescript/native": "npm:typescript@^7.0.2", // tsc6 -> TypeScript 6 (API-Oberfläche für Linter, Jest, Volar) "typescript": "npm:@typescript/typescript6@^6.0.2" } }

🔮 Was als Nächstes kommt

Mit 7.0 ist der Port abgeschlossen, und das Team kehrt zur normalen Arbeit zurück: neue Sprachfeatures, Ergonomie, weitere Performance — und die neue API. Die Kadenz soll wieder bei einem Release alle drei bis vier Monate liegen.

Die wichtigste Zahl für die Planung ist deshalb nicht 8× oder 12×, sondern 7.1. Bis dahin ist TypeScript 7 ein hervorragender Type-Checker und Editor-Motor mit einem Loch in der Werkzeugkette. Danach ist es einfach TypeScript.

Empfehlung: Upgrade auf TS 6 jetzt. Teste TS 7 mit @typescript/native-preview. Stelle CI auf tsc --noEmit um (10× schneller). Behalte TS 6 für Emit und API-Tools bei. Sobald 7.1 mit stabiler API da ist, fällt die zweite Hälfte weg.