JavaScript Growing Pains: From 0 to 13,000 Dependencies
blog.appsignal.com
blog.appsignal.com
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.