The JS ecosystem (speaking as an omnivore using many languages) suffers two big problems:
1. Tooling is too fragmented and complex and poorly designed. This includes even the standard tools and formats like npm and package.json.
2. There’s a weak culture of API stability. Leave a project for 3 months and there are new config files, plugin formats, etc.
It’s improving slowly through standardization with things like ES modules. But it’s still a Wild West.
but that's all that younger devs know. specially people from boot camps or the CS to startup pipeline.
I tried running a Python project and the necessary apt-get pulled 2 GB of dependencies and conflicted with some of software I use, that's before running the pip install... Good old NPM.
Go stands out as being fast, small and very limited dep bloat, thanks to a comprehensive standard library. And very minimal config files. By that standard npm is a shit show.
:p
But really, you can just use skip it all and write your own code. People would scoff now, but that’s what we did. Well, maybe with prototype and/or jQuery.
I’d like to switch to something like esbuild but it uses a lot of features like aliases so would take some work to translate and the lib is being moved away from anyway. If I can drop something in that speeds it up I’m all for it
JS is interpreted and JITed. The whole point of using it is having a very fast feedback loop.
The tradeoff should be: faster at dev, slower at runtime. There’s something fundamentally wrong if that premise is broken.
Actually it’s insane that we need build steps with any noticeable delay during dev time at all.
After that we can start laying off the devs and firing our biggest customers. The features they use are taking up too much code!