It's a problem you can't really evade if you're on the modern JS stack train. A lot of that has to do with frameworks running into the same issue. Some part of the build stack retires an old version unannounced, and now you have an entire cascade of rushed out updates.