const { join } = require("node:path"); const fs = require("node:fs"); const exec = require("execa"); (async () => { const file = join(__dirname, "../package.json"); const json = require(file); const match = json['version'].match(/^[\d.]*(?:-pre\d+|)?/); const version = match ? `${match[0]}-dev` : "dev"; const revision = process.argv.length > 2 ? process.argv[2] : (await exec("git", ["rev-parse", "--short", "HEAD"])).stdout; json['version'] = `${version}-${revision}`; console.log(`Package version was updated to ${json['version']}`); fs.writeFileSync(file, JSON.stringify(json, null, '\t')); })();