vnite-plugin-sdk
Version:
Vnite Plugin Development SDK
69 lines • 1.65 kB
TypeScript
/**
* 插件开发工具函数
*/
import { PluginManifest } from "./types";
/**
* 验证插件清单文件
*/
export declare function validateManifest(manifest: any): manifest is PluginManifest;
/**
* 创建插件清单模板
*/
export declare function createManifestTemplate(pluginId: string, pluginName: string): PluginManifest;
/**
* 生成插件ID(基于名称)
*/
export declare function generatePluginId(name: string): string;
/**
* 版本比较工具
*/
export declare class VersionUtils {
/**
* 比较两个版本号
* @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
*/
static compare(v1: string, v2: string): number;
/**
* 检查版本是否满足要求
*/
static satisfies(version: string, requirement: string): boolean;
}
/**
* 插件打包工具
*/
export declare class PluginPackager {
/**
* 打包插件为 .vnpkg 文件
*/
static packagePlugin(options: {
sourceDir: string;
outputDir?: string;
manifestPath?: string;
excludePatterns?: string[];
}): Promise<string>;
/**
* 加载插件清单
*/
private static loadManifest;
/**
* 复制文件(排除指定模式)
*/
private static copyFiles;
/**
* 简单的通配符匹配
*/
private static matchPattern;
/**
* 创建压缩包
*/
private static createArchive;
/**
* 验证打包的插件
*/
static validatePackage(packagePath: string): Promise<{
valid: boolean;
manifest?: PluginManifest;
errors: string[];
}>;
}
//# sourceMappingURL=utils.d.ts.map