There were some other upgrades, for example we used some React Bootstrap components, and then upgraded to new Bootstrap as we wanted the flexibility of the new version, but they weren't going to support it, and Reactstrap only came into existence from React 16 so we had to roll out our own components to do that upgrade within React 15 - otherwise upgrading bootstrap would have pushed us to next version of React. That was a choice though.
There were just more major API changes in a lot of the libraries we use than I've had to deal with previously on major upgrades. Maybe it's just the project has more dependencies.
I had another issue where one upgraded webpack dep wanted new babel, but then that broke another one, so I also had to help with that before I could complete the upgrade.
It's not just about the individual incidents though, it's more that upgrading one thing often required the upgrade of another, and after following that path, it became clear that much of it had to be done at once.
There were just more major API changes in a lot of the libraries we use than I've had to deal with previously on major upgrades. Maybe it's just the project has more dependencies.
I had another issue where one upgraded webpack dep wanted new babel, but then that broke another one, so I also had to help with that before I could complete the upgrade.
It's not just about the individual incidents though, it's more that upgrading one thing often required the upgrade of another, and after following that path, it became clear that much of it had to be done at once.