auto-version-tool
Version:
根据git commit历史自动修改版本号并生成changelog的CLI工具 (Automatically bump version & generate changelog based on git commits)
79 lines • 1.83 kB
TypeScript
export interface Config {
git: {
defaultBranch: string;
remoteOrigin: string;
tagPrefix: string;
};
version: {
strategy: 'semantic' | 'timestamp' | 'build';
bumpRules: {
major: string[];
minor: string[];
patch: string[];
};
prerelease?: {
identifier?: string;
enable?: boolean;
};
};
changelog: {
outputFile: string;
template: string;
includeTypes: string[];
skipEmptyReleases: boolean;
groupBy: 'type' | 'scope' | 'none';
};
commitTypes: {
[key: string]: {
title: string;
semver: 'major' | 'minor' | 'patch' | 'none';
emoji?: string;
};
};
files: {
packageJson: string;
versionFile?: string;
changelogFile: string;
};
hooks: {
preVersion?: string;
postVersion?: string;
preCommit?: string;
postCommit?: string;
};
}
export interface RunOptions {
branch: string;
versionType: 'patch' | 'minor' | 'major' | 'auto';
dryRun: boolean;
skipChangelog: boolean;
skipCommit: boolean;
skipTag: boolean;
}
export interface CommitInfo {
hash: string;
message: string;
author: string;
date: Date;
type?: string;
scope?: string;
subject?: string;
body?: string;
breaking?: boolean;
issues?: string[];
}
export interface VersionInfo {
current: string;
next: string;
type: 'major' | 'minor' | 'patch';
}
export interface ChangelogEntry {
version: string;
date: string;
commits: CommitInfo[];
breaking: CommitInfo[];
features: CommitInfo[];
fixes: CommitInfo[];
others: CommitInfo[];
}
//# sourceMappingURL=Config.d.ts.map