Track Vue bundle growth across every branch and release
Vue 3 projects built on Vite produce lean output by default, but that baseline drifts upward quickly once component libraries, i18n bundles, icon sets, and feature flags accumulate. Running a bundle analyzer once after something goes wrong is a poor substitute for continuous tracking. dendrobundle integrates into the same build step you run in CI, reads the Rollup stats that rollup-plugin-visualizer writes, and stores a per-commit record so you see the growth curve over time. Vue CLI (webpack-based) projects use the webpack stats path instead.
Set it up for Vue
For Vite-based Vue projects, add rollup-plugin-visualizer to your vite.config with template: 'raw-data'. Vue CLI projects can emit a webpack stats file directly and use the webpack ingest path instead.
# vite.config.ts — visualizer({ template: 'raw-data', filename: 'dist/rollup-stats.json' })
# 1. build (writes dist/rollup-stats.json)
npm run build
# 2. submit the snapshot
curl -sS "https://dendrobundle.com/api/push?branch=$(git branch --show-current)&commit=$(git rev-parse HEAD)" \
-H "Authorization: Bearer $DENDROBUNDLE_TOKEN" \
-H "Content-Type: application/json" \
-d @dist/rollup-stats.jsonFull details on the supported formats and CI integration pages.
Vue bundle tracking — FAQ
- My Vue project uses Vue CLI, not Vite. Does that change anything?
- Vue CLI wraps webpack, so you use the webpack stats path. Run vue-cli-service build with webpack profiling, or configure stats output in vue.config.js. The resulting webpack stats JSON is what you POST — the same format as any webpack project.
- We use Pinia and have many stores imported at startup. Will those show?
- Yes. Pinia stores are ordinary modules from the bundler’s perspective. Imported eagerly at startup, they appear in the main chunk’s module list in the treemap; imported inside a lazy route, they appear in that route’s chunk. The treemap makes the import structure visible regardless of the pattern.
- Does Nuxt work with this?
- Nuxt 3 builds on Vite and Nitro. The client-side bundle follows the same Rollup stats path as a standard Vite/Vue project — POST the rollup-stats JSON from the client build. The server-side Nitro output is a separate build and would need its own project to track.
- What counts against my snapshot limit on the Community tier?
- Each POST to /api/push creates one snapshot. On Community (free), each project retains the 10 most recent snapshots; older ones roll off. The Developer tier removes that limit so the full history is retained.
Set up your Vue project on dendrobundle's free tier today, or upload a rollup-stats JSON at dendrobundle.com/analyze to see the current state of your bundle without an account.
create a free account