Back to blog

Microsoft Is Rewriting TypeScript in Go: 10x Faster Performance

Hello HaWkers, one of the most impactful news of late 2025 came directly from the TypeScript team at Microsoft. The company announced that it is completely rewriting the TypeScript compiler and language service in Go, promising performance improvements of up to 10x compared to the current version.

Have you ever waited minutes for your TypeScript project to compile? Have you felt the frustration of watching VS Code freeze while trying to provide autocomplete in a large file? Well, Microsoft heard those complaints.

What Is Happening

The news came through an official post on the TypeScript blog in December 2025, revealing the significant progress the team has made on the compiler rewrite. The project, internally called TypeScript 7, represents the biggest architectural change in the language's history.

Why Go?

The choice of Go as the target language was not random. The Microsoft team evaluated several options and chose Go for the following reasons:

Advantages of Go for TypeScript:

  • Native compilation to efficient binaries
  • Optimized and predictable garbage collector
  • Excellent concurrency support with goroutines
  • Easy distribution (single binary)
  • Performance close to C/C++ with high productivity

The current version of TypeScript is written in TypeScript (self-hosted), which means the compiler depends on Node.js to run. This brings performance overhead that the new version completely eliminates.

The Numbers That Impress

According to the benchmarks released by Microsoft, TypeScript 7 shows drastic improvements:

Performance Comparison

Full build (medium project ~100k lines):

  • TypeScript 6.0: ~45 seconds
  • TypeScript 7.0: ~4.5 seconds
  • Improvement: 10x faster

Incremental build:

  • TypeScript 6.0: ~8 seconds
  • TypeScript 7.0: ~800ms
  • Improvement: 10x faster

Language service (autocomplete):

  • TypeScript 6.0: ~200ms
  • TypeScript 7.0: ~25ms
  • Improvement: 8x faster

Multi-Threaded Builds

One of the major new features is support for parallel builds. TypeScript 7 can now build multiple projects simultaneously:

Monorepo with 50 projects:

  • TypeScript 6.0: ~12 minutes (sequential)
  • TypeScript 7.0: ~90 seconds (parallel)
  • Improvement: 8x faster

What This Means For Developers

The change brings important implications for the ecosystem:

1. Improved Development Experience

With the language service 8x faster, your IDE will respond instantly. Autocomplete, go-to-definition, and refactoring will work without perceptible lag, even in huge projects.

2. Faster CI/CD

Build pipelines that took minutes will now complete in seconds. For companies with hundreds of builds per day, this represents significant savings in time and computing resources.

3. Full Compatibility

Microsoft guaranteed that the new version maintains 100% compatibility with existing TypeScript code. You won't need to modify anything in your projects to take advantage of the improvements.

How Distribution Will Work

An important practical change is in the distribution method:

Today (TypeScript 6.x):

  • Installed via npm as a Node.js package
  • Requires Node.js to run
  • Interpreted execution

Future (TypeScript 7.x):

  • Available as a native binary
  • Also available via npm (wrapper)
  • Native compiled execution

Microsoft plans to maintain compatibility with the current workflow. You'll still be able to use npm install typescript, but internally the package will run the native binary.

Timeline and Availability

According to the released roadmap:

First half of 2026:

  • Public preview of TypeScript 7
  • Focus on early adopters and feedback

Second half of 2026:

  • Release candidate
  • Extensive compatibility testing

2027:

  • Stable release
  • Gradual deprecation of TypeScript 6.x

Community Reaction

The news divided opinions in the developer community:

Positive arguments:

  • Performance was a frequent complaint
  • Large projects will benefit enormously
  • Go is a solid and pragmatic choice

Concerns raised:

  • Community contributions may decrease (fewer devs know Go)
  • Plugins and extensions will need to be rewritten
  • Learning curve for those who want to contribute

Microsoft responded that they will maintain tools and documentation to facilitate contributions, and that most users will never need to interact directly with the Go code.

Impact on the Ecosystem

Tools that depend on the TypeScript API will need to adapt:

Affected tools:

  • ESLint with typescript-eslint
  • Prettier
  • Bundlers (webpack, rollup, vite)
  • IDEs and editors

Microsoft is working with maintainers of these tools to ensure a smooth transition. The new version will expose compatible APIs that minimize migration work.

Comparison with Other Initiatives

This is not the first time languages have been rewritten for better performance:

Project Original Language New Language Improvement
TypeScript 7 TypeScript Go 10x
Rome/Biome JavaScript Rust 100x
esbuild N/A Go Reference
SWC N/A Rust 20x vs Babel

The trend of rewriting JavaScript tools in compiled languages is consolidating.

What To Do Now

While TypeScript 7 hasn't arrived, you can:

1. Optimize Your Current Projects

Take advantage of features like project references and incremental builds that already exist in the current TypeScript to improve performance.

2. Follow the Development

The TypeScript repository on GitHub will have regular updates on progress. It's worth following to prepare yourself.

3. Test Alternative Tools

Tools like esbuild and SWC already offer fast compilation. You can use them together with tsc for type-checking.

Conclusion

The rewriting of TypeScript in Go represents an important milestone in the language's evolution. Microsoft is making a significant bet on performance, recognizing that compilation speed has become a real bottleneck in modern projects.

For developers, this means a smoother development experience, faster builds, and less time waiting for the compiler. The promised compatibility suggests that the transition will be smooth for most projects.

If you want to prepare for these changes, I recommend checking out another article: Node.js With Native TypeScript Support where you'll discover how the JavaScript ecosystem is evolving to embrace TypeScript more deeply.

Let's go! 🦅

Comments (0)

This article has no comments yet 😢. Be the first! 🚀🦅

Add comments