The release candidate of TypeScript 4.6 is out and ships with various quality-of-life improvements to TypeScript. Most notably, this includes control flow analysis for destructured discriminated unions, as well as other improvements.
Assertion functions in TypeScript are functions that throw an error if something unexpected happened. Using so-called assertion signatures, we can tell TypeScript that a function should be treated as an assertion function.
Stefan goes over a bunch of mistakes he has seen people make when getting started with TypeScript: ignoring JavaScript, annotating everything, mistaking types for values, and going all-in straight away.
A GitHub repo containing notes about the TypeScript compiler codebase from many engineers over time. If you’re interested in contributing to TypeScript, this could be a great starting point to familiarize yourself with the codebase.