2 ms·
i have an app that was written for 0.8 three years ago. it is running on 4.2 with no modification. (it doesn't use any binary add ons). javascript is almost e
by tkone 11y ago
i have an app that was written for 0.8 three years ago. it is running on 4.2 with no modification. (it doesn't use any binary add ons). javascript is almost entirely backwards compatible because they can't break the web.
Other apps that require binary add ons required me to install the latest versions from NPM -- one one of them required ANY changes to how the API was called and it was extremely minor.
Waiting 2 years to upgrade the engine your code is running on is not horrible and requires much less pain
- antjanus 11y agothis is such a good point. I was running on the same version, then I upgraded to 0.10, 0.11, and finally 0.12 and run test on ioJS. There were no major changes to be made. I think I'll just add Node 5.0 to CI and see if it passes and that's all there is to it really.
- coldtea 11y agoYeah, but the pain comes from: binary packages, and even pure-js projects that move fast and break things -- you can easily end up with 50 or 200 dependencies for a large node project (not merely some micro-service), especially as packages depend on each other with wild abandon even for trivial stuff they could have wrote themselves.
- apalmer 11y agoThis is the fundamental problem. As an engineer you have to weigh every single dependency as a cost. If you take a dependency on 200 packages, then NOTHING is going to save you long term as things break. More or Less, Joyent was mostly doing what they were doing for a reason. What the io.js team is doing also has validity but fundamentally you will always see these issues to some extent because of the philosophy behind it.