conventional-changelog
Version:
Generate a changelog from git metadata.
121 lines • 4.27 kB
TypeScript
import { Readable } from 'stream';
import type { ParserStreamOptions, Commit } from 'conventional-commits-parser';
import { type GetSemverTagsParams, type GetCommitsParams, ConventionalGitClient, packagePrefix } from '@conventional-changelog/git-client';
import { type Options as WriterOptions, type Context, type Details } from 'conventional-changelog-writer';
import { type UnknownPresetCreatorParams, type PresetParams, type PresetModuleLoader } from 'conventional-changelog-preset-loader';
import { type HostedGitInfo } from '@simple-libs/hosted-git-info';
import type { PackageTransform, Options, Preset } from './types.js';
export { packagePrefix };
/**
* Conventional changelog generator
*/
export declare class ConventionalChangelog {
private readonly gitClient;
private params;
constructor(cwdOrGitClient?: string | ConventionalGitClient);
private composeParams;
private finalizeContext;
private finalizeWriterOptions;
private getSemverTags;
private getCommits;
private transformCommits;
private getPackageJson;
/**
* Load configs from a preset
* @param preset
* @param loader - Preset module loader, if not provided, will use default loader
* @returns this
*/
loadPreset<PresetCreatorParams extends UnknownPresetCreatorParams = UnknownPresetCreatorParams>(preset: PresetParams<PresetCreatorParams>, loader?: PresetModuleLoader): this;
/**
* Set the config directly
* @param config - Config object
* @returns this
*/
config(config: Preset | Promise<Preset>): this;
/**
* Find package.json and read it
* @param transform - Optional transform function
* @returns this
*/
readPackage(transform?: PackageTransform): this;
/**
* Read package.json from a specified path
* @param path - Path to package.json
* @param transform - Optional transform function
* @returns this
*/
readPackage(path?: string, transform?: PackageTransform): this;
/**
* Set package.json data
* @param pkg - Package.json data
* @returns this
*/
package(pkg: Record<string, unknown>): this;
/**
* Read repository info from the current git repository
* @returns this
*/
readRepository(): this;
/**
* Set repository info
* @param infoOrGitUrl - Hosted git info or git url
* @returns this
*/
repository(infoOrGitUrl: string | Partial<HostedGitInfo>): this;
/**
* Set conventional-changelog options
* @param options - Generator options
* @returns this
*/
options(options: Options): this;
/**
* Set writer context data
* @param context - Writer context data
* @returns this
*/
context(context: Context): this;
/**
* Set params to get semver tags
* @param params - Params to get the last semver tag
* @returns this
*/
tags(params: GetSemverTagsParams): this;
/**
* Set params to get commits
* @param params - Params to get commits since last release
* @param parserOptions - Parser options
* @returns this
*/
commits(params: GetCommitsParams, parserOptions?: ParserStreamOptions): this;
/**
* Set writer options
* @param params - Writer options
* @returns this
*/
writer(params: WriterOptions): this;
/**
* Generate changelog
* @param includeDetails - Generate data objects instead of strings
* @returns Changelog generator
*/
write(includeDetails?: false): AsyncGenerator<string, void>;
/**
* Generate changelog data objects
* @param includeDetails - Generate data objects instead of strings
*/
write(includeDetails: true): AsyncGenerator<Details<Commit>, void>;
/**
* Generate changelog
* @param includeDetails - Generate data objects instead of strings
* @returns Changelog generator
*/
write(includeDetails?: boolean): AsyncGenerator<string | Details<Commit>, void>;
/**
* Generate changelog to stream
* @param includeDetails - Generate data objects instead of strings
* @returns Changelog stream
*/
writeStream(includeDetails?: boolean): Readable;
}
//# sourceMappingURL=ConventionalChangelog.d.ts.map