@_lan/web-libs
Version:
<div align="center"> <img src="./public/favicon.svg" width="160" /> <h1>SoybeanAdmin AntDesign</h1> <span>中文 | <a href="./README.en_US.md">English</a></span> </div>
38 lines (28 loc) • 1.09 kB
JavaScript
const fs = require('node:fs');
const path = require('node:path');
// 1. 读取 package.json
const packagePath = path.resolve(process.cwd(), 'package.json');
const packageData = fs.readFileSync(packagePath, 'utf8');
try {
// 2. 解析 JSON
const packageObj = JSON.parse(packageData);
if (!packageObj.version) {
throw new Error('package.json 未找到 version 字段');
}
// 3. 拆分版本号并更新
const versionParts = packageObj.version.split('.').map(Number);
if (versionParts.length < 3 || versionParts.some(isNaN)) {
throw new Error(`无效的版本号格式: ${packageObj.version}`);
}
// 增加补丁版本号
versionParts[2] += 1;
const newVersion = versionParts.join('.');
// 4. 更新 version 字段
packageObj.version = newVersion;
// 5. 写回文件(保留格式)
fs.writeFileSync(packagePath, `${JSON.stringify(packageObj, null, 2)}\n`, 'utf8');
console.log(`✅ 版本号已更新: ${packageObj.version} → ${newVersion}`);
} catch (error) {
console.error(`❌ 更新失败: ${error.message}`);
process.exit(1);
}