I Peeked Into My Node_Modules Directory And You Won’t Believe What Happened Next
[...]
So, what’s in these dependencies anyway? Many are self-explanatory. “range-parser” parses ranges, “escape-html” escapes html, and “negotiator” makes great deals.
However, one dependency — “yummy” — caught my attention.
[...]
What sort of monster brokered an advertising deal like this? I pass sensitive customer data through Express, and they go ahead and sell my twitter favorites to Hot Pockets? Needless to say, I likely won’t be using express again.
[...]
Ember.js is a JavaScript web framework that specializes in quickly rendering todo lists. It packs quite the punch at only 112 kilobytes minified and gzipped, but what most people don’t know is how much of that 112 kilobytes is spent on nothing.
[...]
• Ember prides itself on using Glimmer: a small, lightning fast rendering library.
• Glimmer brings in the entirety of Encyclopedia Brittanica, just to display the definition for the word “glimmer” in its help menu.
[...]
Babel is a compiler for next-generation JavaScript that beat its competition when someone at Facebook said they liked it better.
[...] Curiously, not many seem to notice the incredible amount of dependencies Babel requires. Until now.
I started my investigation by installing the “babel-preset-es2015” package. This package allows twenty-something web developers to write a newer, worse version of JavaScript that no one else on their team knows. [...]
A whopping 90 dependencies totaling 17 megabytes. Let that soak in.
If the entire recorded history of humanity could fit in a single megabyte, then Babel alone would consist of SEVENTEEN times the entire recorded history of humanity. Just so that we can avoid writing JavaScript.
So I started wondering, what on earth is causing Babel’s code to be so large?
One of the biggest offenders, a package called “babel-core” was suspiciously large, coming in at 13 megabytes on its own. I opened up babel-core in vim, then turned off my computer because Ctrl-C wasn’t exiting, then opened babel-core in Sublime Text 2.
[...]
It’s true. Each installation of Babel includes a picture of Guy Fieri, and there is nothing you can do about it.

https://medium.com/@jdan/i-...ed-next-b89f63d21558