mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-25 17:13:47 +01:00
58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
|
import commandLineArgs from "command-line-args";
|
||
|
|
||
|
import fs from "fs/promises";
|
||
|
import path from "path";
|
||
|
import { fileURLToPath } from "url";
|
||
|
|
||
|
// https://github.com/75lb/command-line-args
|
||
|
const optionDefinitions = [
|
||
|
{
|
||
|
name: "version",
|
||
|
alias: "v",
|
||
|
type: String,
|
||
|
required: true,
|
||
|
},
|
||
|
];
|
||
|
|
||
|
const cliArgs = commandLineArgs(optionDefinitions);
|
||
|
|
||
|
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
||
|
const appPaths = {
|
||
|
root,
|
||
|
electronPackage: path.join(root, "./electron/package.json"),
|
||
|
constants: path.join(root, "./src/Constants.ts"),
|
||
|
sphinxConf: path.join(root, "./doc/source/conf.py"),
|
||
|
};
|
||
|
|
||
|
async function main(version) {
|
||
|
console.log(`Updating app files to match v${version}`);
|
||
|
|
||
|
const [major, minor] = version.split(".");
|
||
|
const shortVersion = `${major}.${minor}`;
|
||
|
|
||
|
const modifiedElectronPackage = (await fs.readFile(appPaths.electronPackage, "utf8")).replace(
|
||
|
/(^\s*"version":\s)"(.*)",$/m,
|
||
|
`$1"${version}",`,
|
||
|
);
|
||
|
await fs.writeFile(appPaths.electronPackage, modifiedElectronPackage);
|
||
|
console.log(`> Modified ${appPaths.electronPackage}`);
|
||
|
|
||
|
let modifiedConstants = (await fs.readFile(appPaths.constants, "utf8")).replace(
|
||
|
/(^\s*?VersionString:\s)"(.*)",/m,
|
||
|
`$1"${version}",`,
|
||
|
);
|
||
|
|
||
|
await fs.writeFile(appPaths.constants, modifiedConstants);
|
||
|
console.log(`> Modified ${appPaths.constants}`);
|
||
|
|
||
|
let modifiedSphinxConfig = (await fs.readFile(appPaths.sphinxConf, "utf8")).replace(
|
||
|
/(^version = ')(.*)'$/m,
|
||
|
`$1${shortVersion}'`,
|
||
|
);
|
||
|
modifiedSphinxConfig = modifiedSphinxConfig.replace(/(^release = ')(.*)'$/m, `$1${version}'`);
|
||
|
await fs.writeFile(appPaths.sphinxConf, modifiedSphinxConfig);
|
||
|
console.log(`> Modified ${appPaths.sphinxConf}`);
|
||
|
}
|
||
|
|
||
|
main(cliArgs.version).then(() => console.log("Done"));
|