git-blame-json
Version:
Execute git blame async and efficiently with results as Map
35 lines (34 loc) • 980 B
TypeScript
/**
* Spawns git blame and parses results into JSON, via stream (so, no problem on huge files)
*/
interface BlameOptions {
/**
* Annotate only the given line range. May be specified multiple times. Overlapping ranges are allowed.
* @see {@link https://git-scm.com/docs/git-blame#_specifying_ranges}
*/
range: string;
ignoreWhitespace: boolean;
workTree: string;
gitDir: string;
rev: string;
}
interface LineInfo {
sourceLine: number;
resultLine: number;
hash: string;
numberOfLines: number;
author: string;
authorMail: string;
authorTime: number;
authorTz: string;
commiter: string;
commiterMail: string;
commiterTime: number;
commiterTz: string;
summary: string;
previous: string;
filename: string;
[k: string]: string | number;
}
export declare function blame(filename: string, options?: Partial<BlameOptions>, gitPath?: string): Promise<Map<number, LineInfo>>;
export {};