Skip to content

Commit 93f183c

Browse files
Migrate config renovate.json5
1 parent 05ca666 commit 93f183c

1 file changed

Lines changed: 34 additions & 71 deletions

File tree

renovate.json5

Lines changed: 34 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,49 @@
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-
':maintainLockFilesMonthly', // Update lock files monthly
10-
':timezone(America/Indiana/Indianapolis)', // Set timezone
11-
':enableVulnerabilityAlerts', // Enable security vulnerability alerts
12-
':automergeMinor', // Auto-merge minor updates
13-
'group:react', // Group React packages together
14-
'group:reactMonorepo', // Group React monorepo packages
15-
'group:eslintMonorepo', // Group ESLint monorepo packages
16-
'group:linters', // Group linting tools
17-
'group:jestMonorepo', // Group Jest monorepo packages
18-
'group:jestPlusTypes', // Group Jest with its types
19-
'group:jestPlusTSJest', // Group Jest with TypeScript Jest
4+
'config:best-practices',
5+
'mergeConfidence:all-badges',
6+
':maintainLockFilesMonthly',
7+
':timezone(America/Indiana/Indianapolis)',
8+
':enableVulnerabilityAlerts',
9+
':automergeMinor',
10+
'group:react',
11+
'group:reactMonorepo',
12+
'group:eslintMonorepo',
13+
'group:linters',
14+
'group:jestMonorepo',
15+
'group:jestPlusTypes',
16+
'group:jestPlusTSJest',
2017
],
21-
22-
// Version management strategies
23-
rangeStrategy: 'bump', // Bump ranges to next version
24-
bumpVersion: 'patch', // Use patch version for bumping
25-
26-
// Enable dependency dashboard for overview
18+
rangeStrategy: 'bump',
19+
bumpVersion: 'patch',
2720
dependencyDashboard: true,
28-
29-
// Rate limiting to avoid overwhelming CI
30-
prConcurrentLimit: 10, // Max 10 concurrent PRs
31-
prHourlyLimit: 0, // No hourly limit
32-
33-
// Rebase strategy
21+
prConcurrentLimit: 10,
22+
prHourlyLimit: 0,
3423
rebaseWhen: 'auto',
35-
36-
// Schedule for when to run updates
3724
schedule: [
3825
'after 8am and before 5pm on monday',
3926
],
40-
41-
// Schedule for when to automerge
4227
automergeSchedule: [
4328
'after 8am and before 5pm on monday',
4429
],
45-
46-
// Allow updates outside of schedule
4730
updateNotScheduled: false,
48-
49-
// Give everything some time to bake
5031
minimumReleaseAge: '3 days',
51-
52-
// Automerge via PR (not branch)
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-
// Package-specific rules
7243
packageRules: [
7344
{
74-
// Special handling for @stanlemon packages (my own packages)
7545
groupName: 'my own packages',
76-
minimumReleaseAge: null, // No waiting period for my own packages
46+
minimumReleaseAge: null,
7747
matchPackageNames: [
7848
'/^@stanlemon/',
7949
],
@@ -82,18 +52,16 @@
8252
'minor',
8353
'patch',
8454
],
85-
automergeType: 'branch', // Use branch automerge for faster deployment
55+
automergeType: 'branch',
8656
automerge: true,
8757
},
8858
{
89-
// Disable updating nodejs package peer dependencies
9059
matchDepTypes: [
91-
'peerDependencies'
60+
'peerDependencies',
9261
],
93-
enabled: false
62+
enabled: false,
9463
},
9564
{
96-
// Group Node.js updates together
9765
groupName: 'nodejs updates',
9866
matchPackageNames: [
9967
'node',
@@ -112,7 +80,6 @@
11280
],
11381
},
11482
{
115-
// Override datasource for node package in npm to use node-version
11683
matchPackageNames: [
11784
'node',
11885
],
@@ -123,7 +90,6 @@
12390
overridePackageName: 'node',
12491
},
12592
{
126-
// Override datasource for node package in nvm to use node-version
12793
matchPackageNames: [
12894
'node',
12995
],
@@ -134,7 +100,6 @@
134100
overridePackageName: 'node',
135101
},
136102
{
137-
// Override datasource for @types/node to use node-version
138103
matchPackageNames: [
139104
'@types/node',
140105
],
@@ -145,7 +110,6 @@
145110
overridePackageName: 'node',
146111
},
147112
{
148-
// Override datasource for node package in docker to use node-version
149113
matchPackageNames: [
150114
'node',
151115
],
@@ -156,35 +120,34 @@
156120
overridePackageName: 'node',
157121
},
158122
{
159-
// Special handling for Node.js major version updates
160123
groupName: 'node majors (LTS gate)',
161124
matchDatasources: [
162-
'node-version'
125+
'node-version',
163126
],
164127
matchPackageNames: [
165128
'node',
166129
'@types/node',
167130
],
168131
matchUpdateTypes: [
169-
'major'
132+
'major',
170133
],
171-
minimumReleaseAge: '7 months', // Wait longer for major Node.js releases
172-
internalChecksFilter: 'strict', // Strict internal checks for major updates
173-
automerge: false, // Don't automerge major Node.js updates
134+
minimumReleaseAge: '7 months',
135+
internalChecksFilter: 'strict',
136+
automerge: false,
174137
},
175138
{
176-
// Catch-all rule for npm non-major updates
177139
groupName: 'npm non-major (catch-all)',
178140
groupSlug: 'npm-all-non-major',
179141
matchManagers: [
180-
'npm'
142+
'npm',
181143
],
182144
matchUpdateTypes: [
183145
'minor',
184146
'patch',
185147
],
186-
// Exclude my own packages (handled separately)
187-
excludePackageNames: ['/^@stanlemon\\//']
188-
}
148+
matchPackageNames: [
149+
'!/^@stanlemon\\//',
150+
],
151+
},
189152
],
190153
}

0 commit comments

Comments
 (0)