
TypeScript 7.0 RC dropped June 18. If you needed a number to make the Go-rewrite story feel real, here it is: VS Code — 1.5 million lines of TypeScript — went from a 77.8-second type-check down to 7.5 seconds. That benchmark landed in the official RC announcement and it is not a toy project. But the release candidate carries a harder message than speed numbers: the flags that were deprecation warnings in TypeScript 6 are now hard errors, there is no ignoreDeprecations safety valve, and stable GA is roughly four weeks away. Time to open your tsconfig.
What Changes at RC
Beta was a preview. RC means the feature set is locked. Whatever is broken in your project today will still be broken on GA day — probably mid-to-late July 2026 — except then you will not have a draft to test against. You will just have a broken build.
The RC formalizes three categories of breaking changes.
Legacy compiler flags are now hard errors. The following options no longer produce a warning — they produce a build failure:
target: "es5"— ES5 downleveling is gone. Minimum target is nowes2015.moduleResolution: "node"— The legacy Node resolution algorithm is out. Usebundlerornode16.module: "amd","umd","systemjs"— IE-era module formats removed.baseUrl— Path-based module resolution is gone. Migrate topaths.
No runtime in 2026 needs ES5 output. These flags outlived their purpose by years; the RC just makes that official.
Two new defaults will silently break builds. First, rootDir now defaults to ./. If your tsconfig.json lives at the project root but your source code is inside a src/ directory, your output structure changes unless you set rootDir: "./src" explicitly. Second, types now defaults to an empty array. That means @types/node, @types/jest, and other ambient type declarations must be listed explicitly. Projects that relied on TypeScript auto-discovering them from node_modules/@types will silently lose global type resolution.
Template literal types handle Unicode differently. The Go compiler splits on whole Unicode code points, not UTF-16 code units. Emoji in template literal types now behave correctly — but string-manipulation utility types that relied on the old surrogate-pair splitting will produce different inferred types. Worth a grep through your type utilities.
Three Things to Fix Before GA
Run this scan across your tsconfig.json files. This is the before:
{
"compilerOptions": {
"target": "es5",
"moduleResolution": "node",
"baseUrl": "./src",
"rootDir": "",
"types": []
}
}
And this is the corrected version:
{
"compilerOptions": {
"target": "es2017",
"moduleResolution": "bundler",
"paths": { "/*": ["./src/*"] },
"rootDir": "./src",
"types": ["node", "jest"]
}
}
If you are in a monorepo, repeat this for every package-level tsconfig.json. TypeScript 7.0 exposes a --builders flag that runs project reference builds in parallel — but the configs need to be valid first. The typescript-go repository documents all new compiler flags introduced in the RC.
Test Against RC Today
You do not need to replace your current TypeScript installation. Install the RC alongside it:
npm install -D typescript@rc
npx tsc --version # Should report 7.0.x-rc
The smart move is adding a parallel CI job that runs tsc --noEmit with the RC version against the same tsconfig.json. Your production build keeps using stable TypeScript 6. The RC job catches errors before GA forces the issue. This two-track approach is the core recommendation in the Dante Blog’s CI migration rehearsal post published the day after the RC dropped.
One prerequisite worth emphasizing: if your project has not reached clean TypeScript 6 compliance — no deprecation warnings, no ignoreDeprecations in active use — do not skip straight to the RC. TypeScript 7 removed the ignoreDeprecations escape hatch entirely. The compounded debt hits all at once, and the error messages will not be friendly about it.
The Timeline
RC shipped June 18. Microsoft’s stated estimate is stable GA within about a month, pointing to mid-to-late July 2026. Treat the RC as the final preview. If your CI passes clean against typescript@rc today, the GA upgrade will be a one-line version bump. If it does not, you have a few weeks to fix it before the upgrade happens on everyone else’s schedule and your build pipeline becomes someone else’s outage.
The performance gains are real — 77.8 seconds to 7.5 seconds on the VS Code codebase is not a cherry-picked benchmark. But none of that matters if your build is broken on day one. Open the tsconfig, run the RC in CI, and fix the three categories above. Four weeks is enough time if you start today.













