Spokes.wiki Search About
Tech Article source ↗ source url updated Wed Jul 08 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

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:

  • strict is on by default; rootDir defaults to ./; types defaults to [] (no auto-discovery of @types); ES5 target, downlevelIteration, AMD/UMD modules, and baseUrl are removed.
  • A @typescript/typescript6 compatibility 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+.

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)