feat: support source map & reload
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
		@@ -21,10 +21,54 @@ export namespace plugin {
 | 
			
		||||
    export interface PluginManager {
 | 
			
		||||
        scan(folder: string): void;
 | 
			
		||||
        build(): void;
 | 
			
		||||
        loadFromFile(file: string): Plugin;
 | 
			
		||||
        load(...args: any[]): void;
 | 
			
		||||
        enable(...args: any[]): void;
 | 
			
		||||
        disable(...args: any[]): void;
 | 
			
		||||
        reload(...args: any[]): void;
 | 
			
		||||
        getPlugins(): Map<string, any>;
 | 
			
		||||
    }
 | 
			
		||||
    export interface Plugin {
 | 
			
		||||
        description: PluginMetadata;
 | 
			
		||||
        logger: Console;
 | 
			
		||||
        load(): void;
 | 
			
		||||
        enable(): void;
 | 
			
		||||
        disable(): void;
 | 
			
		||||
    }
 | 
			
		||||
    interface BaseMetadata {
 | 
			
		||||
        /**
 | 
			
		||||
         * 名称 为空则为对象名称
 | 
			
		||||
         */
 | 
			
		||||
        name?: string;
 | 
			
		||||
        /**
 | 
			
		||||
         * 支持的服务器列表 为空则代表所有
 | 
			
		||||
         */
 | 
			
		||||
        servers?: string[];
 | 
			
		||||
    }
 | 
			
		||||
    export interface PluginMetadata extends BaseMetadata {
 | 
			
		||||
        /**
 | 
			
		||||
         * 插件名称
 | 
			
		||||
         */
 | 
			
		||||
        name: string;
 | 
			
		||||
        /**
 | 
			
		||||
         * 前缀
 | 
			
		||||
         */
 | 
			
		||||
        prefix?: string;
 | 
			
		||||
        /**
 | 
			
		||||
         * 插件版本
 | 
			
		||||
         */
 | 
			
		||||
        version: string;
 | 
			
		||||
        /**
 | 
			
		||||
         * 插件版本
 | 
			
		||||
         */
 | 
			
		||||
        author: string | string[];
 | 
			
		||||
        /**
 | 
			
		||||
         * 插件源文件 必须指定为 __filename
 | 
			
		||||
         */
 | 
			
		||||
        source: string;
 | 
			
		||||
        /**
 | 
			
		||||
         * 插件本体
 | 
			
		||||
         */
 | 
			
		||||
        target?: any;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user