Jelajahi Sumber

Merge pull request #1030 from blink1073/single-package

Move to a single npm package
Brian E. Granger 8 tahun lalu
induk
melakukan
8fc2708482
7 mengubah file dengan 38 tambahan dan 84 penghapusan
  1. 1 1
      CONTRIBUTING.md
  2. 24 24
      jupyterlab/extensions.js
  3. 3 5
      jupyterlab/index.js
  4. 0 43
      jupyterlab/package.json
  5. 5 4
      package.json
  6. 4 4
      scripts/travis_script.sh
  7. 1 3
      setup.py

+ 1 - 1
CONTRIBUTING.md

@@ -186,7 +186,7 @@ to build the changes and then refresh your browser to see the changes.
 To have the system build after each source file change, run:
 
 ```bash
-npm run watch:serverextension
+npm run watch
 ```
 
 and refresh the browser.

+ 24 - 24
jupyterlab/extensions.js

@@ -2,28 +2,28 @@
 // Distributed under the terms of the Modified BSD License.
 
 module.exports = [
-  require('jupyterlab/lib/about/plugin').aboutExtension,
-  require('jupyterlab/lib/clipboard/plugin').clipboardProvider,
-  require('jupyterlab/lib/commandpalette/plugin').commandPaletteProvider,
-  require('jupyterlab/lib/console/plugin').consoleTrackerProvider,
-  require('jupyterlab/lib/console/codemirror/plugin').rendererProvider,
-  require('jupyterlab/lib/csvwidget/plugin').csvHandlerExtension,
-  require('jupyterlab/lib/docregistry/plugin').docRegistryProvider,
-  require('jupyterlab/lib/editorwidget/plugin').editorHandlerProvider,
-  require('jupyterlab/lib/faq/plugin').faqExtension,
-  require('jupyterlab/lib/filebrowser/plugin').fileBrowserProvider,
-  require('jupyterlab/lib/help/plugin').helpHandlerExtension,
-  require('jupyterlab/lib/imagewidget/plugin').imageHandlerExtension,
-  require('jupyterlab/lib/inspector/plugin').inspectorProvider,
-  require('jupyterlab/lib/landing/plugin').landingExtension,
-  require('jupyterlab/lib/main/plugin').mainExtension,
-  require('jupyterlab/lib/mainmenu/plugin').mainMenuProvider,
-  require('jupyterlab/lib/markdownwidget/plugin').markdownHandlerExtension,
-  require('jupyterlab/lib/notebook/plugin').notebookTrackerProvider,
-  require('jupyterlab/lib/notebook/codemirror/plugin').rendererProvider,
-  require('jupyterlab/lib/rendermime/plugin').renderMimeProvider,
-  require('jupyterlab/lib/running/plugin').runningSessionsExtension,
-  require('jupyterlab/lib/services/plugin').servicesProvider,
-  require('jupyterlab/lib/shortcuts/plugin').shortcutsExtension,
-  require('jupyterlab/lib/terminal/plugin').terminalExtension
+  require('../lib/about/plugin').aboutExtension,
+  require('../lib/clipboard/plugin').clipboardProvider,
+  require('../lib/commandpalette/plugin').commandPaletteProvider,
+  require('../lib/console/plugin').consoleTrackerProvider,
+  require('../lib/console/codemirror/plugin').rendererProvider,
+  require('../lib/csvwidget/plugin').csvHandlerExtension,
+  require('../lib/docregistry/plugin').docRegistryProvider,
+  require('../lib/editorwidget/plugin').editorHandlerProvider,
+  require('../lib/faq/plugin').faqExtension,
+  require('../lib/filebrowser/plugin').fileBrowserProvider,
+  require('../lib/help/plugin').helpHandlerExtension,
+  require('../lib/imagewidget/plugin').imageHandlerExtension,
+  require('../lib/inspector/plugin').inspectorProvider,
+  require('../lib/landing/plugin').landingExtension,
+  require('../lib/main/plugin').mainExtension,
+  require('../lib/mainmenu/plugin').mainMenuProvider,
+  require('../lib/markdownwidget/plugin').markdownHandlerExtension,
+  require('../lib/notebook/plugin').notebookTrackerProvider,
+  require('../lib/notebook/codemirror/plugin').rendererProvider,
+  require('../lib/rendermime/plugin').renderMimeProvider,
+  require('../lib/running/plugin').runningSessionsExtension,
+  require('../lib/services/plugin').servicesProvider,
+  require('../lib/shortcuts/plugin').shortcutsExtension,
+  require('../lib/terminal/plugin').terminalExtension
 ];

+ 3 - 5
jupyterlab/index.js

@@ -1,7 +1,7 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
-var JupyterLab = require('jupyterlab/lib/application').JupyterLab;
+var JupyterLab = require('../lib/application').JupyterLab;
 var extractPlugins = require('jupyterlab-extension-builder/lib/extract').extractPlugins;
 
 
@@ -9,9 +9,7 @@ var extractPlugins = require('jupyterlab-extension-builder/lib/extract').extract
 require('es6-promise').polyfill();
 
 require('font-awesome/css/font-awesome.min.css');
-require('material-design-icons/iconfont/material-icons.css');
-
-require('jupyterlab/lib/default-theme/index.css');
+require('../lib/default-theme/index.css');
 
 
 /**
@@ -31,6 +29,6 @@ function getEntryPoint(entryPoint) {
 
 jupyter.lab = new JupyterLab();
 jupyter.getEntryPoint = getEntryPoint;
-jupyter.version = require('jupyterlab/package.json').version;
+jupyter.version = require('../package.json').version;
 
 module.exports = jupyter.lab;

+ 0 - 43
jupyterlab/package.json

@@ -1,43 +0,0 @@
-{
-  "private": true,
-  "name": "jupyterlab-extension",
-  "version": "0.1.0",
-  "description": "JupyterLab extension",
-  "main": "lib/index.js",
-  "typings": "lib/index.d.ts",
-  "dependencies": {
-    "es6-promise": "^3.1.2",
-    "font-awesome": "^4.6.1",
-    "fs-extra": "^0.30.0",
-    "jupyter-js-services": "^0.20.0",
-    "jupyterlab": "file:../",
-    "jupyterlab-extension-builder": "^0.6.2",
-    "material-design-icons": "^2.2.3",
-    "semver": "^5.3.0",
-    "webpack-config": "^6.1.2"
-  },
-  "devDependencies": {
-    "css-loader": "^0.23.1",
-    "extract-text-webpack-plugin": "^1.0.1",
-    "file-loader": "^0.8.5",
-    "find-imports": "^0.5.0",
-    "json-loader": "^0.5.4",
-    "rimraf": "^2.5.0",
-    "style-loader": "^0.13.0",
-    "typescript": "^1.7.5",
-    "url-loader": "^0.5.7",
-    "webpack": "^1.12.11"
-  },
-  "scripts": {
-    "clean": "rimraf build",
-    "update": "rimraf node_modules/jupyterlab && npm install jupyterlab && npm install",
-    "build": "npm run update && npm run build:extension",
-    "build:extension": "webpack",
-    "webpack:devtool": "devtool node_modules/webpack/bin/webpack.js",
-    "webpack:debug": "node-debug webpack",
-    "postinstall": "node ../scripts/dedupe.js",
-    "test": "echo 'no tests specified'"
-  },
-  "author": "Project Jupyter",
-  "license": "BSD-3-Clause"
-}

+ 5 - 4
package.json

@@ -38,10 +38,12 @@
     "css-loader": "^0.23.1",
     "expect.js": "^0.3.1",
     "file-loader": "^0.8.5",
+    "font-awesome": "^4.6.3",
     "fs-extra": "^0.26.4",
     "istanbul-instrumenter-loader": "^0.1.3",
     "json-loader": "^0.5.4",
     "json-to-html": "^0.1.2",
+    "jupyterlab-extension-builder": "^0.6.2",
     "karma": "^0.13.19",
     "karma-chrome-launcher": "^0.2.2",
     "karma-coverage": "^0.5.3",
@@ -67,11 +69,10 @@
     "build:examples": "node scripts/buildexamples.js",
     "build:src": "tsc --project src && node scripts/copyfiles.js",
     "build:test": "webpack --config test/webpack.conf.js",
-    "build:serverextension": "cd jupyterlab && npm run build && cd ..",
-    "clean": "rimraf docs && rimraf lib && rimraf test/build && rimraf test/coverage",
-    "clean:all": "npm run clean && cd jupyterlab && npm run clean && cd ..",
+    "build:serverextension": "cd jupyterlab && webpack",
+    "clean": "rimraf docs && rimraf lib && rimraf test/build && rimraf test/coverage && rimraf jupyterlab/build",
     "clean:examples": "node scripts/cleanexamples.js",
-    "clean:slate": "npm run clean:all && npm run clean:examples && rimraf jupyterlab/node_modules && rimraf node_modules && npm install && cd jupyterlab && npm install && cd ..",
+    "clean:slate": "npm run clean:all && npm run clean:examples && rimraf jupyterlab/node_modules && rimraf node_modules && npm install",
     "docs": "typedoc --mode modules --module commonjs --excludeNotExported --target es5 --moduleResolution node --out docs/ src",
     "postinstall": "node scripts/dedupe.js",
     "prepublish": "npm run build",

+ 4 - 4
scripts/travis_script.sh

@@ -9,16 +9,16 @@ sh -e /etc/init.d/xvfb start || true
 
 export PATH="$HOME/miniconda/bin:$PATH"
 
+# Install and enable the server extension
+pip install -v .
+jupyter serverextension enable --py jupyterlab
+
 npm run clean
 npm run build
 npm test || npm test
 npm run test:coverage || npm run test:coverage
 
 
-# Install in-place and enable the server extension
-pip install -v .
-jupyter serverextension enable --py jupyterlab
-
 # Run the python tests
 npm run build:serverextension
 pushd jupyterlab && nosetests && popd

+ 1 - 3
setup.py

@@ -107,9 +107,7 @@ class NPM(Command):
             log.error("`npm` unavailable. If you're running this command using sudo, make sure `npm` is available to sudo")
         log.info("Installing build dependencies with npm. This may take a while...")
         run('npm install', cwd=here)
-        log.info("Installing extension build dependencies with npm. This may take a while...")
-        run('npm install', cwd=extension_root)
-        run('npm run build:all')
+        run('npm run build:serverextension', cwd=here)
 
         for t in self.targets:
             if not os.path.exists(t):