* fix(util/http): make the legacy `headers` getter configurable Every other property defined on `HttpError.prototype` in this file is `configurable`, but `headers` was not. That makes the module fail with `TypeError: Cannot redefine property: headers` whenever a test resets the module registry and re-imports anything that pulls in `got.ts`. Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager/pre-commit): cover the suppress-warning env var `defaultConfig.prBodyNotes` drops the unsupported-manager warning when `RENOVATE_X_SUPPRESS_PRE_COMMIT_WARNING` is set. Since the value is computed at module load, the new spec resets the module registry and re-imports the manager with the variable stubbed. The `istanbul ignore next` on that arm is dropped because the branch is now exercised. Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> * refactor(manager): remove unreachable fallbacks Drop three defensive fallbacks that can never be taken: - `docker-compose`: `config.services ?? config` always yields an object, so the `|| {}` guard behind it is dead - `git-submodules`: `git.raw()` resolves to a string, so the `?? ''` never applies - `maven`: the only site that builds a `MavenProp` always passes a `packageFile` string, so narrow the type and drop the `?? undefined` Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> --------- Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io>
Important note: The pre-commit manager is disabled by default and must be opted into through config.
Renovate's approach to version updating is not fully aligned with pre-commit autoupdate and this has caused frustration for pre-commit's creator/maintainer.
Attempts to work with the pre-commit project to fix these gaps have been rejected, so we have chosen to disable the manager by default indefinitely.
Please do not contact the pre-commit project/maintainer about any Renovate-related topic.
To view a list of open issues related to the pre-commit manager in Renovate, see the filtered list using the manager:pre-commit label.
When enabled, Renovate supports updating of Git dependencies within pre-commit configuration .pre-commit-config.yaml files or other YAML files that use the same format (via managerFilePatterns configuration).
Updates are performed if the files follow the conventional format used in typical pre-commit files:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.0.0
hooks:
- id: some-hook-id
To enable the pre-commit manager, add the following config:
{
"pre-commit": {
"enabled": true
}
}
Alternatively, add :enablePreCommit to your extends array.
Additional Dependencies
Renovate has partial support for additional_dependencies, currently Go, Node.js and Python only.
You will need to explicitly add the language to your hooks with additional_dependencies to let Renovate know
what kind of dependencies they are.
Examples for the supported languages are listed below.
Go
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
hooks:
- id: actionlint
language: golang
additional_dependencies:
- 'github.com/wasilibs/go-shellcheck/cmd/shellcheck@v0.10.0'
Node.js
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0
hooks:
- id: prettier
language: node
additional_dependencies:
- '@trivago/prettier-plugin-sort-imports@^5.2.2'
- prettier@^3.6.2
Python
- repo: https://github.com/psf/black
rev: 19.3b0
hooks:
- id: black
language: python
additional_dependencies:
- 'requests==1.1.1'