TypeScript 7 shipped this week. The Go-native compiler, the one with the order-of-magnitude speed claims, is now just typescript@7 on npm. And buried in the announcement is a caveat that reads like bad news for Vue developers: tools that embed TypeScript into their own language services — Volar among them — can't use it yet, so "workflows that use Vue, MDX, Astro, Svelte and others will likely not yet be able to leverage TypeScript 7."

Our Vue app has been on the native compiler the whole time. Every component, type-checked by TypeScript 7's toolchain, on GA week, no plugins, no waiting for anything to be ported.

We write Vue in .tsx files. The reason that works points at a misconception about what Vue actually is, and the payoff goes well beyond one fast compiler.

The .vue file was always optional

Say "Vue" and most people picture a .vue file: a <template> block, a <script setup> block, maybe some scoped styles. The single-file component is Vue's signature authoring format, it's what every tutorial teaches, and it's genuinely pleasant. Somewhere along the way, the public assumption calcified into Vue requires .vue files.