forked from apollographql/apollo-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
renovate.json5
75 lines (75 loc) · 3.14 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
{
"extends": [
"apollo-open-source",
"group:graphqlcodegeneratorMonorepo",
"group:graphql-toolsMonorepo",
],
"schedule": null,
baseBranches: ["main", "version-4"],
// Override this value set in apollo-open-source back to the default.
// It's nice to be able to see PRs for everything in the Dependency Dashboard.
prCreation: "immediate",
// Disable circleci manager; see apollographql/federation's renovate file for details.
"enabledManagers": ["npm"],
"dependencyDashboard": true,
// It seems like a nice idea to let Renovate use GitHub's native "automerge" since PRs
// can get merged between Renovate runs. The downsides are:
// - Renovate doesn't seem to set up the automerges to use squash-and-merge (this is
// likely going to be fixed, see eg https://github.com/renovatebot/renovate/issues/12290)
// - When Renovate does the merge itself, it does its best to ensure that the PR is fully
// rebased on main so that the CI that ran is based on main rather than a possibly slightly
// old branch point. GH auto-merge doesn't have that property so it's a bit more likely that
// a deps update could break the build if there are recent related changes.
platformAutomerge: false,
"packageRules": [
// Bunch up all non-major dependencies into a single PR. In the common case
// where the upgrades apply cleanly, this causes less noise and is resolved faster
// than starting a bunch of upgrades in parallel for what may turn out to be
// a suite of related packages all released at once.
{
"groupName": "all non-major dependencies",
"matchUpdateTypes": ["patch", "minor"],
"groupSlug": "all-minor-patch",
},
// We are currently working on v16 support; let's pin to v15 until we do so.
// See #5605 and #5844.
{
matchPackageNames: ["graphql"],
allowedVersions: "15.x"
},
// We need to support Node v12, so we don't allow ourselves to use type definitions
// that would let us write v14-specific code. (In AS4, we stay on v14 instead.)
{
matchPackageNames: ["@types/node"],
matchBaseBranches: ["main"],
allowedVersions: "12.x"
},
{
matchPackageNames: ["@types/node"],
matchBaseBranches: ["version-4"],
allowedVersions: "14.x"
},
// The changes required to upgrade to v7 aren't 100% trivial, so they're not worth
// doing on main, just on version-4. (Oddly, @types/lru-cache skipped directly from
// v5 to v6.)
{
matchPackageNames: ["lru-cache"],
matchBaseBranches: ["main"],
allowedVersions: "6.x"
},
{
matchPackageNames: ["@types/lru-cache"],
matchBaseBranches: ["main"],
allowedVersions: "5.x"
},
// node-fetch v3 only ships as ESM. We currently build to CommonJS and even
// if we start publishing as ESM (#5627) we're not going to go ESM-only
// for a while. (Plus it requires Node v12.20 and we technically support
// v12.0.) So let's stay on v2. (Perhaps we could swap to undici instead
// if this pin gets to be a problem.)
{
"matchPackageNames": ["node-fetch", "@types/node-fetch"],
"allowedVersions": "2.x"
},
]
}