2 ms·
Despite the bandwagoning here, I'm going to say it's the authors fault. They updated dependencies blindly upping the version of packages a leading digit. Of co
by fny 5y ago
Despite the bandwagoning here, I'm going to say it's the authors fault.
They updated dependencies blindly upping the version of packages a leading digit. Of course things will break! That's what the leading digit is for!
Yes, there are problems with too many dependencies, but upgrading packages just because you feel like it is a recipe for disaster even with very mature dependencies with good governance.
- koonsolo 5y agoExactly. The real "problem" is how easy it is to install and upgrade packages. They took the painful part out of library management, and now they expect breaking changes should magically be resolved. The funny part is that there is no comparison to other development ecosystems. "Oh yeah, in C++ we don't have this problem, since everything is even more painful"
- mmcnl 5y agoI agree. I also think the author blindly followed up on some automatic GitHub bot suggestions only to find out you can't just upgrade everything. My experience is actually the opposite: it's never been easier to develop at scale in frontend. People forget how hard frontend is. You need to ship everything and it needs to work everywhere. You have zero control over the code execution environment. The fact that build tools like Webpack and frameworks like Vue/React exist made it a breeze to quickly develop high-quality web applications, and that is actually a triumph of the JavaScript ecosystem. Ofcourse it's difficult to understand the entire build chain, but often it's not necessary to understand every detail. If you use vue-cli/create-react-app you get a perfect bootstrapped environment that works out of the box. If you really need to upgrade, I would suggest creating a new empty project and migrate all the code to the new project, instead of changing dependency version numbers in package.json. My personal experience is that I've run into quite some issues, but not necessarily more than when doing anything backend related. I've spent weeks trying to understand the Python module system. And worse, Python doesn't even have declarative dependency management built-in. Also it's very difficult to find high quality packages because there's hardly anything like npmjs.com for the Python ecosystem. That being said, I love both JS and Python, but I don't think of the quirks of both languages and their ecosystems as a "mess", but rather an understandable reality we have to deal with it that is definitely worth the trade-off. Innovating and backwards compatibility are often orthogonal direction so it's definitely not easy facilitating both.