Skip to content

Commit 6fc0597

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 1f5e571 commit 6fc0597

File tree

7 files changed

+16
-19
lines changed

7 files changed

+16
-19
lines changed

MODULE.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ bazel_dep(name = "bazel_features", version = "1.9.0")
1414
bazel_dep(name = "bazel_lib", version = "3.0.0")
1515
bazel_dep(name = "bazel_skylib", version = "1.5.0")
1616
bazel_dep(name = "platforms", version = "0.0.5")
17-
bazel_dep(name = "rules_nodejs", version = "6.3.0")
17+
bazel_dep(name = "rules_nodejs", version = "6.6.0")
1818

1919
tel = use_extension("@aspect_tools_telemetry//:extension.bzl", "telemetry")
2020
use_repo(tel, "aspect_tools_telemetry_report")
@@ -68,10 +68,10 @@ bazel_dep(name = "rules_shell", version = "0.6.1", dev_dependency = True)
6868
# Overrides of non-dev deps for local testing using recent versions
6969
archive_override(
7070
module_name = "rules_nodejs",
71-
integrity = "sha256-OY23vNcf28WAxvjReCrpn1JQeRFypf/jHS+dgTjzOC4=",
72-
strip_prefix = "rules_nodejs-7cbb1fb5378fb4739e4d9698a14abd9eada900f0",
71+
integrity = "sha256-jFmNXCy0m8FjDy2Je31l1PC/kvDq3J3TdNhZ3+mojUs=",
72+
strip_prefix = "rules_nodejs-2d3b73e0596924e5798df464ebc5d85463ac6a75",
7373
urls = [
74-
"https://github.com/bazel-contrib/rules_nodejs/archive/7cbb1fb5378fb4739e4d9698a14abd9eada900f0.tar.gz",
74+
"https://github.com/bazel-contrib/rules_nodejs/archive/2d3b73e0596924e5798df464ebc5d85463ac6a75.tar.gz",
7575
],
7676
)
7777

e2e/pnpm_workspace/BUILD.bazel

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

2525
build_test(

e2e/pnpm_workspace_rerooted/BUILD.bazel

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

2525
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
@@ -288,7 +288,7 @@ _ATTRS = {
288288
""",
289289
),
290290
"node_toolchain": attr.label(
291-
doc = """The Node.js toolchain to use for this target.
291+
doc = """The Node.js runtime toolchain to use for this target.
292292
293293
See https://bazel-contrib.github.io/rules_nodejs/Toolchains.html
294294
@@ -506,7 +506,7 @@ def _create_launcher(ctx, log_prefix_rule_set, log_prefix_rule, fixed_args = [],
506506
if ctx.attr.node_toolchain:
507507
nodeinfo = ctx.attr.node_toolchain[platform_common.ToolchainInfo].nodeinfo
508508
else:
509-
nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo
509+
nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:runtime_toolchain_type"].nodeinfo
510510

511511
directory_path_provider = DirectoryPathInfo if DirectoryPathInfo in ctx.attr.entry_point else _LegacyDirectoryPathInfo
512512
if directory_path_provider in ctx.attr.entry_point:
@@ -638,7 +638,7 @@ js_binary_lib = struct(
638638
toolchains = [
639639
# TODO: on Windows this toolchain is never referenced
640640
"@bazel_tools//tools/sh:toolchain_type",
641-
"@rules_nodejs//nodejs:toolchain_type",
641+
"@rules_nodejs//nodejs:runtime_toolchain_type",
642642
] + COPY_FILE_TO_BIN_TOOLCHAINS,
643643
)
644644

js/private/js_image_layer.bzl

Lines changed: 2 additions & 5 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.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo
412412
if hasattr(nodeinfo, "node"):
413413
node_exec = nodeinfo.node
414414
else:
@@ -422,6 +422,7 @@ else {
422422
executable = node_exec,
423423
progress_message = "Computing Layer Groups %{label}",
424424
mnemonic = "JsImageLayerGroups",
425+
toolchain = "@rules_nodejs//nodejs:toolchain_type",
425426
)
426427

427428
return expected_layer_groups
@@ -627,10 +628,6 @@ js_image_layer_lib = struct(
627628
default = "//js/private:js_image_layer.mjs",
628629
allow_single_file = True,
629630
),
630-
"_current_node": attr.label(
631-
default = "@nodejs_toolchains//:resolved_toolchain",
632-
cfg = "exec",
633-
),
634631
"binary": attr.label(
635632
mandatory = True,
636633
cfg = _js_image_layer_transition,

npm/private/test/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,5 +85,5 @@ sh_test(
8585
"@nodejs_linux_amd64//:node_files",
8686
"@nodejs_linux_arm64//:node_files",
8787
],
88-
toolchains = ["@nodejs_toolchains//:resolved_toolchain"],
88+
toolchains = ["@rules_nodejs//nodejs:current_node_runtime"],
8989
)

0 commit comments

Comments
 (0)