Renovate comes with default presets that you can find in the lib/config/presets/internal
directory.
You can suggest changes to the presets with a pull request.
Follow the rules below to increase the chance that your pull request gets merged.
- Avoid creating presets for problems which can be fixed upstream
- The internal preset should be helpful for a significant number of Renovate users
We have multiple kinds of group:
presets, with different rules.
- Only group dependencies that must be updated together
- The
group:recommended
preset is for related dependencies which aren't from a monorepo but which usually need to be updated together as separate PRs may each break
- Finally, any other
group:*
presets can be added if they are beneficial to a wide number of users - They don't need to be added to
group:recommended
, meaning that users will "opt in" to them one by one and not get them automatically fromconfig:base
, which includesgroup:monorepo
andgroup:recommended
Rules:
- Replacement PRs should ideally propose a replacement only once the user is on a compatible version, by specifying a compatible
matchCurrentVersion
constraint - If no compatible replacement upgrade is possible, it's acceptable to propose an incompatible one (e.g. a major version upgrade)
- Replacements should update the user to the first recommended version of the new dependency and not include any new changes - whether breaking or not - if they can be avoided
Rules:
- The primary use case of monorepo presets is finding packages from the same origin source repository which should be updated together
- Packages from the same repository which are developed and versioned independently do not need to be grouped as a monorepo, but in many cases we still do
- Packages from separate repositories but which are released together and dependent on each other may also be added to the "monorepo" definitions even if not strictly true