UNPKG

1.22 kBTypeScriptView Raw
1import { ICommit } from 'gitlog';
2import { AsyncSeriesBailHook, AsyncSeriesWaterfallHook } from 'tapable';
3export interface ICommitAuthor {
4 name?: string;
5 email?: string;
6 username?: string;
7}
8export interface IPullRequest {
9 number: number;
10 base?: string;
11 body?: string;
12}
13export declare type IExtendedCommit = ICommit & {
14 authors: ICommitAuthor[];
15 pullRequest?: IPullRequest;
16 jira?: {
17 number: string[];
18 };
19 labels: string[];
20 packages?: string[];
21};
22export declare function filterServiceAccounts(commit: IExtendedCommit): boolean | void;
23export declare function parsePR(commit: IExtendedCommit): IExtendedCommit;
24export declare function parseSquashPR(commit: IExtendedCommit): IExtendedCommit;
25export declare function parseJira(commit: IExtendedCommit): IExtendedCommit;
26export interface ILogParseHooks {
27 parseCommit: AsyncSeriesWaterfallHook<[IExtendedCommit]>;
28 omitCommit: AsyncSeriesBailHook<[IExtendedCommit], boolean | void>;
29}
30export default class LogParse {
31 hooks: ILogParseHooks;
32 constructor();
33 normalizeCommits(commits: ICommit[]): Promise<IExtendedCommit[]>;
34 normalizeCommit(commit: ICommit): Promise<IExtendedCommit | undefined>;
35}