TypeScript 7 is officially out, and it’s probably the most structurally significant release since the language was created. If you manage large-scale TypeScript projects, you’ll want to understand what’s changing and what it means in practice.
TypeScript 7: A Complete Rewrite, Not Just an Update
On July 8, 2026, Microsoft announced TypeScript 7.0. Behind that version number sits a radical decision: the compiler and language server have been entirely rewritten in Go. This isn’t a performance patch, it’s a fundamental architectural change.
The choice of Go is worth noting. In the build tooling ecosystem, Rust is often the go-to reference for native performance. Microsoft went with Go instead, a language already used by esbuild for similar reasons. The announced result: gains between 8x and 12x on full builds, thanks to native code, shared memory, and multithreading.
Numbers Measured on Real Projects
The announcement isn’t based on artificial benchmarks. Microsoft published data from well-known open source projects.
Here are the build times compared between TypeScript 6 and TypeScript 7:
- VS Code: 125.7s vs 10.6s, 11.9x faster
- Sentry: 139.8s vs 15.7s, 8.9x faster
- Bluesky: 24.3s vs 2.8s, 8.7x faster
- Playwright: 12.8s vs 1.47s, 8.7x faster
Memory usage drops too. Bluesky goes from 1.8 GB to 1.3 GB (-26%). VS Code drops from 5.2 GB to 4.2 GB (-18%). These aren’t marginal gains.
In the editor, the impact is even more striking. On the VS Code codebase, the time between opening a file and seeing the first error went from 17.5 seconds to under 1.3 seconds.
Native Parallelization: The Real Engine Behind the Gains
TypeScript 7 parallelizes several build stages: parsing, type checking, and emit. This isn’t just multithreading bolted on top, it’s a redesign of the compilation pipeline.
Two new flags let you control this behavior:
--checkers: number of type-checking workers (default: 4)--builders: number of parallel builders for project references--singleThreaded: disables all parallelization, useful for debugging or constrained environments
With --checkers 8, VS Code drops to 7.51s for a 16.7x gain. The gains depend on available core count. In CI with limited resources, dialing this parameter down may actually be more effective.
TypeScript 7 and TypeScript 6 Side by Side: How It Works
TypeScript 7.0 doesn’t ship a public API yet. That’s planned for TypeScript 7.1. In the meantime, Microsoft published a compatibility package: @typescript/typescript6. It provides a tsc6 executable and re-exports the TypeScript 6.0 API, which lets tools like typescript-eslint keep working without any changes.
The recommended setup in package.json:
{
"devDependencies": {
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2"
}
}
This coexistence is intentional and documented. It addresses a real need: some tools still depend on the TypeScript 6 API. This isn’t a sign of fragility, it’s a controlled migration strategy.
New Behaviors and Configuration Changes
TypeScript 7 adopts the defaults introduced in 6.0. Several options change their default values, and two deserve particular attention:
rootDirnow defaults to./. Projects wheretsconfig.jsonsits outside ofsrcwill need to specify it explicitly.typesnow defaults to[]. Global declarations (@types/node, @types/jest, etc.) will need to be listed explicitly in your config.
Some options now produce hard errors: target: es5, moduleResolution: node/node10, baseUrl, and module: amd. Migration from TypeScript 6.0 is straightforward. From older versions, you’ll need to go through 6.0 first.
Key Takeaways
- TypeScript 7 is a complete rewrite in Go with real performance gains between 8x and 12x on measured production projects.
- Native parallelization of parsing, type checking, and emit is the main driver of those gains.
- The public API isn’t available yet in 7.0: a compatibility package
@typescript/typescript6allows clean coexistence with tools that depend on it. - The default changes to
rootDirandtypesare the most common friction points during migration. - TypeScript 7 is available right now via
npm install -D typescript. Nightly builds will continue under thetypescript@nexttag.
If you’re working on a sizeable TypeScript project, this release is worth a quick evaluation in a test environment. Feedback from teams at Slack, Canva, Figma, and Vanta is consistent enough that the risk is limited.
Have you already tried TypeScript 7 on your codebase? Migration questions and advanced configuration are exactly the kind of topics I cover regularly here. Follow the blog for more.
