Przeglądaj źródła

Merge pull request #2539 from blink1073/node-version-check

Add a node version check
Ian Rose 7 lat temu
rodzic
commit
26ac9a9121
3 zmienionych plików z 23 dodań i 0 usunięć
  1. 6 0
      README.md
  2. 11 0
      jupyterlab/commands.py
  3. 6 0
      scripts/node-version-check.js

+ 6 - 0
README.md

@@ -85,6 +85,12 @@ Note: If installing using `pip install --user`, you must add the user-level
  `bin` directory to your `PATH` environment variable in order to launch
  `jupyter lab`.
 
+
+## Extensions
+
+The JupyterLab environment can be extended using extensions.  See documentation
+for [users](https://jupyterlab-tutorial.readthedocs.io/en/latest/extensions_user.html) and [developers](https://jupyterlab-tutorial.readthedocs.io/en/latest/extensions_dev.html).
+
 ----
 
 ## Contributing

+ 11 - 0
jupyterlab/commands.py

@@ -215,6 +215,16 @@ def disable_extension(extension, app_dir=None, logger=None):
     _toggle_extension(extension, True, app_dir, logger)
 
 
+def check_node():
+    """Check for the existence of node and whether it is the right version.
+    """
+    try:
+        scripts = os.path.abspath(os.path.join(here, '../scripts'))
+        run(['node', 'node-version-check.js'], cwd=scripts)
+    except Exception:
+        raise ValueError('`node` version 5+ is required, see extensions in README')
+
+
 def should_build(app_dir=None, logger=None):
     """Determine whether JupyterLab should be built.
 
@@ -430,6 +440,7 @@ def clean(app_dir=None):
 def build(app_dir=None, name=None, version=None, logger=None):
     """Build the JupyterLab application."""
     # Set up the build directory.
+    check_node()
     logger = logger or logging
     app_dir = get_app_dir(app_dir)
     if app_dir == here:

+ 6 - 0
scripts/node-version-check.js

@@ -0,0 +1,6 @@
+#!/usr/bin/env node
+var semver = require('semver');
+
+if (!semver.satisfies(semver(process.version), '>=5')) {
+  process.exit(1);
+}