Upgrade node from v16.20.0 to v18.20.3 (#1387)
Node v18 is that current LTS release of node and v18.20.3 is the latest
release of v18.
This change means that emsdk is no longer installable on Ubuntu/Bionic
18.04, and we now require Ubuntu/Focal 20.04.
See: #1183
Fixes: #1173
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 4cb32f1..e70df96 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -63,7 +63,7 @@
# using `--entrypoint /bin/bash` in CLI).
# This corresponds to the env variables set during: `source ./emsdk_env.sh`
ENV EMSDK=/emsdk \
- PATH="/emsdk:/emsdk/upstream/emscripten:/emsdk/node/16.20.0_64bit/bin:${PATH}"
+ PATH="/emsdk:/emsdk/upstream/emscripten:/emsdk/node/18.20.3_64bit/bin:${PATH}"
# ------------------------------------------------------------------------------
# Create a 'standard` 1000:1000 user
diff --git a/emsdk_manifest.json b/emsdk_manifest.json
index 89f0582..6af26c2 100644
--- a/emsdk_manifest.json
+++ b/emsdk_manifest.json
@@ -346,6 +346,54 @@
"activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
},
+ {
+ "id": "node",
+ "version": "18.20.3",
+ "bitness": 32,
+ "arch": "x86",
+ "windows_url": "node-v18.20.3-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": "18.20.3",
+ "arch": "arm",
+ "bitness": 32,
+ "linux_url": "node-v18.20.3-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": "18.20.3",
+ "bitness": 64,
+ "arch": "x86_64",
+ "macos_url": "node-v18.20.3-darwin-x64.tar.gz",
+ "windows_url": "node-v18.20.3-win-x64.zip",
+ "linux_url": "node-v18.20.3-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": "18.20.3",
+ "arch": "arm64",
+ "bitness": 64,
+ "macos_url": "node-v18.20.3-darwin-arm64.tar.gz",
+ "linux_url": "node-v18.20.3-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",
@@ -644,19 +692,19 @@
{
"version": "main",
"bitness": 64,
- "uses": ["python-3.9.2-nuget-64bit", "llvm-git-main-64bit", "node-16.20.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["python-3.9.2-nuget-64bit", "llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "win"
},
{
"version": "main",
"bitness": 64,
- "uses": ["python-3.9.2-64bit", "llvm-git-main-64bit", "node-16.20.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["python-3.9.2-64bit", "llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "macos"
},
{
"version": "main",
"bitness": 64,
- "uses": ["llvm-git-main-64bit", "node-16.20.0-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
+ "uses": ["llvm-git-main-64bit", "node-18.20.3-64bit", "emscripten-main-64bit", "binaryen-main-64bit"],
"os": "linux"
},
{
@@ -668,14 +716,14 @@
{
"version": "releases-%releases-tag%",
"bitness": 64,
- "uses": ["node-16.20.0-64bit", "releases-%releases-tag%-64bit"],
+ "uses": ["node-18.20.3-64bit", "releases-%releases-tag%-64bit"],
"os": "linux",
"custom_install_script": "emscripten_npm_install"
},
{
"version": "releases-%releases-tag%",
"bitness": 64,
- "uses": ["node-16.20.0-64bit", "python-3.9.2-64bit", "releases-%releases-tag%-64bit"],
+ "uses": ["node-18.20.3-64bit", "python-3.9.2-64bit", "releases-%releases-tag%-64bit"],
"os": "macos",
"arch": "x86_64",
"custom_install_script": "emscripten_npm_install"
@@ -683,7 +731,7 @@
{
"version": "releases-%releases-tag%",
"bitness": 64,
- "uses": ["node-16.20.0-64bit", "python-3.9.2-64bit", "releases-%releases-tag%-64bit"],
+ "uses": ["node-18.20.3-64bit", "python-3.9.2-64bit", "releases-%releases-tag%-64bit"],
"os": "macos",
"arch": "arm64",
"custom_install_script": "emscripten_npm_install"
@@ -691,7 +739,7 @@
{
"version": "releases-%releases-tag%",
"bitness": 64,
- "uses": ["node-16.20.0-64bit", "python-3.9.2-nuget-64bit", "java-8.152-64bit", "releases-%releases-tag%-64bit"],
+ "uses": ["node-18.20.3-64bit", "python-3.9.2-nuget-64bit", "java-8.152-64bit", "releases-%releases-tag%-64bit"],
"os": "win",
"custom_install_script": "emscripten_npm_install"
}
diff --git a/scripts/update_node.py b/scripts/update_node.py
index 2c3a786..b16d3e5 100755
--- a/scripts/update_node.py
+++ b/scripts/update_node.py
@@ -16,8 +16,8 @@
import os
import shutil
-version = '16.20.0'
-base = 'https://nodejs.org/dist/latest-v16.x/'
+version = '18.20.3'
+base = 'https://nodejs.org/dist/latest-v18.x/'
upload_base = 'gs://webassembly/emscripten-releases-builds/deps/'
suffixes = [