From 42ffc79ac33268c500230b14b9f454e140fb8d10 Mon Sep 17 00:00:00 2001 From: Morten Mjelva Date: Sun, 1 Feb 2026 22:05:43 +0100 Subject: [PATCH] chore: Mark nodejs_repositories repo rule as reproducible --- nodejs/repositories.bzl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nodejs/repositories.bzl b/nodejs/repositories.bzl index e753bd23f9..1ccbcedec8 100644 --- a/nodejs/repositories.bzl +++ b/nodejs/repositories.bzl @@ -119,6 +119,9 @@ def _download_node(repository_ctx): sha256 = sha256, )) + # Return whether the download was reproducible + return sha256 != None + def _prepare_node(repository_ctx): """Sets up BUILD files and shell wrappers for the versions of Node.js, npm just set up. @@ -309,9 +312,15 @@ def _verify_version_is_valid(version): fail("Invalid node version: %s" % version) def _nodejs_repositories_impl(repository_ctx): - _download_node(repository_ctx) + reproducible = _download_node(repository_ctx) _prepare_node(repository_ctx) + # Bazel <8.3.0 lacks repository_ctx.repo_metadata + if not hasattr(repository_ctx, "repo_metadata"): + return None + + return repository_ctx.repo_metadata(reproducible = reproducible) + _nodejs_repositories = repository_rule( _nodejs_repositories_impl, attrs = _ATTRS,