chore(version): 0.3.7
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
const { execSync } = require('child_process')
|
||||
const fs = require('fs')
|
||||
|
||||
// 执行命令并返回输出
|
||||
function exec(command) {
|
||||
return execSync(command, { encoding: 'utf8' }).trim()
|
||||
}
|
||||
|
||||
// 获取命令行参数
|
||||
const args = process.argv.slice(2)
|
||||
const versionType = args[0] || 'patch'
|
||||
const shouldPush = args.includes('push')
|
||||
|
||||
// 验证版本类型
|
||||
if (!['patch', 'minor', 'major'].includes(versionType)) {
|
||||
console.error('Invalid version type. Use patch, minor, or major.')
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
// 更新版本
|
||||
exec(`yarn version ${versionType} --immediate`)
|
||||
|
||||
// 读取更新后的 package.json 获取新版本号
|
||||
const updatedPackageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'))
|
||||
const newVersion = updatedPackageJson.version
|
||||
|
||||
// Git 操作
|
||||
exec('git add .')
|
||||
exec(`git commit -m "chore(version): ${newVersion}"`)
|
||||
exec(`git tag -a v${newVersion} -m "Version ${newVersion}"`)
|
||||
|
||||
console.log(`Version bumped to ${newVersion}`)
|
||||
|
||||
if (shouldPush) {
|
||||
console.log('Pushing to remote...')
|
||||
exec('git push && git push --tags')
|
||||
console.log('Pushed to remote.')
|
||||
} else {
|
||||
console.log('Changes are committed locally. Use "git push && git push --tags" to push to remote.')
|
||||
}
|
||||
Reference in New Issue
Block a user