Lately I read a bunch of blog posts about people moving away from Node.js towards Ruby, Python or Go for web development. Personally, I still use Node.js for a bunch of reasons the biggest being laziness. That aside, as I am gaining more experience I am seeing and experiencing the things people are complaining about with Node.js and one of them are node modules.
This monstrosity is what I saw when out of curiosity I tried listing the contents of the node_modules directory for the Matsuri Japon project. The website runs on KeystoneJS because it's easy to use, but the amount of node modules it uses is just getting out of hand lately (it used to be slightly less horrible).
Thinking back, in the early stages of development I once ran into an out of memory exception when I pushed my code. Thinking it was something I wrote, I reverted the changes but still saw the OOM. Turns out, after several hours of debugging, that it was due to some bug in one of those modules. In. one. of. those. modules.
A lot of blogs out there do a much better job at explaining why most of those modules are not even necessary or over-engineered. I just wanted to add my redundant rant_module to the already numerous ones.