145
Why is the Node ecosystem so demanding?
(sh.itjust.works)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
They’re all that way: it’s just that Node is automatic enough to notice more easily, plus had an insane number of small dependencies
We started doing vulnerability scans on every build, which sounds like a good idea. However, now I know: Java is exactly the same. We need to constantly update but all too often there is no update available yet
C# is also exactly the same, you just don’t get yelled at when things are out of date and you only see that if you go to manually install packages
In C# you can automatically generate (or manually write) binding redirects that let you say "anything using versions between x.y.0 and x.y.9 should use x.y.9", which helps a lot with transitive dependencies. However, doing this manually is hard, and you can't really rely on semver to be done "correctly." This leads to subtle bugs. Occasionally not so subtle, but hard to diagnose.
I think NPM has the same feature, it's called overrides https://docs.npmjs.com/cli/v9/configuring-npm/package-json?v=true#overrides