1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import fs from "fs-extra";
- import { createRequire } from "module";
- import { execSync } from "child_process";
- import { resolveUpdateLog } from "./updatelog.mjs";
- const require = createRequire(import.meta.url);
- // publish
- 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;
- b = 0;
- c = 0;
- } else if (flag === "minor") {
- b += 1;
- c = 0;
- } 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;
- // 发布更新前先写更新日志
- const nextTag = `v${nextVersion}`;
- await resolveUpdateLog(nextTag);
- 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();
|