Skip npm step if node_modules already exists (#640)

See https://github.com/WebAssembly/waterfall/pull/670
This commit is contained in:
Sam Clegg
2021-03-09 16:56:27 -08:00
committed by GitHub
parent 1fe80678a9
commit d342821195
2 changed files with 10 additions and 2 deletions

View File

@@ -1848,8 +1848,12 @@ class Tool(object):
if getattr(self, 'custom_install_script', None) == 'emscripten_npm_install':
# upstream tools have hardcoded paths that are not stored in emsdk_manifest.json registry
install_path = 'upstream' if 'releases-upstream' in self.version else 'fastcomp'
if not emscripten_npm_install(self, os.path.join(emsdk_path(), install_path, 'emscripten')):
exit_with_error('post-install step failed: emscripten_npm_install')
emscripten_dir = os.path.join(emsdk_path(), install_path, 'emscripten')
# Older versions of the sdk did not include the node_modules directory
# and require `npm ci` to be run post-install
if not os.path.exists(os.path.join(emscripten_dir, 'node_modules')):
if not emscripten_npm_install(self, emscripten_dir):
exit_with_error('post-install step failed: emscripten_npm_install')
print("Done installing SDK '" + str(self) + "'.")
return True