-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
/
renovate.json5
92 lines (90 loc) · 2.62 KB
/
renovate.json5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{
enabledManagers: ['github-actions', 'npm'],
ignoreDeps: [
// AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70
'ajv',
// globby is ESM so we can't go any higher right now
'globby',
// this dep is now ESM only
'execa',
// Some kind of weird caching issue:
// https://github.com/typescript-eslint/typescript-eslint/issues/6230
'ts-node',
// the nx packages get updated using the nx migrate CLI
'@nrwl/cli',
'@nx/cli',
'@nrwl/devkit',
'@nx/devkit',
'@nx/jest',
'@nx/jest',
'@nrwl/nx-cloud',
'nx-cloud',
'@nrwl/tao',
],
ignorePaths: [
// integration test package.json's should never be updated as they're purposely fixed tests
'tests/integration/fixtures',
],
internalChecksFilter: 'strict',
labels: ['dependencies'],
dependencyDashboard: true,
dependencyDashboardLabels: ['dependencies', 'repo maintenance'],
major: {
// most majors will require some manual effort to upgrade to, so we don't want to create
// PRs automatically or else we'll just spam ourselves.
dependencyDashboardApproval: true,
},
// by default renovate will auto-rebase whenever the dep pranch falls behind main.
// this is annoying as it spams notifications and creates unnecessary action runs.
// instead only auto-rebase when conflicted, and we can trigger a manual rebase if required.
rebaseWhen: 'conflicted',
packageRules: [
// automerge everything but major updates
{
matchUpdateTypes: ['minor', 'patch', 'pin', 'digest'],
automerge: true,
automergeStrategy: 'squash',
},
// label PRs appropriately
{
matchManagers: ['npm'],
addLabels: ['javascript'],
},
{
matchManagers: ['github-actions'],
addLabels: ['github-actions'],
},
// batch package sets together
{
extends: ['packages:react'],
groupName: 'react',
},
{
extends: ['monorepo:docusaurus'],
groupName: 'docusaurus',
},
{
extends: ['monorepo:nrwl'],
groupName: 'nx',
},
{
matchPackagePrefixes: ['@babel', 'babel-'],
groupName: 'babel',
},
{
matchPackageNames: ['ts-jest', 'pretty-format'],
matchPackagePrefixes: ['@types/jest', 'jest', '@jest'],
groupName: 'jest',
},
{
matchPackageNames: ['eslint'],
matchPackagePrefixes: ['@eslint'],
groupName: 'eslint',
},
],
postUpdateOptions: [
// run yarn dedupe to cleanup the lockfile after updates
'yarnDedupeHighest',
],
stabilityDays: 3,
}