|
1 | 1 | { |
2 | | - $schema: "https://docs.renovatebot.com/renovate-schema.json", |
3 | | - extends: ["group:monorepos"], |
| 2 | + $schema: 'https://docs.renovatebot.com/renovate-schema.json', |
| 3 | + extends: ['group:monorepos'], |
4 | 4 | dependencyDashboard: true, |
5 | | - rangeStrategy: "replace", |
| 5 | + rangeStrategy: 'replace', |
6 | 6 | automerge: false, |
7 | 7 |
|
8 | 8 | // Temporary workaround for https://github.com/renovatebot/renovate/discussions/30812 |
9 | 9 | ignoreScripts: false, |
10 | 10 |
|
11 | 11 | // Schedule Renovate to run during off-peak hours |
12 | | - schedule: [ |
13 | | - "after 10:00pm every weekday", |
14 | | - "before 5:00am every weekday", |
15 | | - "every weekend", |
16 | | - ], |
| 12 | + schedule: ['after 10:00pm every weekday', 'before 5:00am every weekday', 'every weekend'], |
17 | 13 | prConcurrentLimit: 8, |
18 | 14 | prHourlyLimit: 4, |
19 | | - timezone: "America/Tijuana", |
| 15 | + timezone: 'America/Tijuana', |
20 | 16 |
|
21 | 17 | // Commit and PR customization |
22 | | - commitBody: "See associated pull request for more information.", |
23 | | - semanticCommits: "enabled", |
24 | | - semanticCommitScope: "", |
25 | | - semanticCommitType: "build", |
26 | | - labels: ["area: build & ci", "action: merge"], |
| 18 | + commitBody: 'See associated pull request for more information.', |
| 19 | + semanticCommits: 'enabled', |
| 20 | + semanticCommitScope: '', |
| 21 | + semanticCommitType: 'build', |
| 22 | + labels: ['area: build & ci', 'action: merge'], |
27 | 23 |
|
28 | 24 | lockFileMaintenance: { |
29 | 25 | enabled: true, |
|
36 | 32 |
|
37 | 33 | // Ignored dependencies in all repositories |
38 | 34 | ignoreDeps: [ |
39 | | - "rules_pkg", |
40 | | - "yarn", // Yarn is copied locally in all repositories where needed. |
| 35 | + 'rules_pkg', |
| 36 | + 'yarn', // Yarn is copied locally in all repositories where needed. |
41 | 37 | ], |
42 | 38 |
|
43 | 39 | // Renovate does not update Bazel lockfile for the time being. |
44 | 40 | // Workaround for https://github.com/renovatebot/renovate/issues/25557 |
45 | 41 | postUpgradeTasks: { |
46 | 42 | commands: [ |
47 | | - "git restore .npmrc || true", |
48 | | - "pnpm install --frozen-lockfile", |
49 | | - "pnpm bazel mod deps --lockfile_mode=update", |
| 43 | + 'git restore .npmrc || true', // In case `.npmrc` avoid a hard error. |
| 44 | + 'pnpm install --frozen-lockfile', |
| 45 | + 'pnpm bazel mod deps --lockfile_mode=update', |
50 | 46 | ], |
51 | | - fileFilters: ["MODULE.bazel.lock"], |
52 | | - executionMode: "branch", |
| 47 | + executionMode: 'branch', |
53 | 48 | }, |
54 | 49 |
|
55 | 50 | packageRules: [ |
56 | 51 | // ============================================================================ |
57 | 52 | // GENERAL GROUPING & UPDATE BEHAVIOR |
58 | 53 | // ============================================================================ |
| 54 | + |
| 55 | + // Disable 'postUpdateTasks' for changes that do not effect the BAZEL lockfile or generated files. |
| 56 | + { |
| 57 | + postUpgradeTasks: {commands: []}, |
| 58 | + matchManagers: ['!npm', '!bazel', '!bazel-module', '!bazelisk'], |
| 59 | + }, |
| 60 | + |
59 | 61 | // Rule to disable NPM updates on branches other than 'main'. |
60 | 62 | // But allow updating engines and packageManagers. |
61 | 63 | { |
62 | 64 | enabled: false, |
63 | | - matchBaseBranches: ["!main"], |
64 | | - matchDepNames: ["!node", "!pnpm", "!npm", "!yarn"], |
65 | | - matchManagers: ["npm"], |
| 65 | + matchBaseBranches: ['!main'], |
| 66 | + matchDepNames: ['!node', '!pnpm', '!npm', '!yarn'], |
| 67 | + matchManagers: ['npm'], |
66 | 68 | }, |
67 | 69 |
|
68 | 70 | // Group all non-major dependencies together for updates. |
69 | 71 | { |
70 | | - groupName: "all non-major dependencies", |
71 | | - matchDepNames: ["*", "!node", "!pnpm", "!npm", "!yarn"], |
72 | | - matchUpdateTypes: ["digest", "patch", "minor"], |
73 | | - matchManagers: ["npm"], |
| 72 | + groupName: 'all non-major dependencies', |
| 73 | + matchDepNames: ['*', '!node', '!pnpm', '!npm', '!yarn'], |
| 74 | + matchUpdateTypes: ['digest', 'patch', 'minor'], |
| 75 | + matchManagers: ['npm'], |
74 | 76 | }, |
75 | 77 |
|
76 | 78 | // ============================================================================ |
|
79 | 81 |
|
80 | 82 | // Group Bazel updates |
81 | 83 | { |
82 | | - groupName: "bazel dependencies", |
83 | | - matchManagers: ["bazel", "bazel-module"], |
| 84 | + groupName: 'bazel dependencies', |
| 85 | + matchManagers: ['bazel', 'bazel-module'], |
84 | 86 | }, |
85 | 87 |
|
86 | 88 | // Group GitHub Actions workflow |
87 | 89 | { |
88 | | - groupName: "all github actions", |
89 | | - matchManagers: ["github-actions"], |
| 90 | + groupName: 'all github actions', |
| 91 | + matchManagers: ['github-actions'], |
90 | 92 | }, |
91 | 93 |
|
92 | 94 | // ============================================================================ |
|
96 | 98 | // Group updates related to Angular ecosystem across repositories |
97 | 99 | { |
98 | 100 | enabled: true, // Enable NPM updates of cross-repo dependencies on all branches. |
99 | | - groupName: "cross-repo angular dependencies", |
100 | | - followTag: "next", |
| 101 | + groupName: 'cross-repo angular dependencies', |
| 102 | + followTag: 'next', |
101 | 103 | separateMajorMinor: false, |
102 | | - schedule: ["at any time"], |
| 104 | + schedule: ['at any time'], |
103 | 105 | matchPackageNames: [ |
104 | | - "@angular-devkit/**", |
105 | | - "@angular/**", |
106 | | - "@schematics/**", |
107 | | - "angular/**", |
108 | | - "ng-packagr", |
| 106 | + '@angular-devkit/**', |
| 107 | + '@angular/**', |
| 108 | + '@schematics/**', |
| 109 | + 'angular/**', |
| 110 | + 'ng-packagr', |
109 | 111 | ], |
110 | 112 | }, |
111 | 113 |
|
112 | 114 | // @angular/benchpress is not released as 'next' |
113 | 115 | { |
114 | 116 | followTag: null, |
115 | | - matchDepNames: ["@angular/benchpress"], |
| 117 | + matchDepNames: ['@angular/benchpress'], |
116 | 118 | }, |
117 | 119 |
|
118 | 120 | // Disable 'next' tag tracking on non-main branches |
119 | 121 | { |
120 | | - matchBaseBranches: ["!main"], |
| 122 | + matchBaseBranches: ['!main'], |
121 | 123 | followTag: null, |
122 | 124 | }, |
123 | 125 |
|
124 | 126 | // Keep minor and patch updates separate for TypeScript |
125 | 127 | { |
126 | | - matchDepNames: ["typescript"], |
| 128 | + matchDepNames: ['typescript'], |
127 | 129 | separateMinorPatch: true, |
128 | 130 | }, |
129 | 131 |
|
130 | 132 | // Group TypeScript-related packages |
131 | 133 | { |
132 | | - groupName: "typescript dependencies", |
133 | | - matchDepNames: ["typescript", "tslib"], |
| 134 | + groupName: 'typescript dependencies', |
| 135 | + matchDepNames: ['typescript', 'tslib'], |
134 | 136 | }, |
135 | 137 |
|
136 | 138 | // Limit how many times these packages get updated (They deploy each merged PR) |
137 | 139 | { |
138 | | - matchDepNames: ["renovate", "quicktype-core", "google-closure-compiler"], |
139 | | - schedule: ["on sunday and wednesday"], |
| 140 | + matchDepNames: ['renovate', 'quicktype-core', 'google-closure-compiler'], |
| 141 | + schedule: ['on sunday and wednesday'], |
140 | 142 | }, |
141 | 143 |
|
142 | 144 | // ============================================================================ |
|
146 | 148 | // Disable updates for placeholder or 0.0.0-style versions |
147 | 149 | { |
148 | 150 | enabled: false, |
149 | | - matchCurrentVersion: "/^[~^]?0\\.0\\.0-/", |
| 151 | + matchCurrentVersion: '/^[~^]?0\\.0\\.0-/', |
150 | 152 | }, |
151 | 153 |
|
152 | 154 | // Disable major updates for specified dependencies |
153 | 155 | { |
154 | 156 | enabled: false, |
155 | 157 | matchDepNames: [ |
156 | | - "@types/node", |
157 | | - "node", |
158 | | - "bazel", // bazelisk bazel version |
159 | | - "npm", |
160 | | - "rxjs", |
161 | | - "tslib", |
162 | | - "yarn", |
| 158 | + '@types/node', |
| 159 | + 'node', |
| 160 | + 'bazel', // bazelisk bazel version |
| 161 | + 'npm', |
| 162 | + 'rxjs', |
| 163 | + 'tslib', |
| 164 | + 'yarn', |
163 | 165 | ], |
164 | | - matchUpdateTypes: ["major"], |
| 166 | + matchUpdateTypes: ['major'], |
165 | 167 | }, |
166 | 168 |
|
167 | 169 | // Disable TypeScript major and minor updates |
168 | 170 | { |
169 | 171 | enabled: false, |
170 | | - matchDepNames: ["typescript"], |
171 | | - matchUpdateTypes: ["major", "minor"], |
| 172 | + matchDepNames: ['typescript'], |
| 173 | + matchUpdateTypes: ['major', 'minor'], |
172 | 174 | }, |
173 | 175 |
|
174 | 176 | // Rule to disable major updates on branches other than 'main'. |
175 | 177 | { |
176 | 178 | enabled: false, |
177 | | - matchBaseBranches: ["!main"], |
178 | | - matchUpdateTypes: ["major"], |
179 | | - }, |
180 | | - |
181 | | - // Disable 'postUpdateTasks' for changes that do not effect the BAZEL lockfile or generated files. |
182 | | - { |
183 | | - postUpgradeTasks: { commands: [] }, |
184 | | - matchManagers: ["!npm", "!bazel", "!bazel-module", "!bazelisk"], |
| 179 | + matchBaseBranches: ['!main'], |
| 180 | + matchUpdateTypes: ['major'], |
185 | 181 | }, |
186 | 182 | ], |
187 | 183 | } |
0 commit comments