$ the-wire · showcase
vue-tsc silently skips template-checking on TypeScript 5.4 to 6.0
By RepoJournal · Filed · About Vue.js · Composed from the cited sources · methodology
A regression in vuejs/language-tools lets vue-tsc exit clean while checking nothing in any .vue file that has a template interpolation, and the fix landed the same day.
fix(language-core): avoid type guards missing from tsc bundle in template binding analysis vuejs/language-tools
Since the earlier type-guard work in #6181 and #6184, a plain typescript package from 5.4 to 6.0 makes vue-tsc bail out of every template with an interpolation, logging "ReferenceError: isDeleteExpression is not defined" and reporting no diagnostics at all. That is the default create-vue setup, so a project with no other errors exits with code 0 and a green CI run means nothing about those files.
fix(language-core): avoid type guards missing from tsc bundle in template binding analysis (#6214) vuejs/language-tools
The fix keeps the type guards out of the path that resolves from the tsc bundle, so template binding analysis runs again. ValentinYoushkevich, who filed it, attributes the original breakage to the two changes it repairs.
refactor(language-core): restore direct guard calls kept in the tsc bundle vuejs/language-tools
KazariAI followed up by restoring direct guard calls that stay in the tsc bundle, closing the loop on the regression. The pull request notes it was created with assistance from a code agent.
fix(language-core): correct mapping boundary of dot value accesses vuejs/language-tools
Separately, KazariEX corrected the mapping boundary of dot value accesses, which affects how template expressions resolve against their source spans.
refactor(language-core): extract shared identifier access strategy vuejs/language-tools
KazariEX also extracted the shared identifier access strategy, a refactor underneath the same analysis path with no stated behavior change.
Action items
- → Pin or update vuejs/language-tools to a build containing the tsc type-guard fix before trusting vue-tsc --build exit ... vuejs/language-tools [immediate]