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 | body?: string;
|
12 | }
|
13 | export declare type IExtendedCommit = ICommit & {
|
14 | authors: ICommitAuthor[];
|
15 | pullRequest?: IPullRequest;
|
16 | jira?: {
|
17 | number: string[];
|
18 | };
|
19 | labels: string[];
|
20 | packages?: string[];
|
21 | };
|
22 | export declare function filterServiceAccounts(commit: IExtendedCommit): boolean | void;
|
23 | export declare function parsePR(commit: IExtendedCommit): IExtendedCommit;
|
24 | export declare function parseSquashPR(commit: IExtendedCommit): IExtendedCommit;
|
25 | export declare function parseJira(commit: IExtendedCommit): IExtendedCommit;
|
26 | export interface ILogParseHooks {
|
27 | parseCommit: AsyncSeriesWaterfallHook<[IExtendedCommit]>;
|
28 | omitCommit: AsyncSeriesBailHook<[IExtendedCommit], boolean | void>;
|
29 | }
|
30 | export default class LogParse {
|
31 | hooks: ILogParseHooks;
|
32 | constructor();
|
33 | normalizeCommits(commits: ICommit[]): Promise<IExtendedCommit[]>;
|
34 | normalizeCommit(commit: ICommit): Promise<IExtendedCommit | undefined>;
|
35 | }
|