mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 03:53:43 +08:00
97 lines
2.7 KiB
JavaScript
97 lines
2.7 KiB
JavaScript
import fs from "fs/promises";
|
|
import path from "path";
|
|
|
|
/**
|
|
* 更新 package.json 文件中的版本号
|
|
*/
|
|
async function updatePackageVersion() {
|
|
const _dirname = process.cwd();
|
|
const packageJsonPath = path.join(_dirname, "package.json");
|
|
try {
|
|
const data = await fs.readFile(packageJsonPath, "utf8");
|
|
const packageJson = JSON.parse(data);
|
|
|
|
let result = packageJson.version;
|
|
if (!result.includes("alpha")) {
|
|
result = `${result}-alpha`;
|
|
}
|
|
|
|
console.log("[INFO]: Current package.json version is: ", result);
|
|
packageJson.version = result;
|
|
await fs.writeFile(
|
|
packageJsonPath,
|
|
JSON.stringify(packageJson, null, 2),
|
|
"utf8",
|
|
);
|
|
console.log(`[INFO]: package.json version updated to: ${result}`);
|
|
} catch (error) {
|
|
console.error("Error updating package.json version:", error);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 更新 Cargo.toml 文件中的版本号
|
|
*/
|
|
async function updateCargoVersion() {
|
|
const _dirname = process.cwd();
|
|
const cargoTomlPath = path.join(_dirname, "src-tauri", "Cargo.toml");
|
|
try {
|
|
const data = await fs.readFile(cargoTomlPath, "utf8");
|
|
const lines = data.split("\n");
|
|
|
|
const updatedLines = lines.map((line) => {
|
|
if (line.startsWith("version =")) {
|
|
const versionMatch = line.match(/version\s*=\s*"([^"]+)"/);
|
|
if (versionMatch && !versionMatch[1].includes("alpha")) {
|
|
const newVersion = `${versionMatch[1]}-alpha`;
|
|
return line.replace(versionMatch[1], newVersion);
|
|
}
|
|
}
|
|
return line;
|
|
});
|
|
|
|
await fs.writeFile(cargoTomlPath, updatedLines.join("\n"), "utf8");
|
|
} catch (error) {
|
|
console.error("Error updating Cargo.toml version:", error);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 更新 tauri.conf.json 文件中的版本号
|
|
*/
|
|
async function updateTauriConfigVersion() {
|
|
const _dirname = process.cwd();
|
|
const tauriConfigPath = path.join(_dirname, "src-tauri", "tauri.conf.json");
|
|
try {
|
|
const data = await fs.readFile(tauriConfigPath, "utf8");
|
|
const tauriConfig = JSON.parse(data);
|
|
|
|
let version = tauriConfig.version;
|
|
if (!version.includes("alpha")) {
|
|
version = `${version}-alpha`;
|
|
}
|
|
|
|
console.log("[INFO]: Current tauri.conf.json version is: ", version);
|
|
tauriConfig.version = version;
|
|
await fs.writeFile(
|
|
tauriConfigPath,
|
|
JSON.stringify(tauriConfig, null, 2),
|
|
"utf8",
|
|
);
|
|
console.log(`[INFO]: tauri.conf.json version updated to: ${version}`);
|
|
} catch (error) {
|
|
console.error("Error updating tauri.conf.json version:", error);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 主函数,依次更新所有文件的版本号
|
|
*/
|
|
async function main() {
|
|
await updatePackageVersion();
|
|
await updateCargoVersion();
|
|
await updateTauriConfigVersion();
|
|
}
|
|
|
|
main().catch(console.error);
|