Total extension bundle size optimized and remains under 5MB
Why it matters
Extension bundle size directly affects install time, update time, and popup load time on every user's machine. A bloated bundle — caused by unminified libraries, uncompressed images, or unnecessary dependencies like full lodash or moment.js — forces users to download and parse megabytes of JavaScript the extension doesn't need. ISO 25010:2011 performance-efficiency.resource-utilisation identifies this as a defect. Chrome Web Store rejects extensions over 128MB, but the practical ceiling for perceived performance is far lower; extensions over 5MB noticeably slow popup initialization on mid-range hardware.
Severity rationale
Critical because oversized bundles cause measurable popup latency, inflate install and update bandwidth, and signal absent build hygiene that usually correlates with other production defects.
Remediation
Enable production mode in your bundler to activate minification and tree-shaking, then audit the largest files and replace heavyweight dependencies with lighter alternatives.
// webpack.config.js
module.exports = {
mode: 'production', // Enables minification and tree-shaking
optimization: { minimize: true },
devtool: false, // Exclude source maps from production build
};
Replace moment.js with date-fns, import lodash functions individually (import debounce from 'lodash/debounce'), and compress images with imagemin or squoosh before bundling. Run du -sh dist/* sorted by size to identify the largest offenders.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Extension UX & Performance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency.resource-utilization
Taxons
History
- 2026-04-18·v1.0.0·Initial import from extension-ux-performance·automated