Skip to content

引入

ts
import {
  insertDocChangeLog,
  parseChangelog,
  filterStableVersions,
  rebuildChangelog,
  cleanChangelogFile,
  resolveGlobPatterns,
  cleanChangelogScript
} from 't-comm';

// 不支持 tree-shaking 的项目
import {
  insertDocChangeLog,
  parseChangelog,
  filterStableVersions,
  rebuildChangelog,
  cleanChangelogFile,
  resolveGlobPatterns,
  cleanChangelogScript
} from 't-comm/lib/change-log/index';

// 只支持 ESM 的项目
import {
  insertDocChangeLog,
  parseChangelog,
  filterStableVersions,
  rebuildChangelog,
  cleanChangelogFile,
  resolveGlobPatterns,
  cleanChangelogScript
} from 't-comm/es/change-log/index';

insertDocChangeLog(params)

描述:同步最新版本的更新日志

参数

参数名类型描述
paramsobject参数
params.changelogPathstring源 change-log路径
params.docChangelogPathstring文档 change-log 路径
params.packageJsonPathstringpackage.json 路径

示例

ts
const DOC_CHANGE_LOG_PATH = './docs/CHANGELOG.md';
const SOURCE_CHANGE_LOG_PATH = './CHANGELOG.md';

insertDocChangeLog({
  changelogPath: SOURCE_CHANGE_LOG_PATH,
  docChangeLog: DOC_CHANGE_LOG_PATH,
  packageJsonPath: './package.json',
});

parseChangelog(content)

描述:解析 CHANGELOG 文件,将其分割为多个版本块

参数

参数名类型
contentstring

filterStableVersions(sections)

描述:过滤掉 alpha/beta 版本,只保留正式版本

参数

参数名类型
sectionsArray

rebuildChangelog(preamble, sections)

描述:将 sections 重新组合为 changelog 内容

参数

参数名类型
preambleArray<string>
sectionsArray

cleanChangelogFile(filePath, dryRun)

描述:清理单个 CHANGELOG 文件

参数

参数名类型
filePathstring
dryRunboolean

返回: boolean

是否成功

示例

ts
// 实际写入
cleanChangelogFile('CHANGELOG.md');

// 预览模式,不修改文件
cleanChangelogFile('CHANGELOG.md', true);

resolveGlobPatterns(pattern)

描述:解析 glob 表达式,返回匹配的文件列表

参数

参数名类型
patternstring

cleanChangelogScript()

描述:主函数

参数

示例

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' --dry-run