TypeScript 5.8 checks the boundary between types and runtime syntax
engineeringtypescriptcompilernodejsmodulesTypeScript 5.8 adds erasableSyntaxOnly and aligns nodenext with newer Node module behavior. It also checks return-expression branches before any can conceal an incompatible value.