Browse Source

Make extension dependency versions more permissive.

Afshin T. Darian 4 years ago
parent
commit
aee97d8a95

+ 3 - 1
builder/src/extensionConfig.ts

@@ -78,9 +78,11 @@ function generateConfig({
     ...(coreData.resolutions ?? {})
   };
 
+  // Alow extensions to match a wider range than the core dependency
+  // To ensure forward compatibility.
   Object.keys(coreDeps).forEach(element => {
     shared[element] = {
-      requiredVersion: coreDeps[element],
+      requiredVersion: coreDeps[element].replace('~', '^'),
       import: false
     };
   });

+ 4 - 1
jupyterlab/commands.py

@@ -663,7 +663,10 @@ class _AppHandler(object):
         # Build the app.
         if parts[1] != 'nobuild':
             dedupe_yarn(staging, self.logger)
-            ret = self._run(['node', YARN_PATH, 'run', command], cwd=staging)
+            starting_dir = os.getcwd()
+            os.chdir(staging)
+            ret = self._run(['node', YARN_PATH, 'run', command])
+            os.chdir(starting_dir)
             if ret != 0:
                 msg = 'JupyterLab failed to build'
                 self.logger.debug(msg)

+ 3 - 3
jupyterlab/upgrade_extension.py

@@ -94,7 +94,7 @@ def update_extension(target, interactive=True):
         temp_data = json.load(fid)
 
     for (key, value) in temp_data['devDependencies'].items():
-        data['devDependencies'][key] = value
+        data['devDependencies'][key] = value.replace('~', '^')
 
     # Ask the user whether to upgrade the scripts automatically
     warnings = []
@@ -124,9 +124,9 @@ def update_extension(target, interactive=True):
     data.setdefault('devDependencies', dict())
     for (key, value) in root_jlab_data['resolutions'].items():
         if key in data['dependencies']:
-            data['dependencies'][key] = value
+            data['dependencies'][key] = value.replace('~', '^')
         if key in data['devDependencies']:
-            data['devDependencies'][key] = value
+            data['devDependencies'][key] = value.replace('~', '^')
 
     # Sort the entries
     for key in ['scripts', 'dependencies', 'devDependencies']:

+ 1 - 0
scripts/ci_script.sh

@@ -12,6 +12,7 @@ fi
 
 
 if [[ $GROUP == python ]]; then
+    jupyter lab build --debug
     # Run the python tests
     py.test
 fi