Update node version to 14.15.5 (latest TLS release) (#708)

See https://github.com/WebAssembly/binaryen/issues/3551
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 48ff1a8..d31e0df 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -66,8 +66,8 @@
 # (sub-stages) or with custom / no entrypoint
 ENV EMSDK=/emsdk \
     EM_CONFIG=/emsdk/.emscripten \
-    EMSDK_NODE=/emsdk/node/12.18.1_64bit/bin/node \
-    PATH="/emsdk:/emsdk/upstream/emscripten:/emsdk/upstream/bin:/emsdk/node/12.18.1_64bit/bin:${PATH}"
+    EMSDK_NODE=/emsdk/node/14.15.5_64bit/bin/node \
+    PATH="/emsdk:/emsdk/upstream/emscripten:/emsdk/upstream/bin:/emsdk/node/14.15.5_64bit/bin:${PATH}"
 
 # ------------------------------------------------------------------------------
 # Create a 'standard` 1000:1000 user
diff --git a/emsdk_manifest.json b/emsdk_manifest.json
index bbc2fe8..cda3ea1 100644
--- a/emsdk_manifest.json
+++ b/emsdk_manifest.json
@@ -186,42 +186,42 @@
   },
   {
     "id": "node",
-    "version": "12.18.1",
+    "version": "14.15.5",
     "bitness": 32,
     "arch": "x86",
-    "windows_url": "node-v12.18.1-win-x86.zip",
+    "windows_url": "node-v14.15.5-win-x86.zip",
     "activated_path": "%installation_dir%/bin",
     "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
     "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
   },
   {
     "id": "node",
-    "version": "12.18.1",
+    "version": "14.15.5",
     "arch": "arm",
     "bitness": 32,
-    "linux_url": "node-v12.18.1-linux-armv7l.tar.xz",
+    "linux_url": "node-v14.15.5-linux-armv7l.tar.xz",
     "activated_path": "%installation_dir%/bin",
     "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
     "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
   },
   {
     "id": "node",
-    "version": "12.18.1",
+    "version": "14.15.5",
     "bitness": 64,
     "arch": "x86_64",
-    "macos_url": "node-v12.18.1-darwin-x64.tar.gz",
-    "windows_url": "node-v12.18.1-win-x64.zip",
-    "linux_url": "node-v12.18.1-linux-x64.tar.xz",
+    "macos_url": "node-v14.15.5-darwin-x64.tar.gz",
+    "windows_url": "node-v14.15.5-win-x64.zip",
+    "linux_url": "node-v14.15.5-linux-x64.tar.xz",
     "activated_path": "%installation_dir%/bin",
     "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
     "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
   },
   {
     "id": "node",
-    "version": "12.18.1",
+    "version": "14.15.5",
     "arch": "aarch64",
     "bitness": 64,
-    "linux_url": "node-v12.18.1-linux-arm64.tar.xz",
+    "linux_url": "node-v14.15.5-linux-arm64.tar.xz",
     "activated_path": "%installation_dir%/bin",
     "activated_cfg": "NODE_JS='%installation_dir%/bin/node%.exe%'",
     "activated_env": "EMSDK_NODE=%installation_dir%/bin/node%.exe%"
@@ -473,19 +473,19 @@
   {
     "version": "upstream-master",
     "bitness": 64,
-    "uses": ["llvm-git-master-64bit", "node-12.18.1-64bit", "python-3.7.4-pywin32-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["llvm-git-master-64bit", "node-14.15.5-64bit", "python-3.7.4-pywin32-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "win"
   },
   {
     "version": "upstream-master",
     "bitness": 64,
-    "uses": ["llvm-git-master-64bit", "node-12.18.1-64bit", "python-3.7.4-2-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["llvm-git-master-64bit", "node-14.15.5-64bit", "python-3.7.4-2-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "macos"
   },
   {
     "version": "upstream-master",
     "bitness": 64,
-    "uses": ["llvm-git-master-64bit", "node-12.18.1-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["llvm-git-master-64bit", "node-14.15.5-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "linux"
   },
   {
@@ -497,31 +497,31 @@
   {
     "version": "fastcomp-master",
     "bitness": 32,
-    "uses": ["fastcomp-clang-master-32bit", "node-12.18.1-32bit", "python-3.7.4-32bit", "java-8.152-32bit", "emscripten-master-32bit", "binaryen-master-32bit"],
+    "uses": ["fastcomp-clang-master-32bit", "node-14.15.5-32bit", "python-3.7.4-32bit", "java-8.152-32bit", "emscripten-master-32bit", "binaryen-master-32bit"],
     "os": "win"
   },
   {
     "version": "fastcomp-master",
     "bitness": 64,
-    "uses": ["fastcomp-clang-master-64bit", "node-12.18.1-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["fastcomp-clang-master-64bit", "node-14.15.5-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "win"
   },
   {
     "version": "fastcomp-master",
     "bitness": 64,
-    "uses": ["fastcomp-clang-master-64bit", "node-12.18.1-64bit", "python-3.7.4-2-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["fastcomp-clang-master-64bit", "node-14.15.5-64bit", "python-3.7.4-2-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "macos"
   },
   {
     "version": "fastcomp-master",
     "bitness": 32,
-    "uses": ["fastcomp-clang-master-32bit", "node-12.18.1-32bit", "emscripten-master-32bit", "binaryen-master-32bit"],
+    "uses": ["fastcomp-clang-master-32bit", "node-14.15.5-32bit", "emscripten-master-32bit", "binaryen-master-32bit"],
     "os": "linux"
   },
   {
     "version": "fastcomp-master",
     "bitness": 64,
-    "uses": ["fastcomp-clang-master-64bit", "node-12.18.1-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
+    "uses": ["fastcomp-clang-master-64bit", "node-14.15.5-64bit", "emscripten-master-64bit", "binaryen-master-64bit"],
     "os": "linux"
   },
   {
@@ -563,42 +563,42 @@
   {
     "version": "releases-upstream-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "releases-upstream-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "releases-upstream-%releases-tag%-64bit"],
     "os": "linux",
     "custom_install_script": "emscripten_npm_install"
   },
   {
     "version": "releases-upstream-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "python-3.7.4-2-64bit", "releases-upstream-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "python-3.7.4-2-64bit", "releases-upstream-%releases-tag%-64bit"],
     "os": "macos",
     "custom_install_script": "emscripten_npm_install"
   },
   {
     "version": "releases-upstream-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "releases-upstream-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "releases-upstream-%releases-tag%-64bit"],
     "os": "win",
     "custom_install_script": "emscripten_npm_install"
   },
   {
     "version": "releases-fastcomp-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "releases-fastcomp-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "releases-fastcomp-%releases-tag%-64bit"],
     "os": "linux",
     "custom_install_script": "emscripten_npm_install"
   },
   {
     "version": "releases-fastcomp-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "python-3.7.4-2-64bit", "releases-fastcomp-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "python-3.7.4-2-64bit", "releases-fastcomp-%releases-tag%-64bit"],
     "os": "macos",
     "custom_install_script": "emscripten_npm_install"
   },
   {
     "version": "releases-fastcomp-%releases-tag%",
     "bitness": 64,
-    "uses": ["node-12.18.1-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "releases-fastcomp-%releases-tag%-64bit"],
+    "uses": ["node-14.15.5-64bit", "python-3.7.4-pywin32-64bit", "java-8.152-64bit", "releases-fastcomp-%releases-tag%-64bit"],
     "os": "win",
     "custom_install_script": "emscripten_npm_install"
   },
diff --git a/scripts/test.bat b/scripts/test.bat
index 6f8cb33..9fea0c1 100755
--- a/scripts/test.bat
+++ b/scripts/test.bat
@@ -1,7 +1,7 @@
 :: equivilent of test.sh as windows bat file
 set PATH=%PATH%;%PYTHON_BIN%
-@CALL emsdk install latest
-@CALL emsdk activate latest
-@CALL emsdk_env.bat
-@CALL python -c "import sys; print(sys.executable)"
-@CALL emcc.bat -v
+CALL emsdk install latest
+CALL emsdk activate latest
+CALL emsdk_env.bat
+CALL python -c "import sys; print(sys.executable)"
+CALL emcc.bat -v
diff --git a/scripts/test.py b/scripts/test.py
index 456a134..5b4d0e6 100755
--- a/scripts/test.py
+++ b/scripts/test.py
@@ -175,9 +175,9 @@
 
 # Test the normal tools like node don't re-download on re-install
 print('another install must re-download')
-checked_call_with_output(emsdk + ' uninstall node-12.18.1-64bit')
-checked_call_with_output(emsdk + ' install node-12.18.1-64bit', expected='Downloading:', unexpected='already installed')
-checked_call_with_output(emsdk + ' install node-12.18.1-64bit', unexpected='Downloading:', expected='already installed')
+checked_call_with_output(emsdk + ' uninstall node-14.15.5-64bit')
+checked_call_with_output(emsdk + ' install node-14.15.5-64bit', expected='Downloading:', unexpected='already installed')
+checked_call_with_output(emsdk + ' install node-14.15.5-64bit', unexpected='Downloading:', expected='already installed')
 
 print('test tot-upstream')
 run_emsdk('install tot-upstream')
diff --git a/scripts/update_node.py b/scripts/update_node.py
index 765f206..45adce9 100755
--- a/scripts/update_node.py
+++ b/scripts/update_node.py
@@ -16,8 +16,8 @@
 import os
 import shutil
 
-version = '12.18.1'
-base = 'https://nodejs.org/dist/latest-v12.x/'
+version = '14.15.5'
+base = 'https://nodejs.org/dist/latest-v14.x/'
 upload_base = 'gs://webassembly/emscripten-releases-builds/deps/'
 
 suffixes = [
@@ -40,6 +40,7 @@
       shutil.move(dirname, 'bin')
       os.mkdir(dirname)
       shutil.move('bin', dirname)
+      os.remove(filename)
       subprocess.check_call(['zip', '-rq', filename, dirname])
       shutil.rmtree(dirname)