mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-11 22:46:27 +00:00
f9e3e80e0c
Closes #12024 Co-authored-by: Rhys Arkins <rhys@arkins.net> Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> Co-authored-by: Bastian Gutschke <bastian.gutschke@gmx.de> BREAKING CHANGE: Preset config:base is now called config:recommended
2.3 KiB
2.3 KiB
Creating/editing Renovate presets
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.
General rules
- Avoid creating presets for problems which can be fixed upstream
- The internal preset should be helpful for a significant number of Renovate users
Specific rules
Group presets
We have multiple kinds of group:
presets, with different rules.
Rules for group:monorepo
preset
- Only group dependencies that must be updated together
Rules for group:recommended
presets
- 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
Rules for group:*
presets
- 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:recommended
, which includesgroup:monorepo
andgroup:recommended
Replacement presets
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
Monorepo presets
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