|
@@ -11,6 +11,18 @@ function getVersion() {
|
|
|
return JSON.parse(fs.readFileSync('package.json', 'utf8')).version
|
|
return JSON.parse(fs.readFileSync('package.json', 'utf8')).version
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function hasPreviousTag() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const tags = execSync('git tag --sort=-creatordate', { encoding: 'utf8' })
|
|
|
|
|
+ .trim()
|
|
|
|
|
+ .split('\n')
|
|
|
|
|
+ .filter(Boolean)
|
|
|
|
|
+ return tags.length > 0
|
|
|
|
|
+ } catch {
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
async function main() {
|
|
async function main() {
|
|
|
console.log('🚀 开始发布流程...')
|
|
console.log('🚀 开始发布流程...')
|
|
|
|
|
|
|
@@ -34,9 +46,14 @@ async function main() {
|
|
|
// 读取新版本号
|
|
// 读取新版本号
|
|
|
const version = getVersion()
|
|
const version = getVersion()
|
|
|
|
|
|
|
|
- // 3. 全量生成 changelog
|
|
|
|
|
- console.log('📝 正在全量生成 changelog...')
|
|
|
|
|
- run('npx conventional-changelog -p angular -i CHANGELOG.md -s -r 0')
|
|
|
|
|
|
|
+ // 3. 生成 changelog(增量优先)
|
|
|
|
|
+ if (hasPreviousTag()) {
|
|
|
|
|
+ console.log('📝 检测到已有 tag,执行增量 changelog 生成...')
|
|
|
|
|
+ run('npx conventional-changelog -p angular -i CHANGELOG.md -s')
|
|
|
|
|
+ } else {
|
|
|
|
|
+ console.log('📝 未检测到历史 tag,执行全量 changelog 生成...')
|
|
|
|
|
+ run('npx conventional-changelog -p angular -i CHANGELOG.md -s -r 0')
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 4. 自动提交 changelog
|
|
// 4. 自动提交 changelog
|
|
|
run('git add CHANGELOG.md')
|
|
run('git add CHANGELOG.md')
|