Files
SecScore/scripts/ci/apply-version.mjs
T
Linkon 24e9e6f6f8 style: 移除多个文件末尾的空行并格式化代码
refactor(ci): 统一字符串引号风格为单引号
refactor(color): 简化数组返回语法
docs: 调整文档中的代码注释格式
chore: 添加.gitattributes文件配置行尾符
2026-01-18 19:43:26 +08:00

22 lines
634 B
JavaScript

import fs from 'fs'
import path from 'path'
const version = String(process.argv[2] || '')
.trim()
.replace(/^v/i, '')
if (!version) {
process.stderr.write('缺少版本号参数,例如:node scripts/ci/apply-version.mjs 1.2.3\n')
process.exit(1)
}
const semverRe = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/
if (!semverRe.test(version)) {
process.stderr.write(`非法版本号:${version}\n`)
process.exit(1)
}
const pkgPath = path.join(process.cwd(), 'package.json')
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))
pkg.version = version
fs.writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`, 'utf-8')