Skip to content

Commit 1390f08

Browse files
committed
Adopt new NodeJS runtime toolchain
js_binary should use the new runtime toolchain to avoid execution toolchain being leaked into target environments (eg., js_image_oci) See bazel-contrib/rules_nodejs#3854
1 parent c51b75e commit 1390f08

File tree

6 files changed

+15
-14
lines changed

6 files changed

+15
-14
lines changed

e2e/pnpm_workspace/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ sh_test(
1818
"@nodejs_linux_amd64//:node_files",
1919
"@nodejs_linux_arm64//:node_files",
2020
],
21-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
21+
toolchains = ["@rules_nodejs//nodejs:current_node_runtime"],
2222
)
2323

2424
build_test(

e2e/pnpm_workspace_rerooted/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ sh_test(
1818
"@nodejs_linux_amd64//:node_files",
1919
"@nodejs_linux_arm64//:node_files",
2020
],
21-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
21+
toolchains = ["@rules_nodejs//nodejs:current_node_runtime"],
2222
)
2323

2424
build_test(

examples/genrule/BUILD.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ genrule(
4343
# $@ is bazel shorthand for the path of the output file
4444
">$@",
4545
]),
46-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
47-
tools = ["@nodejs_toolchains//:resolved_toolchain"],
46+
toolchains = ["@rules_nodejs//nodejs:current_node_toolchain"],
47+
tools = ["@rules_nodejs//nodejs:current_node_toolchain"],
4848
)
4949

5050
diff_test(
@@ -74,8 +74,8 @@ genrule(
7474
$(NODE_PATH) \\
7575
./$(execpath :require_acorn_js) \\
7676
$@""",
77-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
78-
tools = ["@nodejs_toolchains//:resolved_toolchain"],
77+
toolchains = ["@rules_nodejs//nodejs:current_node_toolchain"],
78+
tools = ["@rules_nodejs//nodejs:current_node_toolchain"],
7979
)
8080

8181
diff_test(

js/private/js_binary.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ _ATTRS = {
287287
""",
288288
),
289289
"node_toolchain": attr.label(
290-
doc = """The Node.js toolchain to use for this target.
290+
doc = """The Node.js runtime toolchain to use for this target.
291291
292292
See https://bazel-contrib.github.io/rules_nodejs/Toolchains.html
293293
@@ -505,7 +505,7 @@ def _create_launcher(ctx, log_prefix_rule_set, log_prefix_rule, fixed_args = [],
505505
if ctx.attr.node_toolchain:
506506
nodeinfo = ctx.attr.node_toolchain[platform_common.ToolchainInfo].nodeinfo
507507
else:
508-
nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo
508+
nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:runtime_toolchain_type"].nodeinfo
509509

510510
if DirectoryPathInfo in ctx.attr.entry_point:
511511
entry_point = ctx.attr.entry_point[DirectoryPathInfo].directory
@@ -636,7 +636,7 @@ js_binary_lib = struct(
636636
toolchains = [
637637
# TODO: on Windows this toolchain is never referenced
638638
"@bazel_tools//tools/sh:toolchain_type",
639-
"@rules_nodejs//nodejs:toolchain_type",
639+
"@rules_nodejs//nodejs:runtime_toolchain_type",
640640
] + COPY_FILE_TO_BIN_TOOLCHAINS,
641641
)
642642

js/private/js_image_layer.bzl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ else {
408408
transitive = [files],
409409
)
410410

411-
nodeinfo = ctx.attr._current_node[platform_common.ToolchainInfo].nodeinfo
411+
nodeinfo = ctx.attr._node_tool[platform_common.ToolchainInfo].nodeinfo
412412
if hasattr(nodeinfo, "node"):
413413
node_exec = nodeinfo.node
414414
else:
@@ -627,8 +627,8 @@ js_image_layer_lib = struct(
627627
default = "//js/private:js_image_layer.mjs",
628628
allow_single_file = True,
629629
),
630-
"_current_node": attr.label(
631-
default = "@nodejs_toolchains//:resolved_toolchain",
630+
"_node_tool": attr.label(
631+
default = "@rules_nodejs//nodejs:current_node_toolchain",
632632
cfg = "exec",
633633
),
634634
"binary": attr.label(
@@ -687,6 +687,7 @@ js_image_layer = rule(
687687
doc = _DOC,
688688
toolchains = [
689689
tar_lib.toolchain_type,
690-
"@rules_nodejs//nodejs:toolchain_type",
690+
"@rules_nodejs//nodejs:toolchain_type", # for executing Node in our actions
691+
"@rules_nodejs//nodejs:runtime_toolchain_type", # for bundling Node for target platform (rely on js_binary)
691692
],
692693
)

npm/private/test/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,5 @@ sh_test(
7575
"@nodejs_linux_amd64//:node_files",
7676
"@nodejs_linux_arm64//:node_files",
7777
],
78-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
78+
toolchains = ["@rules_nodejs//nodejs:current_node_runtime"],
7979
)

0 commit comments

Comments
 (0)