From 8edf399631e1c7d3d55f1cec682c2c46af522ac6 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Fri, 21 Sep 2018 14:27:56 +0100 Subject: [PATCH] Add set-package-version script to bump all version numbers --- scripts/set-package-version.js | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 scripts/set-package-version.js diff --git a/scripts/set-package-version.js b/scripts/set-package-version.js new file mode 100644 index 000000000..d5a3b3e7f --- /dev/null +++ b/scripts/set-package-version.js @@ -0,0 +1,44 @@ +#!/usr/bin/env node + +const path = require("path"); +const fs = require("fs-extra"); +const should = require("should"); + +const rootPackage = path.join(__dirname,"..","package.json"); +const packages = [ + "node-red", + "@node-red/editor-api", + "@node-red/editor-client", + "@node-red/nodes", + "@node-red/registry", + "@node-red/runtime", + "@node-red/util" +]; +function updatePackage(packageFile, version) { + let modulePackage = require(packageFile); + modulePackage.version = version; + let dependencies = Object.keys(modulePackage.dependencies||{}); + dependencies.forEach(module => { + if (/^@node-red\//.test(module)) { + modulePackage.dependencies[module] = version; + } + }); + return fs.writeJSON(packageFile,modulePackage,{spaces:4}); +} + +const targetVersion = process.argv[2]; + +if (/^\d+\.\d+\.\d+(-.*)?/.test(targetVersion)) { + let promises = []; + promises.push(updatePackage(rootPackage,targetVersion)); + packages.forEach(package => { + promises.push(updatePackage(path.join(__dirname,"../packages/node_modules",package,"package.json"),targetVersion)) + }); + Promise.all(promises).catch(e => { + console.log(e); + process.exit(1); + }) +} else { + console.log("Invalid target version"); + process.exit(1); +}