4 ms·
I partly blame some of the popular early Node.js and npm community members for our current situation. Since the early days, they'd been advocating for developer
by jondubois 6y ago
I partly blame some of the popular early Node.js and npm community members for our current situation. Since the early days, they'd been advocating for developers to publish tiny packages and npm had been actively endorsing and promoting authors who were extreme in following this philosophy (and who clearly where mainly doing it to get attention).
Some of the authors which were promoted had published several hundreds of tiny packages.
The people who built React didn't understand the concept of 'over-engineering'... That's why they started integrating with Babel, WebPack etc...
Babel often introduces hundreds or even thousands of dependencies into projects, but what does it actually do for the end user of the software? Absolutely nothing!
If you use VueJS without WebPack, you can get the same results with only a handful of dependencies and your project code will be cleaner and more stable too.
I feel the same way about TypeScript. Ok it gives you type safety, that's great, but it turns your project into a vulnerable and non-portable mess.
Suddenly you have hundreds of dependencies that do nothing for the user, you now need to wait for builds every time you change anything in your code, you get build artifacts like source maps and definition files everywhere, you encounter issues with wrong line numbers when debugging because your environment doesn't know where to find or how to interpret the source maps.
...and now you have to make sure that your project code is not only compatible with all developers' Node.js versions, but that it's also compatible with their TypeScript compilers because TypeScript keeps changing all the time and also TS configs are constantly added and removed.
It's complete madness. Good article.