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