Normalising Dependencies
The performance cost of not keeping package versions in sync.
-
Published
-
Categories
We recently normalised the version of components used in our micro front-ends, and the drop in bundle size is stark!
See the results below:
Bundle | Before | After | Saving decrease |
---|---|---|---|
a.js | 27.7 KB | 10.8 KB | 16.9 KB (61.01%) |
b.js | 24.4 KB | 9.7 KB | 14.7 KB (60.25%) |
c.js | 8.9 KB | 4.2 KB | 4.7 KB (52.8%) |
d.js | 78.5 KB | 63.6 KB | 14.9 KB (18.9%) |
e.js | 96.1 KB | 83.8 KB | 12.3 KB (12.8%) |
Note: bundle names have been shortened for brevity, and sizes are compressed.
Before automating this, every sprint someone in the team now runs npm-check-updates to see what components need updating.
About the author
I'm Callum, a Front-end Engineer at Nutmeg. Previously I wrote code for KAYAK, American Express, and Dell. Out of hours I publish blog posts (like this one) and tweet cherry-picks.
Feel free to follow or message me at @_callumhart on Twitter.