Post

We've got some updates on TypeScript 7! The new native port - can type-check any project - supports --build and --incremental - has rich editor features implemented - is still 10x faster and is ready for you to try today! devblogs.microsoft.com/typescript/p...

devblogs.microsoft.comProgress on TypeScript 7 - December 2025 - TypeScriptEarlier this year, the TypeScript team announced that we’ve been porting the compiler and language service to native code to take advantage of better raw performance, memory usage, and parallelism. Th...

55 reposts253 likes

I have a dumb as hell question 🙋 What does “building” Typescript mean with a native port? It is compiles down to JavaScript so it can run in a browser, right? Is this primarily a step forward in the editor experience, or does this make Typescript more portable and move it away from JS?

TypeScript code has syntax that isn't part of JavaScript - it has to be erased away to run in a browser. Similarly, a lot of people use tools to rewrite their JavaScript so they can use newer features in older runtimes. So there's a build process to do this.

Even though it's not emitting machine code, it's still compilation (even though some people like to call it "transpilation" since you end up with a human readable-ish language on the other end).

There are other build tools for JavaScript like bundlers (which combine JavaScript modules into one file so that fewer requests can be made for users and that you can deploy more simply) and minifiers (which optimize the size of your JS so that less code is sent over to users of your website).

I'm amazed to see how fast you went through this rewrite. Some colleagues already played with it in my company, Pigment, and they measured a net benefit. We went from 90s to 18s (x5) but we are on par with the CPU time dropping from 105s to 85s (X1.2).

Something TypeScript really needs is inline typing for object destructuring in function parameters w/ a keyword. Always felt like a copout to me to not have that because of the existing ":" syntax. Something like: function({ parameter astype string }). Opened an issue: github.com/microsoft/Ty...

In my editor, initialisation is significantly faster and I no longer have stale errors when switching between branches. It updates nearly instantly. However, autocomplete is still just as slow as it was before (IIRC it doesn't show until import suggestions have been computed). Is that expected?