-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrenovate.json
More file actions
95 lines (95 loc) · 3.83 KB
/
Copy pathrenovate.json
File metadata and controls
95 lines (95 loc) · 3.83 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
84
85
86
87
88
89
90
91
92
93
94
95
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":dependencyDashboard",
":semanticCommits",
"security:minimumReleaseAgeNpm",
"group:definitelyTyped",
"group:jsUnitTest",
"group:nextjsMonorepo"
],
"timezone": "Asia/Seoul",
"schedule": ["before 10am on monday"],
"prHourlyLimit": 2,
"prConcurrentLimit": 10,
"rangeStrategy": "bump",
"labels": ["dependencies"],
"lockFileMaintenance": {
"enabled": true,
"schedule": ["before 10am on monday"],
"automerge": true,
"platformAutomerge": true
},
"packageRules": [
{
"description": "프리셋에 없는 그룹 — TanStack",
"matchPackageNames": ["/^@tanstack\\//"],
"groupName": "tanstack"
},
{
"description": "프리셋에 없는 그룹 — Panda CSS",
"matchPackageNames": ["/^@pandacss\\//"],
"groupName": "panda"
},
{
"description": "GitHub Actions는 ci scope로 묶는다 (기본 scope는 deps)",
"matchManagers": ["github-actions"],
"groupName": "ci",
"semanticCommitScope": "ci"
},
{
"description": "devDependencies의 minor/patch는 자동 머지",
"matchDepTypes": ["devDependencies"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "프로덕션 의존성은 patch만 자동 머지",
"matchDepTypes": ["dependencies"],
"matchUpdateTypes": ["patch"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "pnpm-workspace.yaml의 overrides·catalog도 minor/patch까지 자동 머지. overrides는 대부분 transitive 의존성의 보안 패치이고, catalog는 전역 고정이라 영향 범위가 넓지만 CI가 lint·types·test를 모두 돌린다. 이 규칙이 없으면 depType이 dependencies/devDependencies 어느 쪽도 아니라 automerge가 전혀 걸리지 않는다",
"matchDepTypes": ["pnpm-workspace.overrides", "/^pnpm\\.catalog\\./"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "@types/*는 타입 정의뿐이라 minor까지 자동 머지",
"matchPackageNames": ["/^@types\\//"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "GitHub Actions의 minor/patch도 자동 머지",
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "brace-expansion·js-yaml overrides는 소비자가 요구하는 major 라인에 묶여 있다. minimatch@3(eslint 경유)은 brace-expansion v1의 CJS 콜러블 export를, gray-matter는 js-yaml v3의 safeLoad를 각각 요구한다. major를 올리면 lint와 프론트매터 파싱이 즉시 죽으므로 제안 자체를 막는다. advisory는 두 라인 모두 백포트가 있어 major 없이 닫힌다",
"matchDepTypes": ["pnpm-workspace.overrides"],
"matchPackageNames": ["brace-expansion", "js-yaml"],
"matchUpdateTypes": ["major"],
"enabled": false
},
{
"description": "@ssgoi/react는 업데이트 제안을 막는다. v7이 PageTransition의 API(paths·preserveScroll, AnyTransitionConfig 형태 등)와 비호환이라 마이그레이션 없이는 빌드가 깨진다(#246). 마이그레이션을 마치면 이 규칙을 지울 것",
"matchPackageNames": ["@ssgoi/react"],
"enabled": false
},
{
"description": "major는 자동 머지하지 않고 deps-major 라벨을 붙인다 — 이 라벨이 붙은 PR만 claude-code-review.yml이 리뷰한다",
"matchUpdateTypes": ["major"],
"addLabels": ["deps-major"],
"automerge": false
}
]
}