Skip to content

Free tool - no signup

TypeScript 7 Migration Readiness Checker

Paste your tsconfig.json (and optionally package.json) to get a readiness score with fixes for TypeScript 7, the native Go compiler. Runs entirely in your browser - nothing is uploaded.

Frequently asked questions

What does this TypeScript 7 checker do?

It reads your pasted tsconfig.json (and optionally package.json) and flags every setting or dependency that breaks under TypeScript 7, the native Go compiler shipped as Project Corsa. Each result links to the exact section of the migration guide that explains the fix.

Does it upload my config anywhere?

No. Parsing and every check run in your browser with plain JavaScript. Nothing is sent to a server, so pasting a config from a private repo is safe.

What counts as a blocker versus a warning?

A blocker is a compiler option that TypeScript 7 removed outright, like target: es5 or moduleResolution: node10, which fails the build with a hard error. A warning is a default that changed, like strict now defaulting to on, which changes behavior but does not stop compilation.

Why does it also ask for package.json?

TypeScript 7 ships without the old Compiler API. Tools built on that API, mainly typescript-eslint, ts-jest, and ts-morph, need a compatible version or the @typescript/typescript6 shim to keep working. Pasting package.json lets the checker flag those before you hit a runtime crash.

Is a clean report a guarantee my project compiles?

No. This is a heuristic, config-level check, not a real compiler run. It catches the config options and dependency versions that account for most TypeScript 7 migration failures, but the only real proof is running tsc against your actual source.

What it actually checks

The rules engine looks at two things. From tsconfig.json: compiler options TypeScript 7 removed outright (target: es5, moduleResolution: node/node10/classic, module: amd/umd/system), the rootDir default change that broke real builds, and whether strict is explicitly set now that it defaults to on. From package.json (optional): whether typescript-eslint, ts-jest, or ts-morph are pinned to versions that predate Compiler-API compatibility with the native compiler.

Every flagged issue links back to the matching section of the TypeScript 7 migration guide, so a blocker isn't just a red label - it's a fix you can apply in the next minute.