Microsoft has shared a progress update on TypeScript 7, codenamed Project Corsa, revealing a fundamental transformation of the TypeScript compiler. The update, published in December 2025, details the team’s ambitious rewrite of the TypeScript compiler in Go, promising performance improvements of up to 10x faster build times and significantly reduced memory usage.
The new native compiler, called tsgo, leverages Go’s performance characteristics to deliver substantial speed improvements. According to the TypeScript team, full builds can be up to 10x faster compared to previous versions, with efficient parallel processing capabilities for multiple projects. The native language service, which powers editor features like completions, definitions, and refactoring, is largely stable and available for daily use.
It is possible to try out the new preview now:
npm install -g @typescript/native-preview
One of the most significant changes in TypeScript 7 is the decision to enable strictness by default, representing a breaking change from previous versions. This shift reflects the team’s commitment to type safety and follows industry best practices, though it may require adjustments for projects upgrading from earlier versions.
The choice of Go as the implementation language has generated extensive discussion within the developer community. The decision was outlined in a detailed FAQ, explaining that Go provides automatic garbage collection while remaining the most native-first language available. The post also noted that the existing TypeScript codebase uses a highly functional style with minimal classes, making Go’s function and data structure approach a more natural fit than object-oriented alternatives.
On Hacker News, developers expressed excitement about the performance gains, with one noting:
Wow, this is huge! A 10x speedup is going to be game-changing for large TypeScript codebases like ours. I’ve been waiting for something like this – my team’s project takes forever to typecheck on CI and slows down our IDE.
However, the article also raised concerns about the migration path for tools that depend on the TypeScript compiler API:
… how will the native compiler be distributed for us tools authors? I presume WASM? Will the compiler API be compatible? Transforms, the AST, LanguageService, Program, SourceFile, Checker, etc.?
I’m quite concerned that the migration path for tools could be extremely difficult.
Some developers have already been using it, one commenter on reddit claimed their typechecking time dropped by 75%
. Others are fans of the strict mode changes:
Strict enabled by default will be so nice. It’s such a pain to be working on a project and suddenly realize strict wasn’t enabled and you have a ton of fixes to make.
For developers using compiler-heavy tooling, TypeScript 7’s native implementation puts it in competition with other high-performance JavaScript tooling written in native languages. Tools like esbuild, written in Go, and SWC and oxc, written in Rust, have already demonstrated the performance benefits of native implementations. The TypeScript team’s move validates this architectural approach while maintaining full compatibility with the TypeScript language specification.
TypeScript is a strongly typed programming language developed and maintained by Microsoft that builds on JavaScript by adding static type definitions. Released in 2012, TypeScript compiles to plain JavaScript and runs anywhere JavaScript runs, including browsers, Node.js, and other JavaScript runtimes. The language enables developers to catch errors at compile time rather than runtime through its type system, provides enhanced IDE support with features like intelligent code completion and refactoring, and makes large codebases more maintainable through explicit type contracts.
