Skip to content

Commit 53ee257

Browse files
committed
build: update bazel dependencies
See: #31762 for more info
1 parent 5cc8c84 commit 53ee257

File tree

5 files changed

+108
-41
lines changed

5 files changed

+108
-41
lines changed

.pnpmfile.cjs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
const localPackages = new Set([
2+
'@angular-devkit/build-angular',
3+
'@angular-devkit/build-webpack',
4+
'@ngtools/webpack',
5+
]);
6+
7+
const peerDependenciesToTransform = ['webpack', 'webpack-dev-server', 'browser-sync'];
8+
9+
function readPackage(pkg, context) {
10+
// TODO(devversion): This allows us to make the peer dependencies of (e.g. webpack) a production dependency.
11+
// because `rules_js` doesn't otherwise include the dependency in the `npm_package_store`.
12+
// See: https://github.com/aspect-build/rules_js/issues/2226
13+
if (!pkg.peerDependencies || !localPackages.has(pkg.name)) {
14+
return pkg;
15+
}
16+
17+
for (const key of peerDependenciesToTransform) {
18+
// Any package that has a peerDependency on these deps, should instead treat the peerDependency as a
19+
// regular dependency.
20+
if (!pkg.peerDependencies[key]) {
21+
continue;
22+
}
23+
24+
if (!pkg.devDependencies?.[key]) {
25+
throw new Error(
26+
`${key} is listed as a peerDependency in ${pkg.name}, but it is not listed in devDependencies. This is required.`,
27+
);
28+
}
29+
30+
pkg.dependencies ??= {};
31+
pkg.dependencies[key] = pkg.devDependencies[key];
32+
pkg.devDependencies[key] = undefined;
33+
}
34+
35+
return pkg;
36+
}
37+
38+
module.exports = {
39+
hooks: {
40+
readPackage,
41+
},
42+
};

MODULE.bazel

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module(
66

77
bazel_dep(name = "yq.bzl", version = "0.3.1")
88
bazel_dep(name = "rules_nodejs", version = "6.6.0")
9-
bazel_dep(name = "aspect_rules_js", version = "2.8.0")
9+
bazel_dep(name = "aspect_rules_js", version = "2.8.1")
1010
bazel_dep(name = "aspect_rules_ts", version = "3.7.1")
1111
bazel_dep(name = "rules_pkg", version = "0.8.1")
1212

@@ -26,7 +26,7 @@ bazel_dep(name = "aspect_rules_jasmine", version = "2.0.0")
2626
bazel_dep(name = "rules_angular")
2727
git_override(
2828
module_name = "rules_angular",
29-
commit = "f56849353ab74c3f5ede0efa7d0bf7266fddddcb",
29+
commit = "74d8baec22a5ffd3a1a36bac252399fa125a6c4b",
3030
remote = "https://github.com/devversion/rules_angular.git",
3131
)
3232

@@ -115,6 +115,7 @@ npm.npm_translate_lock(
115115
"webdriver-manager": "node ./bin/webdriver-manager update --standalone false --gecko false --versions.chrome 106.0.5249.21",
116116
},
117117
data = [
118+
"//:.pnpmfile.cjs",
118119
"//:package.json",
119120
"//:pnpm-workspace.yaml",
120121
"//modules/testing/builder:package.json",

MODULE.bazel.lock

Lines changed: 34 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@
169169
}
170170
},
171171
"resolutions": {
172-
"typescript": "5.9.3",
173172
"undici-types": "^7.16.0"
174173
}
175174
}

0 commit comments

Comments
 (0)