clean-changelog
清理 CHANGELOG 文件中的 alpha/beta 预发布版本记录,只保留正式版本。
CLI 用法
bash
npx t-comm clean:changelog <patterns...> [options]参数
| 参数 | 说明 |
|---|---|
patterns | CHANGELOG.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']);功能说明
- 自动识别预发布版本:匹配
alpha、beta等预发布标识 - 支持多种格式:
### [1.0.1-alpha.1](url) (date)格式## <small>1.0.1-beta.0 (date)</small>格式
- Glob 支持:使用 glob 表达式批量匹配文件
- 安全预览:
--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 个文件注意事项
- 操作不可逆,建议先用
--dry-run预览 - 支持 glob 表达式,注意在 shell 中用引号包裹避免被展开
- 文件路径相对于当前工作目录解析