Browse Source

Absorb the buildutils into the webpack build

Steven Silvester 7 years ago
parent
commit
7d7f68685a

+ 0 - 1
MANIFEST.in

@@ -13,7 +13,6 @@ include jupyterlab/package.app.json
 include jupyterlab/webpack.config.js
 include jupyterlab/index.app.js
 include jupyterlab/node-version-check.js
-include jupyterlab/update-app.js
 include jupyterlab/released_packages.txt
 
 prune jupyterlab/tests

+ 2 - 1
jupyterlab/make-release.js

@@ -12,7 +12,8 @@ version = version.toString().trim();
 
 // Update the package.app.json file.
 var data = require('./package.json');
-data['scripts']['build'] = 'webpack && node update-app.js'
+data['scripts']['build'] = 'webpack';
+data['jupyterlab']['outputDir'] = '..';
 text = JSON.stringify(sortPackageJson(data), null, 2) + '\n';
 fs.writeFileSync('./package.app.json', text);
 

+ 1 - 0
jupyterlab/package.app.json

@@ -120,6 +120,7 @@
       "@jupyterlab/vega2-extension": ""
     },
     "name": "JupyterLab",
+    "outputDir": "..",
     "singletonPackages": [
       "@jupyterlab/application",
       "@jupyterlab/apputils",

+ 1 - 0
jupyterlab/package.json

@@ -120,6 +120,7 @@
       "@jupyterlab/vega2-extension": ""
     },
     "name": "JupyterLab",
+    "outputDir": ".",
     "singletonPackages": [
       "@jupyterlab/application",
       "@jupyterlab/apputils",

+ 0 - 11
jupyterlab/update-app.js

@@ -1,11 +0,0 @@
-var data = require('./package.json');
-var Build = require('@jupyterlab/buildutils').Build;
-
-let names = Object.keys(data.jupyterlab.extensions).filter(function(name) {
-  packageData = require(name + '/package.json');
-  return packageData.jupyterlab !== undefined;
-});
-Build.ensureAssets({
-  packageNames: names,
-  output: '..'
-});

+ 0 - 6
jupyterlab/update-core.js

@@ -3,7 +3,6 @@ var fs = require('fs-extra');
 var glob = require('glob');
 var path = require('path');
 var sortPackageJson = require('sort-package-json');
-var Build = require('@jupyterlab/buildutils').Build;
 
 var corePackage = require('./package.json');
 corePackage.jupyterlab.extensions = {};
@@ -52,11 +51,6 @@ packages.forEach(function(packagePath) {
   });
 });
 
-Build.ensureAssets({
-  packageNames: Object.keys(corePackage.jupyterlab.extensions),
-  output: '.'
-});
-
 // Write the package.json back to disk.
 var text = JSON.stringify(sortPackageJson(corePackage), null, 2) + '\n';
 fs.writeFileSync('./package.json', text);

+ 9 - 0
jupyterlab/webpack.config.js

@@ -4,6 +4,7 @@ var fs = require('fs-extra');
 var Handlebars = require('handlebars');
 var crypto = require('crypto');
 var package_data = require('./package.json');
+var Build = require('@jupyterlab/buildutils').Build;
 
 // Ensure a clear build directory.
 var buildDir = './build';
@@ -23,6 +24,14 @@ var result = template(data);
 
 fs.writeFileSync(path.resolve(buildDir, 'index.out.js'), result);
 
+// Handle the extensions.
+Build.ensureAssets({
+  packageNames: [
+    Object.keys(package_data.jupyterlab.mimeExtensions) +
+    Object.keys(package_data.jupyterlab.extensions)
+  ],
+  output: package_data.jupyterlab.outputDir
+});
 
 // Create the hash
 var hash = crypto.createHash('md5');

+ 1 - 1
setupbase.py

@@ -89,7 +89,7 @@ def find_package_data():
 
     return {
         'jupyterlab': ['build/*', 'index.app.js',
-                       'webpack.config.js', 'package.app.json', 'update-app.js',
+                       'webpack.config.js', 'package.app.json',
                        'released_packages.txt', 'node-version-check.js'] + theme_dirs + schema_dirs
     }