So I’ve kind of been spending most of my days disgruntled for not being able to find my car keys (which I then found later, slipped to the very bottom of the sofa cushion), when my good friend @TomasDuda sent me a link to this article by Drew Hamlett on Medium. It was sadly deleted, for reasons we’ll get to later, but here’s an archive. (Update: it was deleted by the time I wrote this, but turns out he put it back on.)
But, for the sake of doing so, I have taken upon myself to pull out several lessons that we could all take in for us to help improve this ecosystem in dire need of help.
An internal issue among the mean.io developers forced some of its original developers to fork the project and set up mean.js, both with varying architecture and goals, which makes learning to put a fully-working MEAN stack for the first time will take… well, good luck with that.
Node’s package bloat
Oh boy, oh boy. Remember the good old days when npm wasn’t even deserved to be called “compatible” with Windows because of its deeply nested modules structure? Fortunately they fixed this as of
firstname.lastname@example.org, but then again there still exists the bloat issue, where a single
npm install could literally take up hundreds of megabytes of disk space thanks to packages and their convoluted dependencies.
Like, holy shit, remember those filepath errors when trying to delete your old
node_modules folder through Windows Explorer? Annoying, right?
Compilers, transpilers, you name it.
Not so much dis-grunt-led
Then there’s task runners like Grunt, and Gulp. To be honest, I actually find these tools to be really helpful, in fact, as I said earlier in the article, tools like Grunt and Gulp help streamline your build process, unit testing, and all that other goodness, all by running one simple task.
While some people also thought that we should get rid of this bloat as well, I think that it works wonders when you could really get into the nooks and crannies, which in turn would really ease out dour daily workflow.
Mind your rant
Now, as a lengthy, rant-y post that does make quite a bit of sense when you peel through the onion, it doesn’t mean it didn’t come with its issues. In fact, this was most likely the cause of the article’s deletion from Medium. You see, during his take on Babel, he made out an unintentional personal attack towards the creator of Babel itself, which he then took offense for.
Now, I completely understand the frustration that Drew went through leading up to the writing of his post. But when you’re writing a rant, make sure to control your frustration so that you’re not gonna start spurting out unintentional personal attacks toward someone. I mean, it’s just common decency.
And, of course, we have also learned to mind your emotions while you’re writing a lengthy rant post. You wouldn’t know if your frustration has slipped some personal attacks towards someone between those words. So yeah, just watch out for that.
But still, props to Drew for making some good points on the current state of the JS ecosystem.
Of course, I took on this article as a novice JS developer. For a more professional perspective, check out ‘The Sad State of Entitled Web Developers’ by Una Kravets.