The Wire · Showcase
VAPOR COMPILER GETS LEANER, DEVTOOLS FIXES MODULE MISMATCH
By RepoJournal · Filed · About Vue.js
Vue's Vapor compiler just shed slot wrapping overhead while DevTools v8.1.3 corrects a package.json export that was pointing to the wrong file.
The Vapor compiler landed three consecutive optimizations overnight [1][2][3]. The headline move is stripping out withVaporCtx slot wrapping entirely, which simplifies the generated code path for components using slots. That's paired with a refactor of the slot fallback model [2] and a targeted perf win that reduces v-if branch scope overhead [3]. All three changes are syncing back from the core Vue repository, which means the Vapor team is running these experiments at scale before they hit your build pipeline.
DevTools v8.1.3 shipped a fix [4] for a publishing mistake that's been quietly breaking integrations. The vite-plugin-vue-devtools was advertising `module: dist/vite.mjs` in package.json, but the actual build output was `dist/vite.js` [5][6]. ESM bundlers checking the module field would get a 404. This is now corrected to point at the real file.
One email a day. Unsubscribe in one click.
Keep up with Vue.js in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade DevTools to v8.1.3 if you're using the Vite plugin in production vuejs/devtools [plan]
- → Watch Vapor compiler changes for integration opportunities in your build vuejs/vue-jsx-vapor [monitor]
References
- [1] refactor(compiler/vapor): remove withVaporCtx slot wrapping vuejs/vue-jsx-vapor
- [2] refactor(compiler/vapor): simplify slot fallback model vuejs/vue-jsx-vapor
- [3] perf(compiler/vapor): reduce v-if branch scope overhead vuejs/vue-jsx-vapor
- [4] v8.1.3 ↗ vuejs/devtools
- [5] fix(vite): point module field to emitted ESM file ↗ vuejs/devtools
- [6] fix(vite): align module field with emitted ESM output (#1106) vuejs/devtools