-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnpm.json5
More file actions
83 lines (72 loc) · 2.52 KB
/
npm.json5
File metadata and controls
83 lines (72 loc) · 2.52 KB
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
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"schedule:weekly",
"group:allNonMajor",
"helpers:disableTypesNodeMajor",
":widenPeerDependencies",
":semanticCommitTypeAll(chore)"
// For my own library projects, I'm very selective on dependencies,
// so the unpublishSafe rule is not needed.
// But in an application project with lots of external dependencies,
// it's safer to enable it.
// "npm:unpublishSafe"
],
// Should update internal deps in a monorepo
"updateInternalDeps": true,
// The default value 2 only makes sense when onboarding with a config that could create too many PRs.
// For this preset, 5 is a more reasonable expectation (considering there're only so many groups).
"prHourlyLimit": 5,
// Most of the time I'm writing libraries so `bump` makes more sense to me than `auto`
"rangeStrategy": "bump",
"labels": ["dependencies"],
// TODO:
// Fix node & @types/node strategy
// Should be scheduled on May 1th on every year,
// because the previous LTS version reaches EOL on April 30th
"ignoreDeps": ["node"],
"packageRules": [
// It's easier to deal with all the Vite plugins at once when Vite ships a new major version
{
"extends": ["packages:vite"],
"groupName": "vite packages"
},
// TypeScript doesn't follow semver, so we need to separate minor and patch updates
// <https://www.semver-ts.org/1-background.html>
{
"matchDepNames": ["typescript"],
"groupName": "typescript",
"rangeStrategy": "tilde",
"separateMinorPatch": true,
"separateMultipleMinor": true
},
// eslint-plugin-vue suggests to use `~` range starting from v10
{
"matchDepNames": ["eslint-plugin-vue"],
"matchNewValue": "10.*",
"groupName": "eslint-plugin-vue",
"rangeStrategy": "tilde"
},
// Prettier, when used as a devDependency to format code, should be pinned.
// SemVer only applies to its API, not its formatting behavior.
{
"matchDepNames": ["prettier"],
"matchDepTypes": ["devDependencies"],
"groupName": "prettier",
"rangeStrategy": "pin"
},
// Minor releases for v0.x packages may contain breaking changes
{
"matchCurrentVersion": "/^0./",
"groupName": "v0.x",
"separateMinorPatch": true
},
// Update Oxlint packages together
{
"matchDepNames": ["oxlint", "eslint-plugin-oxlint"],
"groupName": "oxlint",
"rangeStrategy": "tilde"
}
]
}