universal-build-plugin-version-check-test
Version:
一个支持多种前端构建工具的通用插件框架,包括 Vite、Webpack、Rollup 等,提供版本检查、构建优化等功能
71 lines • 1.9 kB
TypeScript
import type { VersionInfoOption } from '../types';
/**
* 版本信息接口
*/
export interface VersionInfo {
/** 版本号 */
version: string | number;
/** 构建时间 */
buildTime: string;
/** Git 提交哈希 */
gitCommit?: string;
/** Git 分支 */
gitBranch?: string;
/** 项目名称 */
projectName?: string;
meta?: {
[key: string]: any;
};
}
/**
* 版本管理工具类
*/
export declare class VersionManager {
private rootDir;
private versionFilePath;
constructor(rootDir?: string);
/**
* 生成版本信息
*/
generateVersionInfo(options: VersionInfoOption): Promise<VersionInfo>;
/**
* git 生成版本号
*/
generateGitHashVersionInfo(): Promise<{
version: string;
gitCommit: string;
gitBranch: string;
}>;
/**
* 自定义配置版本生成信息
*/
generateCustomVersionInfo(options: VersionInfoOption): Promise<string | number>;
/**
* 读取package.json生成信息, 兜底方案,如果所有都生成错误,会使用当前时间戳生成
*/
generatePackageInfo(): Promise<string>;
/**
* 时间戳生成版本号,降级处理
*/
generateTimestampVersion(): string;
/**
* 写入版本文件
* @param versionInfo 版本信息
* @param outputDir 可选的输出目录,如果不提供则使用默认的项目根目录
*/
writeVersionFile(versionInfo: VersionInfo, outputDir?: string): Promise<void>;
/**
* 读取现有版本文件
*/
readVersionFile(): Promise<VersionInfo | null>;
/**
* 获取 Git 信息
*/
private getGitInfo;
/**
* 清理版本文件
*/
cleanVersionFile(): Promise<void>;
isAsyncFunction(fn: unknown): fn is (...args: any[]) => Promise<any>;
}
//# sourceMappingURL=version-manager.d.ts.map