UNPKG

changelog-splitter

Version:

✂️ conventional commit changelog markdown splitter 约定式提交更新日志 markdown 切割器

59 lines (58 loc) 1.81 kB
import { RuntimeConfig, StrictUserConfig } from './config'; export declare enum SplitProcessingStage { Parse = 0, Refer = 1 } export interface SplitProcessing { stage: SplitProcessingStage; progress: number; } export type OnProcessing = (processing: SplitProcessing) => void; export interface SplitContext { /** * 已经处理的主版本号与文件的映射表 */ processedFileByMajor: { [major: string]: string; }; /** * 主版本更新日志末尾的连续空白长度 */ blankLengthByMajor: { [major: string]: number; }; /** * 由于冲突策略导致的废弃文件 */ deprecatedMajorFiles: { [major: string]: string; }; } export interface SplitResult { splitContext: SplitContext; runtimeConfig: RuntimeConfig; } export declare function createSplitContext(): SplitContext; /** * 分离当前更新日志 * @param {RuntimeConfig} runtimeConfig * @param {OnProcessing} [onProcessing] * @returns {Promise<SplitContext>} */ export declare function parseCurrentChangelog(runtimeConfig: RuntimeConfig, onProcessing?: OnProcessing): Promise<SplitContext>; /** * 引用之前的更新日志链接 * @param {RuntimeConfig} runtimeConfig * @param {SplitContext} splitContext * @param {OnProcessing} onProcessing * @returns {Promise<void>} */ export declare function referPreviousChangelog(runtimeConfig: RuntimeConfig, splitContext: SplitContext, onProcessing?: OnProcessing): Promise<void>; /** * 切割更新日志 * @param {StrictUserConfig} config * @param {StrictUserConfig} config * @param {OnProcessing} [onProcessing] * @returns {Promise<SplitResult>} */ export declare function splitChangelog(config: StrictUserConfig, onProcessing?: OnProcessing): Promise<SplitResult>;