taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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 }