Skip to content

Commit

Permalink
feat: disable pre-commit manager (#11616)
Browse files Browse the repository at this point in the history
Disables pre-commit manager by default.

BREAKING CHANGE: pre-commit manager is no longer enabled by default, and must be opted into manually.
  • Loading branch information
rarkins committed Sep 9, 2021
1 parent d6d4124 commit 8c9c04b
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
6 changes: 6 additions & 0 deletions lib/config/presets/internal/default.ts
Expand Up @@ -33,6 +33,12 @@ export const presets: Record<string, Preset> = {
},
],
},
enablePreCommit: {
description: 'Enable the pre-commit manager',
'pre-commit': {
enabled: true,
},
},
ignoreModulesAndTests: {
description:
'Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories',
Expand Down
4 changes: 4 additions & 0 deletions lib/manager/pre-commit/index.ts
Expand Up @@ -2,5 +2,9 @@ export { extractPackageFile } from './extract';

export const defaultConfig = {
commitMessageTopic: 'pre-commit hook {{depName}}',
enabled: false,
fileMatch: ['(^|/)\\.pre-commit-config\\.yaml$'],
prBodyNotes: [
'Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://github.com/renovatebot/renovate/discussions/new) if you have any questions.',
],
};
20 changes: 19 additions & 1 deletion lib/manager/pre-commit/readme.md
@@ -1,4 +1,10 @@
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 `fileMatch` configuration).
_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 upgrade` 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 therefore 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](https://github.com/renovatebot/renovate/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Amanager%3Apre-commit).

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 `fileMatch` configuration).
Updates are performed if the files follow the conventional format used in typical pre-commit files:

```yaml
Expand All @@ -8,3 +14,15 @@ repos:
hooks:
- id: some-hook-id
```

To enable the `pre-commit` manager, add the following config:

```json
{
"pre-commit": {
"enabled": true
}
}
```

Alternatively, add `:enablePreCommit` to your `extends` array.

0 comments on commit 8c9c04b

Please sign in to comment.