changelog-splitter
Version:
✂️ conventional commit changelog markdown splitter 约定式提交更新日志 markdown 切割器
83 lines (82 loc) • 2.36 kB
TypeScript
/**
* 匹配版本号中的主版本号
* @param {string} version
* @returns {string}
*/
export declare function matchMajor(version: string): string;
/**
* 从 markdown 中匹配版本标题,例如
* "## [12.34.56](http://example.com) A new version (2022-11-22)"
* @param {string} line
* @returns {{date: string, major: string, name: string, link: string, title: string}}
*/
export declare function matchVersion(line: string): {
name: string;
major: string;
link: string;
title: string;
date: string;
} | undefined;
/**
* 从 markdown 中匹配前版本链接,如:
* - [v1.x](changelogs/v1.x.md)
* @param {string} line
* @returns {{major: string, name: string, link: string}}
*/
export declare function matchPrevious(line: string): {
name: string;
major: string;
link: string;
} | undefined;
/**
* 按行读取文件内容
* @param {string} filePath
* @param {(line: string) => any} lineProcessor
* @returns {Promise<void>}
*/
export declare function readFileLineByLine(filePath: string, lineProcessor: (line: string) => any): Promise<void>;
/**
* 统计文件的行数
* @param {string} filePath
* @returns {Promise<number>}
*/
export declare function countFileLines(filePath: string): Promise<number>;
/**
* 流式复制文件,会覆盖目标文件
* @param {string} source
* @param {string} target
* @returns {Promise<unknown>}
*/
export declare function pipeFile(source: string, target: string): Promise<void>;
/**
* 合并多个文件
* @param {string[]} files
* @param {string} target
* @returns {Promise<void>}
*/
export declare function mergeFiles(files: string[], target: string): Promise<void>;
/**
* 创建临时目录【必存在】
* @returns {string}
*/
export declare function createTempDirname(): string;
/**
* 创建临时文件【必存在】
* @param {string} data
* @returns {string}
*/
export declare function createTempFile(data?: string): string;
/**
* 根据主版本号生成实际字符串
* @param {string} templateName
* @param {string} major
* @returns {string}
*/
export declare function generateNameByMajor(templateName: string, major: string): string;
/**
* 版本号排序
* @param {string[]} versionList
* @param desc
* @returns {string[]}
*/
export declare function versionListSort(versionList: string[], desc?: boolean): string[];