TypeScript 7 is AWESOME

2026-07-26

I've recently been working on updating TypeDoc from TypeScript 6.x to TypeScript 7.1. The API has been completely reworked, so this effectively means touching every line of code which interacts with TypeScript's API.

I wanted to capture a few things I've noticed while doing this migration:

  1. TypeScript's 10x performance claim undersells how transformative it is. TypeDoc's previous build took ~5 seconds on my machine, which I thought was fine. It's more than an order of magnitude faster to build than the C++ projects I have at work, and has watch mode to automatically recompile, which kept build effective build times closer to 1 second.

    With TypeScript 7, a clean compile takes roughly half a second, which is faster than TypeScript 6 could update the watch window! As I generally have the compiler running with --watch, this feels even faster. After saving a file my terminal window flickers, and TypeScript 7's full-project results have already been updated.

    This is absolutely magical. I've had the unfortunate experience of working with applications where keystrokes take longer to register than it takes TypeScript 7 to recompile 60'000 lines of code.

  2. TypeScript 7's watch mode now prints out an error summary of all files with compiler errors, and the count of errors in each file. This is very useful for deciding where to go next when working through a ton of broken code.

    The summary looks like this:

    Found 118 errors in 10 files.
    
    Errors  Files
       23   src/lib/application.ts:2
       18   src/lib/converter/comments/discovery.ts:445
       10   src/lib/converter/jsdoc.ts:114
    

    There's a small detail about this report that it took several days for me to notice. The report doesn't just include the file name, but the line number of the first error. in VSCodium, this means that I can ctrl+click on the file name to go to the first error in the file. This seems like such a small thing, but it shows an attention to detail that makes the tool much nicer to use.