Update Node to 20.18.0 LTS and add support for Windows on ARM64 to Node packages. (#1473)
Earlier Node 18.20.3 LTS did not yet support Windows on ARM64 builds.
Node 20.18.0 LTS is released on
https://nodejs.org/en/blog/release/v20.18.0.
This update currently only affects the "compiled from source" builds,
and not the Google precompiled releases.
diff --git a/emsdk_manifest.json b/emsdk_manifest.json
index 04885f8..ec7c9f4 100644
--- a/emsdk_manifest.json
+++ b/emsdk_manifest.json
@@ -107,6 +107,56 @@
{
+ "id": "node",
+ "version": "20.18.0",
+ "bitness": 32,
+ "arch": "x86",
+ "windows_url": "node-v20.18.0-win-x86.zip",
+ "activated_path": "%installation_dir%/bin",
+ "activated_path_skip": "node",
+ "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
+ "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
+ },
+ {
+ "id": "node",
+ "version": "20.18.0",
+ "arch": "arm",
+ "bitness": 32,
+ "linux_url": "node-v20.18.0-linux-armv7l.tar.xz",
+ "activated_path": "%installation_dir%/bin",
+ "activated_path_skip": "node",
+ "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
+ "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
+ },
+ {
+ "id": "node",
+ "version": "20.18.0",
+ "bitness": 64,
+ "arch": "x86_64",
+ "macos_url": "node-v20.18.0-darwin-x64.tar.gz",
+ "windows_url": "node-v20.18.0-win-x64.zip",
+ "linux_url": "node-v20.18.0-linux-x64.tar.xz",
+ "activated_path": "%installation_dir%/bin",
+ "activated_path_skip": "node",
+ "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
+ "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
+ },
+ {
+ "id": "node",
+ "version": "20.18.0",
+ "arch": "arm64",
+ "bitness": 64,
+ "windows_url": "node-v20.18.0-win-arm64.zip",
+ "macos_url": "node-v20.18.0-darwin-arm64.tar.gz",
+ "linux_url": "node-v20.18.0-linux-arm64.tar.xz",
+ "activated_path": "%installation_dir%/bin",
+ "activated_path_skip": "node",
+ "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
+ "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
+ },
+
+
+ {
"id": "python",
"version": "3.9.2-nuget",
"bitness": 64,
@@ -318,19 +368,19 @@
{
"version": "main",
"bitness": 64,
- "uses": ["python-3.9.2-nuget-64bit", "llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["python-3.9.2-nuget-64bit", "llvm-git-main-64bit", "node-20.18.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "win"
},
{
"version": "main",
"bitness": 64,
- "uses": ["python-3.9.2-64bit", "llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["python-3.9.2-64bit", "llvm-git-main-64bit", "node-20.18.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "macos"
},
{
"version": "main",
"bitness": 64,
- "uses": ["llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["llvm-git-main-64bit", "node-20.18.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "linux"
},
{
diff --git a/scripts/update_node.py b/scripts/update_node.py
index c14e41d..032503c 100755
--- a/scripts/update_node.py
+++ b/scripts/update_node.py
@@ -18,13 +18,14 @@
import shutil
from zip import unzip_cmd, zip_cmd
-version = '18.20.3'
-base = 'https://nodejs.org/dist/latest-v18.x/'
+version = '20.18.0'
+base = 'https://nodejs.org/dist/v20.18.0/'
upload_base = 'gs://webassembly/emscripten-releases-builds/deps/'
suffixes = [
'-win-x86.zip',
'-win-x64.zip',
+ '-win-arm64.zip',
'-darwin-x64.tar.gz',
'-darwin-arm64.tar.gz',
'-linux-x64.tar.xz',