-
Notifications
You must be signed in to change notification settings - Fork 0
/
renovate.json5
71 lines (71 loc) · 2.63 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
{
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
/**
* Documentation: https://docs.renovatebot.com/configuration-options
*
* This configuration file can be locally validated:
* 1. `npm i -g renovate` will install the validator
* 2. `renovate-config-validator` will run the validator
*/
dependencyDashboard: true,
/**
* Apply these labels to every PR
*/
labels: ['dependencies'],
/**
* The minimum age (in days) for updates that have a release timestamp header to be PR'ed.
* This will not batch releases together - if package A gets a release on Monday, Tuesday and Wednesday and has a
* `minimumReleaseAge: 3` and runs every day, then a PR will be created on:
* - Thursday (for Monday's release)
* - Friday (for Tuesday's release)
* - Saturday (for Wednesday's release)
*
* This setting is to prevent a compromised package from being merged into Stencil in the first three days of its
* release date
*
* A value of 3 days was chosen as npm packages younger than 72 hours old can be unpublished. This prevents merging
* support for a package that could be removed from the registry.
*/
minimumReleaseAge: '3 days',
/**
* Note: Renovate will evaluate all packageRules and not stop once it gets a first match.
*/
packageRules: [
{
matchPackageNames: ['@types/node'],
allowedVersions: '<21.0.0',
},
{
matchPackagePrefixes: ['@vitest', 'vitest'],
groupName: 'Vitest',
},
{
// auto-merge anything that's not a major version bump
matchUpdateTypes: ['minor', 'patch', 'pin', 'digest'],
automerge: true,
automergeStrategy: 'rebase',
},
],
// Rebase the branch to avoid a 'stalled' dependency update due to it falling behind
rebaseWhen: 'behind-base-branch',
/**
* Run every Monday and Thursday between midnight at 11 AM (in UTC)
*
* Monday and Thursday were chosen to:
* - Keep the `minimumReleaseAge` value in mind (three days)
* - Prevent spikes/bursts of PRs from Renovate on a single day of the week
*
* We use cron syntax here as it's more deterministic/easier to provide a value that we know that Renovate will
* accept, compared to the natural language syntax which is (subjectively) trickier to test without merging first.
*
* {@see https://crontab.guru} for debugging cron schedules
*/
schedule: ['* 0-11 * * 1,4'],
/**
* Ensure semantic commits are enabled for commits + PR titles.
*
* By default, Angular-style semantic commits will have a type of 'chore' and a scope of 'deps':
* `chore(deps): _your git commit title here_`
*/
semanticCommits: 'enabled',
}