Contents
In brief
Microsoft announced the TypeScript 7.0 Release Candidate — the first major release on a new foundation: the compiler is rewritten in Go instead of the self-hosted TypeScript codebase. The team promises up to 10× speed vs 6.0 while keeping structural type-checking parity and the ability to run 7.0 alongside 6.0.
What happened
TS 7.0 development took over a year: the existing compiler codebase was ported to Go with the same type-checking logic as 6.0. This is not “a different type system” — same semantic contract, faster runtime.
Install remains via npm as usual. For gradual migration there is @typescript/typescript6: keep the old compiler in the same repo while the team validates 7.0 on CI and in the IDE.
Improvements beyond “just faster”:
- Parallelization — configurable worker count for type-check and project builder; gains show most on large monorepos.
--watch— rebuilt with a new file-watching mechanism (borrowed from Parcel): more stable on macOS/Linux/Windows, fewer spurious full rebuilds.- Structural parity with 6.0 — RC goal: same errors on the same files as the previous major line.
Why it matters
Compiler speed is not a vanity metric: in a monorepo with hundreds of packages, every second of tsc multiplies across every push and every local dev loop. The Go implementation bets on predictable performance and parallelism without rewriting the @types/* ecosystem and tsconfig universe.
RC is when teams should run 7.0 on a representative slice: not only “it builds” but diagnostics match. The 6.0 compatibility package lowers big-bang risk — flip CI in stages (nightly first, then default branch).
In practice
- Install RC on a branch —
npm install typescript@rc(or the version from the announcement) and comparetsc --noEmittime with 6.0. - Use
@typescript/typescript6— if plugins or scripts hard-pin the old binary, keep both until the toolchain stabilizes. - Tune parallelism — on large repos, pick worker count for your CI runner (not “all cores” blindly).
- Exercise
--watchlocally — especially if you previously hit missed changes or extra full rebuilds. - Record diagnostic diffs — any mismatch with 6.0 on RC is worth a TypeScript repo issue while the migration window is open.
| Scenario | Expected gain |
|---|---|
| Small SPA | Faster, not transformative |
| Large monorepo | Up to ~10× on cold build |
Dev --watch |
Less lag, stabler across OSes |
Takeaway
TypeScript 7.0 RC is an infrastructure release: same language for developers, different engine underneath. Start a CI experiment now while RC gathers feedback — and do not postpone comparing diagnostics with 6.0; that diff defines how painless GA will be.