From 31f5f842ff4c8d22e939fe0c8c27b34d9c9c0184 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Tue, 6 Oct 2020 07:42:46 -0700 Subject: [PATCH] Revert "Skip installing optional npm deps, but manually install Closure Compiler native package (#630)" (#633) This reverts commit 47b7f850f2196ad84c346da1cfbb68081063de1b. Fixes #632 --- emsdk.py | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/emsdk.py b/emsdk.py index bf6319c..eb2686c 100644 --- a/emsdk.py +++ b/emsdk.py @@ -1241,41 +1241,13 @@ def emscripten_npm_install(tool, directory): print('Running post-install step: npm ci ...') try: subprocess.check_output( - [npm, 'ci', '--production', '--no-optional'], + [npm, 'ci', '--production'], cwd=directory, stderr=subprocess.STDOUT, env=env, universal_newlines=True) except subprocess.CalledProcessError as e: print('Error running %s:\n%s' % (e.cmd, e.output)) return False - # Manually install the appropriate native Closure Compiler package - # This is currently needed because npm ci will install the packages - # for Closure for all platforms, adding 180MB to the download size - # There are two problems here: - # 1. npm ci does not consider the platform of optional dependencies - # https://github.com/npm/cli/issues/558 - # 2. A bug with the native compiler has bloated the packages from - # 30MB to almost 300MB - # https://github.com/google/closure-compiler-npm/issues/186 - # If either of these bugs are fixed then we can remove this exception - closure_compiler_native = '' - if LINUX: - closure_compiler_native = 'google-closure-compiler-linux' - if MACOS: - closure_compiler_native = 'google-closure-compiler-osx' - if WINDOWS: - closure_compiler_native = 'google-closure-compiler-windows' - if closure_compiler_native: - print('Running post-install step: npm install', closure_compiler_native) - try: - subprocess.check_output( - [npm, 'install', closure_compiler_native], - cwd=directory, stderr=subprocess.STDOUT, env=env, - universal_newlines=True) - except subprocess.CalledProcessError as e: - print('Error running %s:\n%s' % (e.cmd, e.output)) - return False - print('Done running: npm ci') return True