mirror of
https://github.com/jupyter/notebook.git
synced 2025-01-12 11:45:38 +08:00
Enforce npm dedupe
This commit is contained in:
parent
89f942029d
commit
b30e35a8a1
29
setupbase.py
29
setupbase.py
@ -19,6 +19,7 @@ import sys
|
||||
import pipes
|
||||
from distutils import log
|
||||
from distutils.cmd import Command
|
||||
from distutils.version import LooseVersion
|
||||
from fnmatch import fnmatch
|
||||
from glob import glob
|
||||
from multiprocessing.pool import ThreadPool
|
||||
@ -333,6 +334,23 @@ def run(cmd, *args, **kwargs):
|
||||
return check_call(cmd, *args, **kwargs)
|
||||
|
||||
|
||||
def npm_install(cwd):
|
||||
"""Run npm install in a directory and dedupe if necessary"""
|
||||
try:
|
||||
run(['npm', 'install', '--progress=false'], cwd=cwd)
|
||||
except OSError as e:
|
||||
print("Failed to run `npm install`: %s" % e, file=sys.stderr)
|
||||
print("npm is required to build a development version of the notebook.", file=sys.stderr)
|
||||
raise
|
||||
version = check_output('npm --version', shell=True).decode('utf-8')
|
||||
if LooseVersion(version) < LooseVersion('3.0'):
|
||||
try:
|
||||
run(['npm', 'dedupe'], cwd=cwd)
|
||||
except Exception as e:
|
||||
print("Failed to run `npm dedupe`: %s" % e, file=sys.stderr)
|
||||
print("Please install npm v3+ to build a development version of the notebook.")
|
||||
|
||||
|
||||
class JavascriptDependencies(Command):
|
||||
description = "Fetch Javascript dependencies with npm and bower"
|
||||
|
||||
@ -347,13 +365,8 @@ class JavascriptDependencies(Command):
|
||||
lab_dir = pjoin(repo_root, 'notebook', 'lab')
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
run(['npm', 'install', '--progress=false'], cwd=repo_root)
|
||||
except OSError as e:
|
||||
print("Failed to run `npm install`: %s" % e, file=sys.stderr)
|
||||
print("npm is required to build a development version of the notebook.", file=sys.stderr)
|
||||
raise
|
||||
|
||||
npm_install(repo_root)
|
||||
|
||||
try:
|
||||
run(['npm', 'run', 'bower'], cwd=repo_root)
|
||||
except Exception as e:
|
||||
@ -362,7 +375,7 @@ class JavascriptDependencies(Command):
|
||||
raise
|
||||
|
||||
try:
|
||||
run(['npm', 'install', '--progress=false'], cwd=self.lab_dir)
|
||||
npm_install(self.lab_dir)
|
||||
run(['npm', 'run', 'build'], cwd=self.lab_dir)
|
||||
except Exception as e:
|
||||
print("Failed to install JupyterLab`: %s" % e, file=sys.stderr)
|
||||
|
Loading…
Reference in New Issue
Block a user