Grouping updates from monorepos
We’ve been on a quest lately: How can we reduce the amount of PRs Depfu creates, while still keeping your app up-to-date?
One of the more obvious avenues to explore is grouping updates together. While we are still convinced individual PRs are easier to assess and to merge, there are a few situations where grouping makes sense.
The first one I want to talk about is monorepo libraries.
react-dom at the same time, so getting individual PRs for each of them from Depfu is not only more noise than necessary, it’s pretty much just wrong.
In Ruby there is less of a need for this, since it’s mostly handled with subdependencies. Even though Rails also gets developed in a monorepo, in most cases you would only have the top-level dependency
rails defined in your Gemfile and all subdependencies get updated together when a new version of Rails is released.
Making a list
So when we encounter a new release from one of these packages, we check if the same exact version got released for the other packages from the same monorepo as well. If yes, we group them together into a single PR, that will update all packages you’re using from that group.
Maybe you’ve already seen one of these new group update PRs, as we’ve released this a few weeks ago:
We hope these changes make Depfu more useful for you when using packages coming from monorepos and reduce the amount of PRs just a little bit. If you have any questions, ideas or feedback about this: Let us know on Twitter or via email.