ソースを参照

Add a script to update package versions

Steven Silvester 8 年 前
コミット
06641022a6

+ 2 - 1
package.json

@@ -19,8 +19,9 @@
     "coverage": "lerna run coverage --stream --scope \"@jupyterlab/test-*\"",
     "test": "lerna run test --stream --scope \"@jupyterlab/test-*\"",
     "test:chrome": "lerna run test:chrome --stream --scope \"@jupyterlab/test-*\"",
-    "test:firefox": "lerna run test:firefox --streamn--scope \"@jupyterlab/test-*\"",
+    "test:firefox": "lerna run test:firefox --stream --scope \"@jupyterlab/test-*\"",
     "test:ie": "lerna run test:ie --concurrency 1 --stream --scope \"@jupyterlab/test-*\"",
+    "package:update": "lerna exec --scope \"@jupyterlab/!(test-|main)*\" -- node ../../scripts/package-update.js",
     "publish": "npm run clean && npm run build && lerna publish -m \"Publish\""
   }
 }

+ 1 - 1
packages/application-extension/package.json

@@ -33,4 +33,4 @@
     "url": "https://github.com/jupyterlab/jupyterlab/issues"
   },
   "homepage": "https://github.com/jupyterlab/jupyterlab"
-}
+}

+ 1 - 1
packages/apputils-extension/package.json

@@ -33,4 +33,4 @@
     "url": "https://github.com/jupyterlab/jupyterlab/issues"
   },
   "homepage": "https://github.com/jupyterlab/jupyterlab"
-}
+}

+ 31 - 0
scripts/package-update.js

@@ -0,0 +1,31 @@
+#!/usr/bin/env node
+var fs = require('fs');
+var path = require('path');
+var childProcess = require('child_process');
+
+if (process.argv.length < 4) {
+    var msg = '** Must supply a target library and separate version specifier';
+    process.stderr.write(msg);
+    process.exit(1);
+}
+
+var target = process.argv[2];
+var specifier = process.argv[3];
+
+if (specifier === '@latest') {
+  var cmd = 'npm view ' + target + ' version';
+  var specifier = childProcess.execSync(cmd);
+  specifier = '^' + String(specifier).trim();
+}
+
+var packagePath = path.join(process.cwd(), 'package.json');
+var package = require(packagePath);
+process.stdout.write(package.name + '\n');
+
+if (target in package['dependencies']) {
+  package['dependencies'][target] = specifier;
+} else if (target in package['devDependencies']) {
+  package['devDependencies'][target] = specifier;
+}
+
+fs.writeFileSync(packagePath, JSON.stringify(package, null, 2) + '\n');