TypeScript 5.5 changed how we write React
Inferred const generics and the new satisfies-everywhere ergonomics are not subtle. Half our shared types collapsed into one-liners.
Inferred const generics and the new satisfies-everywhere ergonomics are not subtle. Half our shared types collapsed into one-liners.
We upgraded a 120k-line React codebase to TypeScript 5.5 last month. The diff was unexpectedly large — not because we changed anything, but because the new inference eliminated a huge amount of explicit annotation.
The change that surprised us most: TypeScript 5.5 infers const type parameters in generic functions automatically when the call site passes a literal. This sounds small. It eliminated roughly 40% of our explicit generic annotations in hook and utility code.
The satisfies operator from 4.9 was powerful but verbose. In 5.5, the ergonomics improved significantly — it composes more naturally with inference, which means you reach for it in places you previously would not have bothered.
The best type system improvements are the ones that make the correct code the easiest code. TypeScript 5.5 moved the needle more than any release since 4.1.
Compile times. Our build is about 8% slower on initial typecheck after upgrading. The tradeoff is worth it, but plan for it if you are on a tight CI budget.
Migrating 180k lines of TypeScript tooling to Rust cut our cold builds from 47s to 4.2s. Here is what we got wrong on the first try, and the patterns that finally stuck.
Explicabo Deserunt doloribus esse itaque nobis aut enim vitae consequatur consectetur porro cupiditate qui maxime in