LLMs seem to handle dependency upgrades really well.
The task is well-specified, there's usually a build/test suite to check correctness of the modifications, and there's often a changelog they can consume too.
Related Posts
I made some changes to a node express project that I haven't touched in almost five years. I was pleasantly surprised that I only needed to update one dependency to get it working again!
(It was sqlite3, which is a native dependency using node-gyp.)
I've been reading about the object-capability model as seen in the E programming language.
It reminds me of dependency injection, but used pervasively. Rather than calling static methods, you pass in object arguments and call methods in them.
I struggle with dependency syntax. I never remember what ^1.2.3 means or how it differs from ~1.2.3.
I believe both npm and cargo assign the same meanings to this notation, but it's less obvious than e.g. 1.x.
1.2.3 isn't an exact version constraint either!