rollup-plugin-bundle-stats
Demo:
Compare multiple builds,
Single build
BundleStats rollup plugin
Analyze rollup stats(bundle size, assets, modules, packages) and compare the results between different builds.
- Bundle size and totals by file type(css, js, img, etc)
- Cache invalidation, Initial JS/CSS and other bundle specific metrics
- Assets report (entrypoint, initial, types, changed, delta)
- Modules report (changed, delta, chunks, duplicate count and percentage)
- Packages report (count, duplicate, changed, delta)
:star: Side by side comparison for multiple builds
Table of Contents
Install
npm install --dev rollup-plugin-bundle-stats
or
yarn add --dev rollup-plugin-bundle-stats
Configure
const { bundleStats } = require('rollup-plugin-bundle-stats');
module.exports = {
...,
plugins: [
bundleStats()
]
}
Options
compare
- use local saved stats for comparison (default true
).baseline
- save current webpack stats as baseline (default false
).html
- output html report (default true
).json
- output json report (default false
).outDir
- output directory relative to rollup output director output.path
(default ''
).silent
- stop logging info and only log warning and error (default false
).
Compare mode
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 BundleStatsWebpackPlugin
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 BundleStatsWebpackPlugin
compare
option to false
.
Other packages
CLI to generate bundle stats report.
Gatsby plugin for bundle-stats.
Next.js plugin for bundle-stats.
Related projects
In-depth webpack bundle analysis and monitoring
RelativeCI automates webpack bundle analysis, monitoring, and alerting so you can identify and fix bundle regressions before shipping to production:
- :crystal_ball: Analyze webpack bundle stats on every build
- :chart_with_upwards_trend: Monitor webpack bundle stats changes and identify tendencies over extended periods
- :bell: Get notified via GitHub Checks, GitHub Pull Request comments, and Slack notifications
- :hammer: Support for all major CI services (CircleCI, GitHub Actions, Gitlab CI, Jenkins, Travis CI)
- :two_hearts: Always free for Open Source
Try for free
Standalone web application to compare Webpack/Lighthouse/Browsertime stats.
Compare bundle stats
Github Action that generates bundle-stats reports.