Bundle Watch plugin for Webpack.
npm install @milencode/bundlewatch-webpack-pluginBundle Watch plugin for Webpack.
- š Bundle Analysis - Track sizes, compressions, build time
- š Historical Tracking - Compare against previous builds
- š CI/CD Ready - Works with GitHub Actions
- ā” Zero Config - Works out of the box
- šÆ Size Budgets - Fail builds on size increases
``bash`
pnpm add -D @bundlewatch/webpack-plugin
`javascript
// webpack.config.js
const { BundleWatchPlugin } = require('@bundlewatch/webpack-plugin');
module.exports = {
// ... your config
plugins: [
new BundleWatchPlugin({
enabled: true,
printReport: true,
saveToGit: process.env.CI === 'true',
}),
],
};
`
`typescript
// webpack.config.ts
import { BundleWatchPlugin } from '@bundlewatch/webpack-plugin';
export default {
plugins: [
new BundleWatchPlugin(),
],
};
`
`typescript`
interface WebpackBundleWatchOptions {
/* Enable/disable the plugin /
enabled?: boolean;
/* Print report to console after build /
printReport?: boolean;
/* Save metrics to git storage /
saveToGit?: boolean;
/* Compare against target branch /
compareAgainst?: string;
/* Fail build if size increases beyond threshold /
failOnSizeIncrease?: boolean;
/* Size increase threshold (percentage) /
sizeIncreaseThreshold?: number;
}
`
š Bundle Watch Report
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Total Size: 245.5 KB
Gzipped: 89.2 KB
Brotli: 75.8 KB
Build Time: 3.24s
Chunks: 3
By Type:
JavaScript: 185.3 KB
CSS: 45.2 KB
Images: 15.0 KB
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
`
`yaml``.github/workflows/build.yml
- name: Build with Webpack
run: npm run build
env:
CI: true
See examples/webpack-app for a complete example.
MIT