| name | bundle-size-analyzer |
| description | Analyze and optimize application bundle size for desktop applications |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep |
| tags | ["performance","bundle","optimization","webpack","desktop"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:desktop-development"],"skillAreas":["skill-area:performance-monitoring-profiling","skill-area:cross-platform-desktop"],"roles":["role:desktop-developer","role:fullstack-engineer"],"workflows":["workflow:feature-development","workflow:release-management"]} |
bundle-size-analyzer
Analyze and optimize application bundle size to improve download times and memory usage.
Capabilities
- Analyze bundle composition
- Identify large dependencies
- Detect duplicate packages
- Suggest tree-shaking opportunities
- Generate size reports
- Track size over time
Input Schema
{
"type": "object",
"properties": {
"projectPath": { "type": "string" },
"bundler": { "enum": ["webpack", "vite", "rollup", "esbuild"] },
"generateReport": { "type": "boolean", "default": true }
},
"required": ["projectPath"]
}
Webpack Bundle Analyzer
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: 'static',
reportFilename: 'bundle-report.html'
})
]
};
Optimization Techniques
- Tree shaking
- Code splitting
- Dynamic imports
- Replace heavy dependencies
- Compress assets
Size Targets
| App Type | Target | Acceptable | Too Large |
|---|
| Simple utility | < 30MB | < 60MB | > 100MB |
| Standard app | < 80MB | < 150MB | > 250MB |
| Complex app | < 150MB | < 250MB | > 400MB |
Related Skills
startup-time-profiler
electron-builder-config