▲ | yawaramin 4 days ago | ||||||||||||||||||||||
How do lockfiles solve this problem? You would still have dependency-upgrade tickets and whack-a-mole, no? Or do you just never upgrade anything? | |||||||||||||||||||||||
▲ | hyperpape 4 days ago | parent | next [-] | ||||||||||||||||||||||
I think the difference is that since libraries do not specify version ranges, you must manually override their choices to find a compatible set of dependencies. The solution is version ranges, but this then necessitates lockfiles, to avoid the problem of uncontrolled upgrades. That said, there's an option that uses version ranges, and avoids nondeterminism without lockfiles: https://matklad.github.io/2024/12/24/minimal-version-selecti.... Note: maven technically allows version ranges, but they're rarely used. | |||||||||||||||||||||||
▲ | chowells 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||
The difference is that the data is centralized with a single source of truth, and you have tools for working with it automatically. It doesn't mean lockfiles are cheap to update, but it does mean it's a much more streamlined process when it's time. | |||||||||||||||||||||||
| |||||||||||||||||||||||
▲ | Muromec 4 days ago | parent | prev [-] | ||||||||||||||||||||||
you press a button which triggers a pipeline which does npm update on all root dependencies and produces a new lockfile, then creates a PR you need to approve. creating a PR triggers running all the tests you bothered to write to also flag things that didn't go well automagically. | |||||||||||||||||||||||
|