Skip to content

clean-changelog

清理 CHANGELOG 文件中的 alpha/beta 预发布版本记录,只保留正式版本。

CLI 用法

bash
npx t-comm clean:changelog <patterns...> [options]

参数

参数说明
patternsCHANGELOG.md 文件路径或 glob 表达式(支持多个)

选项

选项说明
-d, --dry-run预览模式,不实际修改文件

示例

bash
# 处理单个文件
npx t-comm clean:changelog packages/network-v2/CHANGELOG.md

# 使用 glob 表达式处理多个文件
npx t-comm clean:changelog 'packages/*/CHANGELOG.md'
npx t-comm clean:changelog 'packages/**/CHANGELOG.md'

# 预览模式(不修改文件)
npx t-comm clean:changelog "packages/*/CHANGELOG.md" --dry-run

# 处理多个路径
npx t-comm clean:changelog packages/a/CHANGELOG.md packages/b/CHANGELOG.md

编程调用

ts
import { cleanChangelogFile, cleanChangelogScript } from 't-comm';

// 清理单个文件
cleanChangelogFile('packages/my-pkg/CHANGELOG.md');

// 预览模式
cleanChangelogFile('packages/my-pkg/CHANGELOG.md', true);

// 批量处理(模拟 CLI 调用)
await cleanChangelogScript(['packages/*/CHANGELOG.md', '--dry-run']);

功能说明

  1. 自动识别预发布版本:匹配 alphabeta 等预发布标识
  2. 支持多种格式
    • ### [1.0.1-alpha.1](url) (date) 格式
    • ## <small>1.0.1-beta.0 (date)</small> 格式
  3. Glob 支持:使用 glob 表达式批量匹配文件
  4. 安全预览--dry-run 模式下只输出统计信息,不修改文件

输出示例

🔍 匹配到 3 个文件:

============================================================

📁 [1/3] 处理文件: packages/a/CHANGELOG.md
------------------------------------------------------------
📖 读取文件: /workspace/packages/a/CHANGELOG.md

📊 统计信息:
   - 总版本数: 15
   - Alpha/Beta 版本数: 8
   - 正式版本数: 7

🗑️  将要删除的 Alpha/Beta 版本:
   - 1.2.1-alpha.1
   - 1.2.0-beta.2

✅ 已清理完成

============================================================

📋 处理完成:
   - 成功: 3 个文件

注意事项

  1. 操作不可逆,建议先用 --dry-run 预览
  2. 支持 glob 表达式,注意在 shell 中用引号包裹避免被展开
  3. 文件路径相对于当前工作目录解析