فهرست منبع

feat: 日志新增增量生成功能

liujia 2 ماه پیش
والد
کامیت
81a688063c
1فایلهای تغییر یافته به همراه20 افزوده شده و 3 حذف شده
  1. 20 3
      scripts/release.js

+ 20 - 3
scripts/release.js

@@ -11,6 +11,18 @@ function getVersion() {
   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() {
   console.log('🚀 开始发布流程...')
 
@@ -34,9 +46,14 @@ async function main() {
   // 读取新版本号
   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
   run('git add CHANGELOG.md')