npm dependencies are such a mess. one small update can break everything, and then you're stuck trying to untangle this web of dependencies just to get your project running again. why does it have to be so complicated?