TypeScript 7.0 (Go-rewritten compiler)
Microsoft’s announcement of TypeScript 7.0, now released and installable from npm — the stable follow-up to the June RC this page previously tracked. The headline is unchanged: the compiler has been rewritten from TypeScript/JavaScript into Go, and the RC’s “often ~10× faster” claim now comes with named, real-world numbers. The compiler/toolchain layer of developer-tooling.
The speed numbers (now concrete)
The GA post benchmarks whole-project builds on real codebases, 7.7×–11.9× faster:
- VS Code: 125.7s → 10.6s (11.9×)
- Sentry: 139.8s → 15.7s (8.9×)
- Bluesky: 24.3s → 2.8s (8.7×)
Memory use drops 6%–26%. In-editor, opening a file with errors in VS Code went from 17.5s to under 1.3s
(>13×). Parallelism is tunable via --checkers, --builders, and --singleThreaded; --checkers 8
reached 10.6×–16.7× on large codebases. Adopter testimonials: Slack cut CI typechecking 7.5min → 1.25min
and shed ~40% of merge-queue time; Microsoft News Services reports ~400 hours/month less CI wait;
Vanta up to 9×.
Why “7.0” and how compatible
The major-version jump marks the architectural shift to native code, not a feature wave — the JS codebase continues as the 6.x line. TS7 is “made to be compatible with TypeScript 6.0’s type-checking” while turning 6.0’s new defaults and deprecations into hard errors. So clean, modern 6.0 source is expected to check identically; the breakage is in configuration and legacy targets:
strictis on by default;rootDirdefaults to./;typesdefaults to[](no auto-discovery of@types); ES5 target,downlevelIteration, AMD/UMD modules, andbaseUrlare removed.- A
@typescript/typescript6compatibility package lets 6.0 run alongside 7.0 via npm aliases — the bridge for tools that need the programmatic API (e.g. typescript-eslint).
Known gap and roadmap
The native compiler still lacks a stable programmatic API, so embedded-language frameworks — Vue, Angular, Svelte, Astro, MDX — can’t use TS7 yet; closing that is the headline of 7.1. The team returns to normal cadence, releasing every 3–4 months. Other GA details: a redesigned watch mode built on Parcel’s watcher (ported C++ → Go), and template-literal types that preserve Unicode code points (emoji handled as single units, not surrogate pairs).
Why it’s here — the systems-language-rewrite thread
This is the spoke’s clearest instance of the founding pattern (synthesis): take an established developer-tooling layer and win order-of-magnitude performance by rewriting it in a systems language (Go here, like Rust for lore and C++ for yaff). Compiler speed is a developer-experience lever — typecheck/build latency gates the edit-feedback loop — so an ~10× cut is a workflow change, not just a benchmark. It sits beside v-flat-ast as the compiler corner’s other performance story: TS7 wins speed by changing the compiler’s host language, V wins memory by changing its in-memory layout (flat-ast) — same layer, different lever.
Tier
T1 — first-party Microsoft devblog (the project’s own release announcement). freshness: volatile — a
fresh GA; the speed/memory figures are the vendor’s own, not independently benchmarked here, and the flag
set / API surface will keep moving through 7.1+.
Related
developer-tooling · v-flat-ast · flat-ast · lore · yaff · synthesis ·
typescript (the language — ../programming-languages-wiki, added 2026-08-06; this page owns the
compiler as build infrastructure, that one owns gradual typing and type erasure)