Skip to content

Commit 22120db

Browse files
devversionjosephperrott
authored andcommitted
build: update to rules_nodejs v4.0.0-beta.0 (#42760)
Updates the Bazel NodeJS rules to v4.0.0-beta.0. This is necessary so that the Angular components repo can update, and it's generally good to stay as up-to-date as possible with the Bazel rules as it's easy to fall behind, and updating early allows us to discover issues affecting our tooling earlier (where they are easier to address due to e.g. potential breaking change policy). PR Close #42760
1 parent 24849fc commit 22120db

File tree

28 files changed

+99
-90
lines changed

28 files changed

+99
-90
lines changed

benchmark/driver-utilities/BUILD.bazel

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
package(default_visibility = ["//visibility:public"])
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

3-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
3+
package(default_visibility = ["//visibility:public"])
44

55
ts_library(
66
name = "driver-utilities",
77
srcs = glob(["*.ts"]),
8-
module_name = "@angular/dev-infra-private/benchmark/driver-utilities",
98
tsconfig = "//dev-infra/benchmark/component_benchmark:tsconfig-e2e.json",
109
deps = [
1110
"//packages/benchpress",

caretaker/BUILD.bazel

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
2-
load("//tools:defaults.bzl", "jasmine_node_test")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
ts_library(
54
name = "caretaker",
65
srcs = glob(
76
["**/*.ts"],
87
exclude = ["**/*.spec.ts"],
98
),
10-
module_name = "@angular/dev-infra-private/caretaker",
119
visibility = ["//dev-infra:__subpackages__"],
1210
deps = [
1311
"//dev-infra/release/versioning",
@@ -41,7 +39,6 @@ ts_library(
4139

4240
jasmine_node_test(
4341
name = "test",
44-
bootstrap = ["//tools/testing:node_no_angular_es5"],
4542
deps = [
4643
":test_lib",
4744
],

commit-message/BUILD.bazel

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
load("//tools:defaults.bzl", "jasmine_node_test")
2-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
ts_library(
54
name = "commit-message",
65
srcs = glob(
76
["**/*.ts"],
87
exclude = ["**/*.spec.ts"],
98
),
10-
module_name = "@angular/dev-infra-private/commit-message",
119
visibility = ["//dev-infra:__subpackages__"],
1210
deps = [
1311
"//dev-infra/utils",
@@ -41,7 +39,6 @@ ts_library(
4139

4240
jasmine_node_test(
4341
name = "test",
44-
bootstrap = ["//tools/testing:node_no_angular_es5"],
4542
deps = [
4643
":test_lib",
4744
],

defaults.bzl

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
"""
2+
Defaults for the `//dev-infra` Bazel package. These are different than
3+
the defaults in `//tools:defaults.bzl` which are specific to the package
4+
structure as seen within `/packages/`.
5+
"""
6+
7+
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
8+
load("@npm//@bazel/jasmine:index.bzl", _jasmine_node_test = "jasmine_node_test")
9+
load("@npm//@bazel/typescript:index.bzl", _ts_library = "ts_library")
10+
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")
11+
12+
NPM_PACKAGE_NAME = "@angular/dev-infra-private"
13+
14+
def _compute_module_name():
15+
current_pkg = native.package_name()
16+
17+
if current_pkg == "dev-infra":
18+
return NPM_PACKAGE_NAME
19+
20+
# For deep targets within `//dev-infra` construct the module name in a way that matches
21+
# the structure within the NPM package (i.e. simply appending the actual package path)
22+
return "%s/%s" % (NPM_PACKAGE_NAME, current_pkg[len("dev-infra/"):])
23+
24+
def ts_library(name, **kwargs):
25+
_ts_library(
26+
name = name,
27+
# If no `module_name` is set, compute a module name based on the current Bazel
28+
# package. The module names should match the NPM package structure so that the NPM
29+
# package can be used properly. Note that we disallow any custom `module_name` for
30+
# `//dev-infra` as this usually signifies a mistake we want to raise awareness for.
31+
module_name = _compute_module_name(),
32+
# We use the module name as package name, so that the target can be resolved within
33+
# NodeJS executions, by activating the Bazel NodeJS linker.
34+
# See: https://github.com/bazelbuild/rules_nodejs/pull/2799.
35+
package_name = _compute_module_name(),
36+
**kwargs
37+
)
38+
39+
def jasmine_node_test(**kwargs):
40+
_jasmine_node_test(**kwargs)
41+
42+
# This file continues to serve as indicator for `rules_nodejs` and instructs it to preserve the
43+
# content output in the NPM install workspace. This allows consumers to use rules and targets from
44+
# within Bazel. e.g. by using `@npm//@angular/dev-infra-private/<..>`.
45+
# See: https://github.com/bazelbuild/rules_nodejs/commit/4f508b1a0be1f5444e9c13b0439e649449792fef.
46+
47+
def ng_dev_rolled_up_generated_file(name, entry_point, deps = [], rollup_args = []):
48+
"""Rollup and generated file test macro.
49+
50+
This provides a single macro to create a rollup bundled script and a generated file
51+
test for the created script to ensure it stays up to date in the repository.
52+
"""
53+
rollup_bundle(
54+
name = "%s_bundle" % name,
55+
args = rollup_args,
56+
entry_point = entry_point,
57+
format = "cjs",
58+
silent = True,
59+
sourcemap = "false",
60+
deps = deps,
61+
)
62+
63+
generated_file_test(
64+
name = name,
65+
src = "%s.js" % name,
66+
generated = "%s_bundle" % name,
67+
)

format/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "format",
55
srcs = glob([
66
"**/*.ts",
77
]),
8-
module_name = "@angular/dev-infra-private/format",
98
visibility = ["//dev-infra:__subpackages__"],
109
deps = [
1110
"//dev-infra/utils",

index.bzl

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,7 @@
33
# Use of this source code is governed by an MIT-style license that can be
44
# found in the LICENSE file at https://angular.io/license
55

6-
load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test")
7-
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")
8-
9-
# This file continues to serve as indicator for `rules_nodejs` and instructs it preserve the
10-
# content output in the NPM install workspace. This allows consumers to use rules and targets from
11-
# within Bazel. e.g. by using `@npm//@angular/dev-infra-private/<..>`.
6+
# File is currently empty but serves as indicator for `rules_nodejs` and instructs it to
7+
# preserve the content output in the NPM install workspace. This allows consumers to use
8+
# rules and targets from within Bazel. e.g. by using `@npm//@angular/dev-infra-private/<..>`.
129
# See: https://github.com/bazelbuild/rules_nodejs/commit/4f508b1a0be1f5444e9c13b0439e649449792fef.
13-
14-
def ng_dev_rolled_up_generated_file(name, entry_point, deps = [], rollup_args = []):
15-
"""Rollup and generated file test macro.
16-
17-
This provides a single macro to create a rollup bundled script and a generated file test for the
18-
created script to ensure it stays up to date in the repository.
19-
"""
20-
rollup_bundle(
21-
name = "%s_bundle" % name,
22-
args = rollup_args,
23-
entry_point = entry_point,
24-
format = "cjs",
25-
silent = True,
26-
sourcemap = "false",
27-
deps = deps,
28-
)
29-
30-
generated_file_test(
31-
name = name,
32-
src = "%s.js" % name,
33-
generated = "%s_bundle" % name,
34-
)

misc/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "misc",
55
srcs = glob(["**/*.ts"]),
6-
module_name = "@angular/dev-infra-private/misc/",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/release/build",

ngbot/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "ngbot",
55
srcs = [
66
"cli.ts",
77
"verify.ts",
88
],
9-
module_name = "@angular/dev-infra-private/ngbot",
109
visibility = ["//dev-infra:__subpackages__"],
1110
deps = [
1211
"//dev-infra/utils",

pr/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "pr",
55
srcs = ["cli.ts"],
6-
module_name = "@angular/dev-infra-private/pr",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/pr/check-target-branches",

pr/check-target-branches/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "check-target-branches",
55
srcs = glob(["*.ts"]),
6-
module_name = "@angular/dev-infra-private/pr/check-target-branches",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/pr/merge",

pr/checkout/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "checkout",
55
srcs = glob(["*.ts"]),
6-
module_name = "@angular/dev-infra-private/pr/checkout",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/pr/common",

pr/common/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "common",
55
srcs = glob(["*.ts"]),
6-
module_name = "@angular/dev-infra-private/pr/common",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/utils",

pr/discover-new-conflicts/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "discover-new-conflicts",
55
srcs = [
66
"cli.ts",
77
"index.ts",
88
],
9-
module_name = "@angular/dev-infra-private/pr/discover-new-conflicts",
109
visibility = ["//dev-infra:__subpackages__"],
1110
deps = [
1211
"//dev-infra/utils",

pr/merge/BUILD.bazel

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
2-
load("//tools:defaults.bzl", "jasmine_node_test")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
ts_library(
54
name = "merge",
65
srcs = glob(
76
["**/*.ts"],
87
exclude = ["**/*.spec.ts"],
98
),
10-
module_name = "@angular/dev-infra-private/pr/merge",
9+
1110
# prodmode target must be set to es5 as the Ora class, which is extended is not a proper
1211
# prototyped object.
1312
prodmode_target = "es5",

pr/rebase/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "rebase",
55
srcs = [
66
"cli.ts",
77
"index.ts",
88
],
9-
module_name = "@angular/dev-infra-private/pr/rebase",
109
visibility = ["//dev-infra:__subpackages__"],
1110
deps = [
1211
"//dev-infra/commit-message",

pullapprove/BUILD.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
2-
load("//tools:defaults.bzl", "jasmine_node_test")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
ts_library(
54
name = "pullapprove",
@@ -13,7 +12,6 @@ ts_library(
1312
"utils.ts",
1413
"verify.ts",
1514
],
16-
module_name = "@angular/dev-infra-private/pullapprove",
1715
visibility = ["//dev-infra:__subpackages__"],
1816
deps = [
1917
"//dev-infra/utils",

release/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "release",
55
srcs = glob([
66
"**/*.ts",
77
]),
8-
module_name = "@angular/dev-infra-private/release",
98
visibility = ["//dev-infra:__subpackages__"],
109
deps = [
1110
"//dev-infra/release/build",

release/build/BUILD.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
2-
load("//tools:defaults.bzl", "jasmine_node_test")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
exports_files([
54
"build-worker.ts",
@@ -13,7 +12,6 @@ ts_library(
1312
],
1413
exclude = ["*.spec.ts"],
1514
),
16-
module_name = "@angular/dev-infra-private/release/build",
1715
visibility = ["//dev-infra:__subpackages__"],
1816
deps = [
1917
"//dev-infra/release/config",

release/config/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "config",
55
srcs = glob([
66
"**/*.ts",
77
]),
8-
module_name = "@angular/dev-infra-private/release/config",
98
visibility = ["//dev-infra:__subpackages__"],
109
deps = [
1110
"//dev-infra/utils",

release/info/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "info",
55
srcs = ["cli.ts"],
6-
module_name = "@angular/dev-infra-private/release/info",
76
visibility = ["//dev-infra:__subpackages__"],
87
deps = [
98
"//dev-infra/release/config",

release/notes/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "notes",
55
srcs = glob([
66
"**/*.ts",
77
]),
8-
module_name = "@angular/dev-infra-private/release/notes",
98
visibility = ["//dev-infra:__subpackages__"],
109
deps = [
1110
"//dev-infra/commit-message",

release/publish/BUILD.bazel

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
1+
load("//dev-infra:defaults.bzl", "ts_library")
22

33
ts_library(
44
name = "publish",
55
srcs = glob([
66
"**/*.ts",
77
]),
8-
module_name = "@angular/dev-infra-private/release/publish",
98
visibility = ["//dev-infra:__subpackages__"],
109
deps = [
1110
"//dev-infra/commit-message",

release/publish/test/BUILD.bazel

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
load("@npm//@bazel/typescript:index.bzl", "ts_library")
2-
load("//tools:defaults.bzl", "jasmine_node_test")
1+
load("//dev-infra:defaults.bzl", "jasmine_node_test", "ts_library")
32

43
ts_library(
54
name = "test_lib",
65
srcs = glob([
76
"**/*.ts",
87
]),
9-
module_name = "@angular/dev-infra-private/release/test",
108
deps = [
119
"//dev-infra/commit-message",
1210
"//dev-infra/release/config",

0 commit comments

Comments
 (0)