"There is a good chance that upgrading fails and you would need to give it a second or 3rd try."

Sad that this has almost become the norm when developing in the modern javascript ecosystem. I dread touching those projects and creating one even more because stuff just rots away and your app might break in days, weeks or If you are lucky months. I'm sure there are better developers out there that can handle all of this and know how to avoid it, but a bozo like me does not. This is actually causing me stress irl.

Oh thats because you are missing the specific version manager for each part of your build toolchain

And dont forget to make a script that automatically sets the right versions of npm, webpack, and python all at once!

This is fine, I am okay with the events that are unfolding currently.

I've been using ASDF (https://github.com/asdf-vm/asdf) for a while now to manage each of the language (and sometimes build tool) versions for a folder/repo in a consistent manner. I'd definitely recommend taking a look at it.