Files
CipherTalk/scripts/update-readme-version.js

31 lines
1.1 KiB
JavaScript

const fs = require('fs')
const path = require('path')
const packageJsonPath = path.join(__dirname, '../package.json')
const readmePath = path.join(__dirname, '../README.md')
// 读取 package.json 获取版本号
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))
const version = packageJson.version
if (!version) {
console.error('未找到版本号')
process.exit(1)
}
// 读取 README.md
let readmeContent = fs.readFileSync(readmePath, 'utf-8')
// 使用正则表达式替换版本号
// 匹配 [![Version](https://img.shields.io/badge/version-1.0.1-green.svg)](package.json)
const versionPattern = /(\[!\[Version\]\(https:\/\/img\.shields\.io\/badge\/version-)([0-9]+\.[0-9]+\.[0-9]+)(-green\.svg\)\]\(package\.json\))/
if (versionPattern.test(readmeContent)) {
readmeContent = readmeContent.replace(versionPattern, `$1${version}$3`)
fs.writeFileSync(readmePath, readmeContent, 'utf-8')
console.log(`✅ 已更新 README.md 中的版本号为: ${version}`)
} else {
console.error('❌ 未找到版本号徽章,请检查 README.md 格式')
process.exit(1)
}