From 83568455f149ada247f943aff70021e820ba5eff Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Tue, 6 May 2025 10:01:43 -0700 Subject: [PATCH 1/2] feat: change nodejs default to 20 --- docs/Core.md | 2 +- nodejs/repositories.bzl | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Core.md b/docs/Core.md index 5a0b29579d..fbf88065ea 100644 --- a/docs/Core.md +++ b/docs/Core.md @@ -133,7 +133,7 @@ Defaults to `["https://nodejs.org/dist/v{version}/{filename}"]` The specific version of Node.js to install -Defaults to `"18.20.8"` +Defaults to `"20.19.0"`

node_version_from_nvmrc

diff --git a/nodejs/repositories.bzl b/nodejs/repositories.bzl index b98fb291ae..ffd3e10c26 100644 --- a/nodejs/repositories.bzl +++ b/nodejs/repositories.bzl @@ -20,7 +20,7 @@ DEFAULT_NODE_VERSION = [ # 16.18.1-windows_amd64 -> 16.18.1 v.split("-")[0] for v in NODE_VERSIONS.keys() - if v.startswith("18.") + if v.startswith("20.") ][-1] # Versions are sorted increasing, so last one is the latest version LATEST_KNOWN_NODE_VERSION = [ diff --git a/package.json b/package.json index 4ce7604803..9ac1dac789 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "repository": "https://github.com/bazel-contrib/rules_nodejs.git", "license": "Apache-2.0", "engines": { - "node": ">=12 <=18" + "node": ">=12 <20" }, "packageManager": "pnpm@8.11.0", "devDependencies": { From 5a5186c7849650f28a108992372bc2b1cddfa7fc Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 15 May 2025 10:31:21 -0700 Subject: [PATCH 2/2] fix: patch from @dzbarsky --- e2e/headers/BUILD.bazel | 4 ++-- nodejs/private/current_node_cc_headers.bzl | 2 +- nodejs/repositories.bzl | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/e2e/headers/BUILD.bazel b/e2e/headers/BUILD.bazel index 160858e22d..c79a1bf1bd 100644 --- a/e2e/headers/BUILD.bazel +++ b/e2e/headers/BUILD.bazel @@ -2,8 +2,8 @@ cc_test( name = "using_headers_test", srcs = ["using_headers.cc"], copts = select({ - "@platforms//os:windows": ["/std:c++14"], - "//conditions:default": ["-std=c++14"], + "@platforms//os:windows": ["/std:c++17"], + "//conditions:default": ["-std=c++17"], }), target_compatible_with = select({ # Windows does not ship headers in the release artifact so this won't work yet. diff --git a/nodejs/private/current_node_cc_headers.bzl b/nodejs/private/current_node_cc_headers.bzl index af3901f849..31c4e7bbeb 100644 --- a/nodejs/private/current_node_cc_headers.bzl +++ b/nodejs/private/current_node_cc_headers.bzl @@ -42,7 +42,7 @@ cc_library( name = "foo", srcs = ["foo.cc"], # If toolchain sets this already, you can omit. - copts = ["-std=c++14"], + copts = ["-std=c++17"], deps = ["@rules_nodejs//nodejs/headers:current_node_cc_headers"] ) ``` diff --git a/nodejs/repositories.bzl b/nodejs/repositories.bzl index ffd3e10c26..acda3f2d9b 100644 --- a/nodejs/repositories.bzl +++ b/nodejs/repositories.bzl @@ -275,6 +275,7 @@ cc_library( # -> no results ... allow_empty = True, ), + copts = ["-std=c++17"], includes = ["bin/nodejs/include/node"], ) """