bump-taler-version.mjs (1038B)
1 #!/usr/bin/env node 2 3 // Bump the package.json versions in Taler-related packagesin 4 // this repository. 5 // The version must be in one of the following formats: 6 // - x.y.z 7 // - x.y.z-dev.n 8 9 import * as fs from "fs"; 10 11 let requestedVersion = process.argv[2]; 12 13 let dry = false; 14 if (process.argv.includes("--dry")) { 15 dry = true; 16 } 17 18 const releaseVerRegex = /^(\d+)[.](\d+)[.](\d+)$/; 19 const devVerRegex = /^(\d+)[.](\d+)[.](\d+)-dev[.](\d+)$/; 20 if ( 21 !releaseVerRegex.test(requestedVersion) && 22 !devVerRegex.test(requestedVersion) 23 ) { 24 console.error( 25 "wrong version format, it should have 3 numbers separated with dots or end with -dev.<buildnumber>", 26 ); 27 process.exit(1); 28 } 29 30 const packages = fs.readdirSync("packages"); 31 32 for (const pkg of packages) { 33 const p = `packages/${pkg}/package.json`; 34 if (!fs.existsSync(p)) continue; 35 const data = JSON.parse(fs.readFileSync(p)); 36 console.log(p, data.version); 37 if (!dry) { 38 data.version = requestedVersion; 39 fs.writeFileSync(p, JSON.stringify(data, undefined, 2) + "\n"); 40 } 41 }