@conventional-changelog/git-client
Version:
Simple git client for conventional changelog packages.
69 lines • 1.95 kB
TypeScript
import type { GitLogParams, GitCommitParams, GitTagParams } from './types.js';
/**
* Wrapper around Git CLI.
*/
export declare class GitClient {
readonly cwd: string;
private readonly debug;
constructor(cwd: string, debug?: ((log: string[]) => void) | false);
private formatArgs;
/**
* Get raw commits stream.
* @param params
* @param params.path - Read commits from specific path.
* @param params.from - Start commits range.
* @param params.to - End commits range.
* @param params.format - Commits format.
* @yields Raw commits data.
*/
getRawCommits(params?: GitLogParams): AsyncGenerator<string, void, unknown>;
/**
* Get tags stream.
* @yields Tags
*/
getTags(): AsyncGenerator<string, void, unknown>;
/**
* Get last tag.
* @returns Last tag, `null` if not found.
*/
getLastTag(): Promise<string | null>;
/**
* Check file is ignored via .gitignore.
* @param file - Path to target file.
* @returns Boolean value.
*/
checkIgnore(file: string): Promise<boolean>;
/**
* Add files to git index.
* @param files - Files to stage.
*/
add(files: string | string[]): Promise<void>;
/**
* Commit changes.
* @param params
* @param params.verify
* @param params.sign
* @param params.files
* @param params.message
*/
commit(params: GitCommitParams): Promise<void>;
/**
* Create a tag for the current commit.
* @param params
* @param params.sign
* @param params.name
* @param params.message
*/
tag(params: GitTagParams): Promise<void>;
/**
* Get current branch name.
* @returns Current branch name.
*/
getCurrentBranch(): Promise<string>;
/**
* Push changes to remote.
* @param branch
*/
push(branch: string): Promise<void>;
}
//# sourceMappingURL=GitClient.d.ts.map