There. I said it. As a normally backend kind of guy, who likes things to be very predictable and easy to work with… npm just feels ghetto. By ghetto, I mean really thrown together and not very polished.
I’ll admit, I didn’t like Maven at first (there are still things about it I hate), but at least it matured rapidly, and the wonkyness was pretty easy to get over once you ‘embraced’ the ‘maven way’. With NPM, I have yet to create / bootstrap a project and actually feel like I have any idea what the heck is going on. Maybe this is my own knowledge gap. I honestly have no_idea where to start with getting a modern webapp skeleton bootstrapped. A few years ago I had some idea, and managed to pull it off, but I recall it being so convoluted that I didn’t retain any of the salient bits of information on ‘how I did it.’ Ugh.
So I started looking at @angular/cli (because apparently using the name angular-cli was too obvious) and playing around with trying to get a project going. I’m on a very standard Debian linux box. It took me 45 minutes of uninstalling, reinstalling, updating packages, configuring npm prefixes, etc. before I was finally able to get the thing to work right. I have no idea how many stackoverflow posts I read before I had enough minor details to get it running. It was a lot of searching and trial and error.
It did not leave me with a sense of confidence in the toolchain. If I don’t have confidence in the toolchain, I’m not likely to have confidence in the rest of the framework either.
Yet, I’ll trudge along.