live-plugin-manager
Version:
Install and uninstall any node package at runtime from npm registry
33 lines (32 loc) • 1.03 kB
TypeScript
import { PluginManager } from "./PluginManager";
import { IPluginInfo } from "./PluginInfo";
export declare class PluginVm {
private readonly manager;
private requireCache;
private sandboxCache;
constructor(manager: PluginManager);
unload(pluginContext: IPluginInfo): void;
load(pluginContext: IPluginInfo, filePath: string): any;
resolve(pluginContext: IPluginInfo, filePath: string): string;
runScript(code: string): any;
splitRequire(fullName: string): {
pluginName: string;
requiredPath: string | undefined;
};
private getScopedInfo;
private vmRunScriptInSandbox;
private vmRunScriptInPlugin;
private getCache;
private setCache;
private removeCache;
private createModuleSandbox;
private sandboxResolve;
private sandboxRequire;
private isCoreModule;
private isPlugin;
private hasDependency;
private tryResolveAsFile;
private tryResolveAsDirectory;
private getPluginSandbox;
private createGlobalSandbox;
}