You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Watch for TypeScript 7 support in vue-tsc/Volar, then lift the typescript hold #49
Third of the migration-shaped holds, alongside #44 (Verify/xunit) and #47 (WebApp OpenAPI). Unlike those two, this one is gated on upstream rather than on work in this repo, so it is a watch item rather than a plan.
What is held
src/vue/package.json has typescript: ^6.0.3, and .github/renovate.json5 holds it at allowedVersions: "<7.0.0".
Why
TypeScript 7 is the Go rewrite. It does not ship the programmatic compiler API that vue-tsc/Volar embeds, so Vue template type-checking breaks - and vue-tsc is load-bearing here: npm run build runs vue-tsc before vite build, so this is a build-time dependency, not just an editor concern.
The trap worth knowing.vue-tsc's peer range is an open >=5.0.0, which would happily install TypeScript 7 without complaint. A permissive peer range is not the same as support. Without the Renovate hold, a bot would propose 6.x -> 7.x on that basis and the peer range would not stop it.
Unlock condition
Both of these, together:
TypeScript 7.1 ships the programmatic compiler API.
vue-tsc/Volar announces support for it.
Neither is in this repo's control. The official TS 7 migration story is a dual-install alias, which is not something to adopt here while vue-tsc cannot type-check .vue files against it.
Expected cost when it unblocks
Small - the estimate is roughly a 15-minute bump, since nothing in this codebase depends on TS internals directly. The hold exists because of the toolchain underneath, not because of our own code. That asymmetry is the reason this is worth tracking rather than just re-deriving it every time the bot proposes it.
Done when
typescript and vue-tsc are both current, the <7.0.0 ceiling is removed from .github/renovate.json5, and npm run build type-checks clean.
References
Hold: .github/renovate.json5, the HOLD typescript rule
Status check, 2026-10-20: the first unlock condition is close, but the second isn't met.
TS 7.1 API: in beta.typescript@7.1.0-beta was published to npm today. 7.1 is the release meant to bring the new programmatic API. latest is still 7.0.2.
So the hold stays. Lift it once TS 7.1 is final and a vue-tsc release says it supports it, not on the beta. MapWebUI has the same hold (its typescript Renovate rule is enabled: false, with a note to revisit at 7.1 by hand), so the same check applies there.
Activity
wormeyman commentedon Oct 21, 2026
Status check, 2026-10-20: the first unlock condition is close, but the second isn't met.
typescript@7.1.0-betawas published to npm today. 7.1 is the release meant to bring the new programmatic API.latestis still 7.0.2.vue-tsc3.3.13, also out today, has nothing about TS 7. Support is being built in an open v4 alpha PR, feat: content mapper (v4 alpha) vuejs/language-tools#6170 ("content mapper"). Bug reports against it are still coming in (content-mapper: packagedX.vueshadows its shippedX.vue.d.tsvuejs/language-tools#6286, #6287, #6288, all filed today).So the hold stays. Lift it once TS 7.1 is final and a vue-tsc release says it supports it, not on the beta. MapWebUI has the same hold (its
typescriptRenovate rule isenabled: false, with a note to revisit at 7.1 by hand), so the same check applies there.