diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..768e3bf --- /dev/null +++ b/renovate.json @@ -0,0 +1,94 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "semanticCommits": "enabled", + "labels": [ + "dependencies" + ], + "assignees": [], + "reviewers": [], + "packageRules": [ + { + "description": "Group all non-major updates together", + "matchUpdateTypes": [ + "minor", + "patch", + "pin", + "digest" + ], + "groupName": "all non-major dependencies", + "groupSlug": "all-minor-patch" + }, + { + "description": "Automerge non-major updates", + "matchUpdateTypes": [ + "minor", + "patch", + "pin", + "digest" + ], + "automerge": true, + "minimumReleaseAge": "7 days" + }, + { + "description": "Require approval for major updates", + "matchUpdateTypes": [ + "major" + ], + "automerge": false + }, + { + "description": "Group TypeScript and related type definitions", + "matchPackagePatterns": [ + "^typescript$", + "^@types/" + ], + "groupName": "TypeScript and type definitions" + }, + { + "description": "Group ESLint and related packages", + "matchPackagePatterns": [ + "^eslint", + "^@eslint/" + ], + "groupName": "ESLint packages" + }, + { + "description": "Group testing packages", + "matchPackagePatterns": [ + "^vitest", + "^@vitest/" + ], + "groupName": "Testing packages" + }, + { + "description": "Group gRPC packages", + "matchPackagePatterns": [ + "^@grpc/", + "^grpc$" + ], + "groupName": "gRPC packages" + }, + { + "description": "Group protobuf packages", + "matchPackagePatterns": [ + "^@?[^/]*protobuf", + "^ts-proto$" + ], + "groupName": "Protobuf packages" + } + ], + "vulnerabilityAlerts": { + "labels": [ + "security" + ], + "automerge": false + }, + "schedule": [ + "before 6am on Monday" + ], + "prConcurrentLimit": 5, + "prHourlyLimit": 2 +} \ No newline at end of file