← Back to all briefs
TypeScript55s read

TypeScript 7.0 Beta Ships, Go Compiler Compiles VS Code in 7.5 Seconds

The Go-native `tsgo` compiler is now in public beta. On the 1.5M-line VS Code codebase: 7.5s vs 77.8s for the JS compiler. Language service startup drops from 9.6s to 1.2s. Memory use cut roughly in half.

The TypeScript team released the public beta of TypeScript 7.0, confirming the performance numbers first teased at the April 22 announcement. The Go-based tsgo CLI is now installable as @typescript/native-preview@beta, and the benchmarks are real.

Real-world numbers

Metric tsc 6.0 (JS) tsgo 7.0 (Go) Improvement
VS Code compilation 77.8s 7.5s ~10x
Language service startup 9.6s 1.2s ~8x
Memory (large projects) ~4.5GB ~2.2GB ~50% less

The compiler uses shared-memory multi-threading, Go's goroutine scheduler distributes type-checking work across all available cores. The old JavaScript compiler was single-threaded.

What you need to do

TypeScript 6.0 was the bridge release. Before upgrading to 7.0, ensure:

  1. types: ["node"], explicit types array (6.0 changed the default to [], which breaks global type resolution)
  2. rootDir: "./src", explicit root directory (6.0 defaulted to config directory)
  3. ignoreDeprecations: "6.0", suppress warnings for features removed in 7.0: ES5 target, moduleResolution node/classic, baseUrl, outFile, AMD/UMD/SystemJS, import assertion syntax
  4. strict: true, now the default for new projects in 6.0+

Test before you commit

npm install -D @typescript/native-preview@beta
npx tsgo --noEmit

Run tsgo in CI alongside tsc to catch issues before the stable release. The Go compiler is stricter about some edge cases, particularly with generic type inference chains.

The bottom line

The 10x isn't marketing, it's reproducible on any large TypeScript codebase. The migration path is straightforward if you've already done the TypeScript 6.0 config changes. Test with tsgo now; TypeScript 7.0 stable is expected within months.