In March 2025, the TypeScript team at Microsoft announced what may be the most significant change in the language's twelve-year history: a complete rewrite of the TypeScript compiler in Go. The project, which has been under development internally for over a year, aims to deliver a ten-fold improvement in build performance while maintaining full compatibility with existing TypeScript codebases.
Why Go, and Why Now
The current TypeScript compiler, known as tsc, is itself written in TypeScript and runs on Node.js. This was a pragmatic choice when the language was young, since the team could dogfood their own product. But as TypeScript adoption has exploded, the performance ceiling of a JavaScript-based compiler has become a real bottleneck. Large enterprise monorepos with millions of lines of TypeScript code routinely face build times measured in minutes, and editor responsiveness degrades as project size grows.
The team considered several languages for the rewrite, including Rust and C++. They ultimately chose Go for its combination of strong concurrency primitives, fast compilation, garbage collection, and a familiar syntax that makes it accessible to a broad pool of contributors. According to the TypeScript team lead Anders Hejlsberg, who announced the project, the Go implementation leverages goroutines for parallel type checking across files, which is where the bulk of the performance gain comes from.
Performance Benchmarks
Early benchmarks are striking. The TypeScript team tested the Go compiler against several well-known open-source projects and reported consistent speed improvements. The Visual Studio Code codebase, one of the largest public TypeScript projects, saw its type-checking time drop from around sixty-five seconds to under eight seconds. Playwright's codebase went from approximately eight seconds to under one second. For developers working in large codebases, these numbers translate to a fundamentally different editing experience: autocompletion becomes instant, go-to-definition stops hanging, and the red squiggly underlines appear as fast as you can type.
Compatibility and the Transition Path
The Go-based compiler is designed to be a drop-in replacement. It reads the same tsconfig.json files, supports the same compiler options, and produces identical JavaScript output. The team has been running the new compiler against the TypeScript test suite, which includes over seventy-five thousand test cases, and reports that compatibility is already above ninety-nine percent. The remaining gaps are primarily edge cases in rarely used declaration emit scenarios.
The transition will be gradual. The existing Node.js-based compiler will continue to receive maintenance updates, and the Go compiler will ship as an opt-in preview before becoming the default. The team expects the preview to be available in a future TypeScript release, with the full transition completing over the following year.
What This Means for the Ecosystem
The ripple effects extend well beyond raw build speed. Faster type checking means CI pipelines run shorter, developer machines stay cooler, and the barrier to enabling strict type checking across an entire codebase drops significantly. Editor plugins and language server clients will benefit immediately, since the language server protocol implementation will use the same Go-powered engine. For the broader JavaScript ecosystem, this move signals that TypeScript is investing in long-term infrastructure to remain the dominant typed-JavaScript solution for decades to come.



