unbag
Version:
一个专门用来开发npm工具的包
49 lines • 1.73 kB
text/typescript
import semver, { type ReleaseType } from "semver";
import type { Commit } from "conventional-commits-parser";
import { FinalUserConfig } from "../../utils/config.mts";
import { MaybePromise } from "../../utils/types.mts";
import { Bumper } from "conventional-recommended-bump";
export interface VersionFileFileContent {
version: string;
}
export interface ReleaseBumpConfig {
versionFilePath: string;
versionFilePathResolve: (params: {
finalUserConfig: FinalUserConfig;
}) => MaybePromise<string>;
versionFileRead: (params: {
finalUserConfig: FinalUserConfig;
}) => MaybePromise<VersionFileFileContent>;
versionFileWrite: (params: {
finalUserConfig: FinalUserConfig;
bumpRes: BumpResult;
}) => MaybePromise<void>;
versionFileWriteDisable?: boolean;
releaseAs?: string;
releaseType?: ReleaseType;
releasePre?: boolean;
releasePreTag?: string;
}
export declare const ReleaseBumpConfigDefault: ReleaseBumpConfig;
export declare const VERSIONS: readonly ["major", "minor", "patch"];
export declare const getCommits: (bumper: Bumper) => Promise<Commit[]>;
export declare const isReleaseType: (value: string) => value is semver.ReleaseType;
export declare const isInPrerelease: (version: string) => boolean;
export declare const genVersionByCommits: (params: {
finalUserConfig: FinalUserConfig;
data: {
oldVersion: string;
};
}) => Promise<BumpResult>;
export interface BumpResult {
oldVersion: string;
version: string;
releaseType?: ReleaseType;
commits?: Commit[];
}
export declare const genVersion: (params: {
finalUserConfig: FinalUserConfig;
}) => Promise<BumpResult>;
export declare const bump: (params: {
finalUserConfig: FinalUserConfig;
}) => Promise<BumpResult>;