TypeScript 7.0 is now in GA: install it today and compile up to 12x faster

TypeScript 7.0 came out on July 8th, and it’s not just another incremental release — it’s the stable, general availability version of the native compiler in Go that the team has been building for over a year. If you were waiting for the beta label to drop before trying it on a real project, now’s the time.

What Really Changed

TypeScript 7 replaces the old JavaScript-based compiler with a native port written in Go. The result, according to Microsoft’s own benchmarks on a handful of large open-source codebases, is a full build speedup of between 8x and 12x:

Codebase TypeScript 6 TypeScript 7 Speedup
vscode 125.7s 10.6s 11.9x
sentry 139.8s 15.7s 8.9x
bluesky 24.3s 2.8s 8.7x
playwright 12.8s 1.47s 8.7x
tldraw 11.2s 1.46s 7.7x

It’s worth clarifying: these are self-reported numbers by Microsoft on projects they themselves chose, not independent third-party benchmarks — but the methodology (concrete before/after times on named and verifiable repos) is solid enough to take seriously. Several teams (Slack, Vanta, Canva, PowerBI) shared similar results in Microsoft’s post, though those quotes were also curated by Microsoft and not independently verified.

Memory usage also went down — between 6% and 26% less peak memory on the same test set, depending on the project.

Installing It Today

No separate package, no opt-in flag. TypeScript 7 ships under the same typescript package as always:

npm install -D typescript

That gives you the new tsc binary directly — no tsgo prefix, no need for a preview extension for the CLI.

What Changes in Your Editor

If you’re using VS Code, install the TypeScript 7 extension and it becomes your default language server immediately (you can revert with “Disable TypeScript 7 Language Server” from the command palette if something breaks). VS Code will integrate this support natively in the coming weeks. If you’re using Visual Studio, it’s automatic based on your workspace — there’s nothing to configure.

The language server now runs over LSP instead of the old custom TSServer protocol, and it’s multithreaded — that’s why editor operations like find-all-references and diagnostics feel almost instantaneous on large codebases, not just on full builds.

Two Flags Worth Knowing

  • --checkers N — controls how many type-checking workers run in parallel (default 4). Bumping it to 8 on more powerful machines brought the vscode build to 16.7x in Microsoft’s tests, at the cost of more memory.
  • --singleThreaded — disables parallelization completely. Useful for debugging or running it in resource-constrained environments, like some CI runners.

Before Migrating: What Actually Breaks

TypeScript 7 inherits the new defaults from TypeScript 6.0, and treats several deprecated flags from 6.0 as hard errors instead of warnings. The two things most likely to catch you off guard:

  • rootDir now defaults to ./ — if your tsconfig.json lives outside a folder like src, you’ll need to set rootDir explicitly.
  • types now defaults to [] instead of pulling everything in @types — you’ll need to list the packages you actually use (for example, "types": ["node", "jest"]).

Completely removed, no fallback: target: es5, moduleResolution: node/classic, module: amd/umd/systemjs, and baseUrl.

If You Still Depend on the Old API

TypeScript 7.0 doesn’t yet include a programmatic API — that comes with 7.1. If your tooling (like typescript-eslint) still needs the 6.0 API, Microsoft published a compatibility package, @typescript/typescript6, so you can run tsc on 7.0 while other tools continue using the old API via an npm alias. The same goes if you work with Vue, Astro, Svelte, or Angular — those ecosystems still depend on the TypeScript 6.0 API under the hood, so you’re not completely free to migrate if your tooling depends on them.

Should You Migrate Now?

For direct builds with tsc and editor use, yes — both the CLI and language server are described as production-ready, and there’s a compatibility path for anything that still needs the old API. If your stack depends on tools that embed the TypeScript compiler directly, it’s worth waiting for the 7.1 API before going all-in.