TypeScript 7.0 is now the latest tag on npm (7.0.2 as I write this). The headline is the native Go compiler — tsgo — and it is fast. The part nobody puts in the headline: the command most teams use to decide "are we safe to move," tsc --noEmit, checks the one thing that was already fine and stays silent on the two things that actually break.

Here is the ordered check I'd run before flipping a real repo, and why each step catches something the one before it can't.

Why --noEmit reassures you about the wrong thing

tsc --noEmit (or tsgo --noEmit) answers a narrow question: does your source type-check? If your code was valid TypeScript 6, it is almost certainly valid TypeScript 7. The type system didn't change much between 6 and 7 — the compiler's implementation language did.

So the check passes, everyone exhales, and then CI goes red somewhere else. The failures cluster in two places --noEmit structurally cannot see.