@error-monitor/sdk
Version:
Monitor SDK - 多平台前端监控SDK解决方案,支持自动环境检测,Web、Taro小程序一站式监控方案
113 lines • 2.99 kB
TypeScript
/**
* Monitor SDK 源代码打包工具
* 提供简化的API接口,让用户无需手动运行打包脚本
*/
export interface PackOptions {
/** 项目根目录,默认为当前工作目录 */
projectRoot?: string;
/** 输出目录,默认为 'source-code-package' */
outputDir?: string;
/** 是否创建压缩包,默认为 true */
createZip?: boolean;
/** 压缩包名称模式,默认自动生成 */
zipName?: string;
/** 是否启用详细日志,默认为 false */
verbose?: boolean;
/** 自定义配置文件路径 */
configPath?: string;
/** 打包模式:'basic' | 'advanced',默认为 'basic' */
mode?: "basic" | "advanced";
/** 额外的文件包含模式 */
includePatterns?: string[];
/** 额外的文件排除模式 */
excludePatterns?: string[];
/** 项目ID,默认为项目目录名 */
projectId?: string;
/** 版本号,默认为当前日期 */
version?: string;
}
export interface PackResult {
/** 是否成功 */
success: boolean;
/** 错误信息 */
error?: string;
/** 打包统计信息 */
stats: {
/** 文件总数 */
totalFiles: number;
/** 总大小(字节) */
totalSize: number;
/** 处理的文件数 */
processedFiles: number;
/** 跳过的文件数 */
skippedFiles: number;
};
/** 输出路径信息 */
output: {
/** 输出目录路径 */
directory: string;
/** 压缩包路径(如果创建了压缩包) */
zipPath?: string;
};
/** 打包耗时(毫秒) */
duration: number;
}
/**
* 源代码打包器类
*/
export declare class SourcePacker {
private options;
private startTime;
constructor(options?: PackOptions);
/**
* 合并默认选项
*/
private mergeDefaultOptions;
/**
* 检测项目类型
*/
private detectProjectType;
/**
* 日志输出
*/
private log;
/**
* 获取打包脚本路径
*/
private getPackerScriptPath;
/**
* 创建临时配置文件
*/
private createTempConfig;
/**
* 清理临时文件
*/
private cleanupTempFiles;
/**
* 执行打包
*/
pack(): Promise<PackResult>;
/**
* 解析打包结果
*/
private parsePackResult;
}
/**
* 快速打包函数 - 主要API入口
* @param options 打包选项
* @returns 打包结果
*/
export declare function packSourceCode(options?: PackOptions): Promise<PackResult>;
/**
* 获取推荐的打包配置
* @param projectType 项目类型
* @returns 推荐配置
*/
export declare function getRecommendedConfig(projectType?: "web" | "taro"): PackOptions;
declare const _default: {
packSourceCode: typeof packSourceCode;
SourcePacker: typeof SourcePacker;
getRecommendedConfig: typeof getRecommendedConfig;
};
export default _default;
//# sourceMappingURL=index.d.ts.map