fix: 测试通过后再写回版本号,避免测试失败时污染 package.json

This commit is contained in:
2026-06-09 18:32:47 +08:00
parent 682bdda3e5
commit 075bdcdd54

View File

@@ -80,9 +80,6 @@ async function stepBumpVersion(): Promise<string> {
process.exit(0); process.exit(0);
} }
pkg.version = newVersion;
writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
console.log(`版本号已更新: ${currentVersion}${newVersion}`);
return newVersion; return newVersion;
} }
@@ -180,18 +177,28 @@ async function stepNpmPublish(): Promise<void> {
console.log("npm 发布成功"); console.log("npm 发布成功");
} }
function writeVersion(version: string): void {
const pkgPath = join(import.meta.dir, "..", "package.json");
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8")) as { version: string };
pkg.version = version;
writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
}
async function main(): Promise<void> { async function main(): Promise<void> {
const newVersion = await stepBumpVersion(); const newVersion = await stepBumpVersion();
console.log(`[1/4] 版本号递增完成: ${newVersion}`); console.log(`目标版本: ${newVersion}`);
await runTests(); await runTests();
console.log("[2/4] 测试通过"); console.log("[1/3] 测试通过");
writeVersion(newVersion);
console.log(`[2/3] 版本号已更新: ${newVersion}`);
await stepGitCommitTag(newVersion); await stepGitCommitTag(newVersion);
console.log(`[3/4] git commit 和 tag v${newVersion} 完成`); console.log(`[3/3] git commit 和 tag v${newVersion} 完成`);
await stepNpmPublish(); await stepNpmPublish();
console.log("[4/4] npm 发布完成"); console.log("npm 发布完成");
} }
if (import.meta.main) { if (import.meta.main) {