From e6eacab9a0a297f7ce6ce2b090abfa0be6080f6b Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Thu, 26 Oct 2023 18:53:20 -0700 Subject: [PATCH] Update the minimum supported build-time version of node to 16.20.0 This new minimum version matches the version that we ship with emsdk. Critically it supports null coalescing & logical assignment needed by #20549. --- ChangeLog.md | 3 +++ test/test_sanity.py | 4 ++-- tools/shared.py | 11 ++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index aa7c2d37d2f7d..4189cc53f7510 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -20,6 +20,9 @@ See docs/process.md for more on how version tagging works. 3.1.48 (in development) ----------------------- +- The minimum version of node required run the compiler was updated from + 10.19 to 16.20. This does not effect the node requirements of the generated + JavaScript code. (#20551) - A new top-level `bootstrap` script was added. This script is for emscripten developers and helps take a care of post-checkout tasks such as `npm install`. If this script needs to be run (e.g. becuase package.json was changed, emcc diff --git a/test/test_sanity.py b/test/test_sanity.py index cb7eaef2b5bfd..e3f1316355901 100644 --- a/test/test_sanity.py +++ b/test/test_sanity.py @@ -281,8 +281,8 @@ def test_node(self): for version, succeed in [('v0.8.0', False), ('v4.1.0', False), ('v10.18.0', False), - ('v10.19.0', True), - ('v10.19.1-pre', True), + ('v16.20.0', True), + ('v16.20.1-pre', True), ('cheez', False)]: print(version, succeed) delete_file(SANITY_FILE) diff --git a/tools/shared.py b/tools/shared.py index 56c724af5fccb..1a1a0a64316b2 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -52,11 +52,12 @@ PRINT_SUBPROCS = int(os.getenv('EMCC_VERBOSE', '0')) SKIP_SUBPROCS = False -# Minimum node version required to run the emscripten compiler. This is distinct -# from the minimum version required to execute the generated code. This is not an -# exact requirement, but is the oldest version of node that we do any testing with. -# This version aligns with the current Ubuuntu TLS 20.04 (Focal). -MINIMUM_NODE_VERSION = (10, 19, 0) +# Minimum node version required to run the emscripten compiler. This is +# distinct from the minimum version required to execute the generated code +# (settings.MIN_NODE_VERSION). +# This version currently matches the node version that we ship with emsdk +# which means that we can say for sure that this version is well supported. +MINIMUM_NODE_VERSION = (16, 20, 0) EXPECTED_LLVM_VERSION = 18 # These get set by setup_temp_dirs