Skip to content

Commit 3503893

Browse files
Migrate config renovate.json5
1 parent 54e5037 commit 3503893

1 file changed

Lines changed: 35 additions & 79 deletions

File tree

renovate.json5

Lines changed: 35 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,55 @@
11
{
2-
// Validate against Renovate JSON schema
32
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
4-
5-
// Base configuration presets
63
extends: [
7-
'config:best-practices', // Use Renovate's recommended best practices
8-
'mergeConfidence:all-badges', // Enable merge confidence badges
9-
':timezone(America/Indiana/Indianapolis)', // Set timezone
10-
':enableVulnerabilityAlerts', // Enable security vulnerability alerts
11-
':automergeMinor', // Auto-merge minor updates
12-
'group:react', // Group React packages together
13-
'group:reactMonorepo', // Group React monorepo packages
14-
'group:eslintMonorepo', // Group ESLint monorepo packages
15-
'group:linters', // Group linting tools
16-
'group:jestMonorepo', // Group Jest monorepo packages
17-
'group:jestPlusTypes', // Group Jest with its types
18-
'group:jestPlusTSJest', // Group Jest with TypeScript Jest
4+
'config:best-practices',
5+
'mergeConfidence:all-badges',
6+
':timezone(America/Indiana/Indianapolis)',
7+
':enableVulnerabilityAlerts',
8+
':automergeMinor',
9+
'group:react',
10+
'group:reactMonorepo',
11+
'group:eslintMonorepo',
12+
'group:linters',
13+
'group:jestMonorepo',
14+
'group:jestPlusTypes',
15+
'group:jestPlusTSJest',
1916
],
20-
21-
// Version management strategies
22-
rangeStrategy: 'bump', // Bump ranges to next version
23-
bumpVersion: 'patch', // Use patch version for bumping
24-
25-
// Enable dependency dashboard for overview
17+
rangeStrategy: 'bump',
18+
bumpVersion: 'patch',
2619
dependencyDashboard: true,
27-
28-
// Rate limiting to avoid overwhelming CI
29-
prConcurrentLimit: 10, // Max 10 concurrent PRs
30-
prHourlyLimit: 0, // No hourly limit
31-
32-
// Rebase strategy
20+
prConcurrentLimit: 10,
21+
prHourlyLimit: 0,
3322
rebaseWhen: 'auto',
34-
35-
// Schedule for when to run updates
3623
schedule: [
3724
'after 8am and before 5pm on monday',
3825
],
39-
40-
// Schedule for when to automerge
4126
automergeSchedule: [
4227
'after 8am and before 5pm on weekdays',
4328
],
44-
45-
// Allow updates outside of schedule
4629
updateNotScheduled: false,
47-
48-
// Give everything some time to bake
4930
minimumReleaseAge: '3 days',
50-
51-
// Automerge via PR by default
52-
automerge: true, // Automerge non-major npm updates
31+
automerge: true,
5332
automergeType: 'pr',
54-
55-
// Security update configuration
5633
vulnerabilityAlerts: {
57-
automerge: true, // Auto-merge security fixes
34+
automerge: true,
5835
labels: [
5936
'security',
6037
],
61-
vulnerabilityFixStrategy: 'lowest', // Use lowest possible version that fixes vulnerability
62-
prCreation: 'immediate', // Create PRs immediately for security issues
38+
vulnerabilityFixStrategy: 'lowest',
39+
prCreation: 'immediate',
6340
},
64-
65-
// Enable OSV vulnerability alerts
6641
osvVulnerabilityAlerts: true,
67-
68-
// Disable platform automerge (use Renovate's automerge instead)
6942
platformAutomerge: false,
70-
71-
// Assign PRs to myself
72-
"assignees": ["stanlemon"],
73-
74-
// Add labels to PRs
75-
"labels": ["renovate-pr"],
76-
77-
78-
// Package-specific rules
43+
assignees: [
44+
'stanlemon',
45+
],
46+
labels: [
47+
'renovate-pr',
48+
],
7949
packageRules: [
8050
{
81-
// Special handling for @stanlemon packages (my own packages)
8251
groupName: 'my own packages',
83-
minimumReleaseAge: null, // No waiting period for my own packages
52+
minimumReleaseAge: null,
8453
matchPackageNames: [
8554
'/^@stanlemon/',
8655
],
@@ -89,18 +58,16 @@
8958
'minor',
9059
'patch',
9160
],
92-
automergeType: 'branch', // Use branch automerge for faster deployment
61+
automergeType: 'branch',
9362
automerge: true,
9463
},
9564
{
96-
// Disable updating nodejs package peer dependencies
9765
matchDepTypes: [
9866
'peerDependencies',
9967
],
10068
enabled: false,
10169
},
10270
{
103-
// Group Node.js minor/patch updates together
10471
groupName: 'nodejs updates (non-major)',
10572
matchPackageNames: [
10673
'node',
@@ -122,17 +89,16 @@
12289
'docker-compose',
12390
'dockerfile',
12491
],
125-
matchFiles: [
92+
matchFileNames: [
12693
'package.json',
12794
'.nvmrc',
12895
'Dockerfile',
12996
'docker-compose.yml',
13097
],
131-
minimumReleaseAge: '3 days', // Quick updates for minor/patch
132-
automerge: false, // Don't automerge Node.js updates due to potential breaking changes
98+
minimumReleaseAge: '3 days',
99+
automerge: false,
133100
},
134101
{
135-
// Override datasource for node package in npm to use node-version
136102
groupName: 'nodejs updates (non-major)',
137103
matchPackageNames: [
138104
'node',
@@ -144,7 +110,6 @@
144110
overridePackageName: 'node',
145111
},
146112
{
147-
// Override datasource for node package in nvm to use node-version
148113
groupName: 'nodejs updates (non-major)',
149114
matchPackageNames: [
150115
'node',
@@ -156,7 +121,6 @@
156121
overridePackageName: 'node',
157122
},
158123
{
159-
// Override datasource for @types/node to use node-version
160124
groupName: 'nodejs updates (non-major)',
161125
matchPackageNames: [
162126
'@types/node',
@@ -168,7 +132,6 @@
168132
overridePackageName: 'node',
169133
},
170134
{
171-
// Override datasource for node package in docker to use node-version
172135
groupName: 'nodejs updates (non-major)',
173136
matchPackageNames: [
174137
'node',
@@ -180,7 +143,6 @@
180143
overridePackageName: 'node',
181144
},
182145
{
183-
// Special LTS gate for Node.js major version updates
184146
groupName: 'nodejs major updates (LTS gate)',
185147
matchDatasources: [
186148
'node-version',
@@ -192,39 +154,35 @@
192154
matchUpdateTypes: [
193155
'major',
194156
],
195-
minimumReleaseAge: '7 months', // Wait longer for major Node.js releases
196-
internalChecksFilter: 'strict', // Strict internal checks for major updates
197-
automerge: false, // Don't automerge major Node.js updates
157+
minimumReleaseAge: '7 months',
158+
internalChecksFilter: 'strict',
159+
automerge: false,
198160
matchManagers: [
199161
'npm',
200162
'nvm',
201163
'docker-compose',
202164
'dockerfile',
203165
],
204-
matchFiles: [
166+
matchFileNames: [
205167
'package.json',
206168
'.nvmrc',
207169
'Dockerfile',
208170
'docker-compose.yml',
209171
],
210172
},
211173
{
212-
// NPM Major updates (non-grouped)
213174
matchManagers: [
214175
'npm',
215176
],
216177
matchUpdateTypes: [
217178
'major',
218179
],
219-
// Exclude my own packages (handled separately)
220180
matchPackageNames: [
221181
'!/^@stanlemon\\//',
222182
],
223-
// Don't automerge major updates
224183
automerge: false,
225184
},
226185
{
227-
// Group GitHub Actions digest updates together
228186
groupName: 'github actions digests',
229187
groupSlug: 'github-actions-digests',
230188
matchManagers: [
@@ -235,7 +193,6 @@
235193
],
236194
},
237195
{
238-
// Catch-all rule for npm non-major updates
239196
groupName: 'npm non-major (catch-all)',
240197
groupSlug: 'npm-all-non-major',
241198
matchManagers: [
@@ -245,7 +202,6 @@
245202
'minor',
246203
'patch',
247204
],
248-
// Exclude my own packages (handled separately)
249205
matchPackageNames: [
250206
'!/^@stanlemon\\//',
251207
],

0 commit comments

Comments
 (0)