Demos: Bundle analysis comparison · Bundle analysis
BundleStats rollup pluginAnalyze rollup/rolldown bundle stats(bundle size, assets, modules, packages) and compare the results between different builds.
- Bundle size and totals by file type(css, js, img, etc)
- Insights: duplicate packages, new packages
- Initial JS/CSS, Cache invalidation, and other bundle metrics
- Assets report (entrypoint, initial, types, changed, delta)
- Modules report (changed, delta, chunks, duplicate count and percentage)
- Packages report (count, duplicate, changed, delta)
â Side by side comparison for multiple builds
npm install --dev rollup-plugin-bundle-stats
or
yarn add --dev rollup-plugin-bundle-stats
// vite.config.js const { bundleStats } = require('rollup-plugin-bundle-stats'); module.exports = { ..., build: { rollupOptions: { output: { assetFileNames: 'assets/[name].[hash][extname]', chunkFileNames: 'assets/[name].[hash].js', entryFileNames: 'assets/[name].[hash].js', }, }, }, plugins: [ bundleStats() ] };
// rollup.config.js const { bundleStats } = require('rollup-plugin-bundle-stats'); module.exports = { ..., output: { assetFileNames: 'assets/[name].[hash][extname]', chunkFileNames: 'assets/[name].[hash].js', entryFileNames: 'assets/[name].[hash].js', }, plugins: [ bundleStats() ] };
// rolldown.config.js import { defineConfig } from 'rolldown'; import { bundleStats } from 'rollup-plugin-bundle-stats'; export default defineConfig({ ..., output: { assetFileNames: 'assets/[name].[hash][extname]', chunkFileNames: 'assets/[name].[hash].js', entryFileNames: 'assets/[name].[hash].js', }, plugins: [ bundleStats() ] });
How to configure Vite for better debugging and monitoring
compare
- use local saved stats for comparison (default true
).baseline
- save current webpack stats as baseline (default false
).baselineFilepath
- baseline absolute filepath or relative filepath to output.dir
(default 'node_modules/.cache/bundle-stats/baseline.json')html
- output html report (default true
).json
- output json report (default false
).outDir
- output directory inside rollup output director output.dir
(default ''
).silent
- stop logging info and only log warning and error (default false
).In compare
mode, the metrics are compared against an existing(node_modules/.cache/bundle-stats/baseline.json
) rollup stats file(baseline). To generate the baseline webpack stats, set BUNDLE_STATS_BASELINE
environmental variable to true
or set the plugin baseline
option to true
:
# Checkout to the branch/tag/commit where you want to generate the baseline $ git checkout master # Build your application with BUNDLE_STATS_BASELINE environmental variable $ BUNDLE_STATS_BASELINE=true npm run build # Checkout to the working branch/tag/commit $ git checkout MY_FEATURE_BRANCH # Build your application $ npm run build
The option can be disabled by setting the plugin compare
option to false
.
CLI to generate bundle stats report.
Webpack plugin to generate bundle stats report for webpack/rspack.
Gatsby plugin for bundle-stats.
Next.js plugin for bundle-stats.
Optimize your web app's performance with automated bundle stats analysis and monitoring.Standalone web application to compare Webpack/Lighthouse/Browsertime stats.
Github Action that generates bundle-stats reports.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4