Files
renovate/tools
Jamie Tanna 92ef4c7a80 refactor(config): describe where an option can be used with scopes (#46675)
As noted in #43020, an option which doesn't declare its `parents` is
treated as valid anywhere, which means we can't currently i.e. tell
`automerge` - which is valid at the top level, in a package rule, in a
manager's config and in an update type's config - apart from
`baseBranchPatterns`, which is only valid at the top level.

Instead of making the `parents` explicit - which would require an
exhaustive list of all Managers and `updateType`s that could be used -
we can instead abstract this into a new "scope" type:

- `repo`, for the top level of a config
- `packageRule`, for a `packageRules` entry
- `manager`, for every manager's config object
- `updateType`, for every update type's config object

An option which is only valid in a specific object, like the children of
`hostRules`, will retain the `parents`.

In the future, this will be used to aid config validation and our
generated JSON Schema.

Co-authored-by: Claude Opus 5 <jamie.tanna+claude-code@mend.io>
2026-10-12 11:06:31 +00:00
..