mirror of https://github.com/node-red/node-red.git
				
				
				
			
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
#!/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);
 | 
						|
}
 |