|
@@ -0,0 +1,41 @@
|
|
|
+import fs from "fs-extra";
|
|
|
+import { createRequire } from "module";
|
|
|
+import { execSync } from "child_process";
|
|
|
+
|
|
|
+const require = createRequire(import.meta.url);
|
|
|
+
|
|
|
+async function resolvePublish() {
|
|
|
+ const flag = process.argv[2] ?? "patch";
|
|
|
+ const packageJson = require("../package.json");
|
|
|
+ const tauriJson = require("../src-tauri/tauri.conf.json");
|
|
|
+
|
|
|
+ let [a, b, c] = packageJson.version.split(".").map(Number);
|
|
|
+
|
|
|
+ if (flag === "major") a += 1;
|
|
|
+ else if (flag === "minor") b += 1;
|
|
|
+ else if (flag === "patch") c += 1;
|
|
|
+ else throw new Error(`invalid flag "${flag}"`);
|
|
|
+
|
|
|
+ const nextVersion = `${a}.${b}.${c}`;
|
|
|
+ packageJson.version = nextVersion;
|
|
|
+ tauriJson.package.version = nextVersion;
|
|
|
+
|
|
|
+ await fs.writeFile(
|
|
|
+ "./package.json",
|
|
|
+ JSON.stringify(packageJson, undefined, 2)
|
|
|
+ );
|
|
|
+ await fs.writeFile(
|
|
|
+ "./src-tauri/tauri.conf.json",
|
|
|
+ JSON.stringify(tauriJson, undefined, 2)
|
|
|
+ );
|
|
|
+
|
|
|
+ execSync("git add ./package.json");
|
|
|
+ execSync("git add ./src-tauri/tauri.conf.json");
|
|
|
+ execSync(`git commit -m "v${nextVersion}"`);
|
|
|
+ execSync(`git tag -a v${nextVersion} -m "v${nextVersion}"`);
|
|
|
+ execSync(`git push`);
|
|
|
+ execSync(`git push origin v${nextVersion}`);
|
|
|
+ console.log(`Publish Successfully...`);
|
|
|
+}
|
|
|
+
|
|
|
+resolvePublish();
|