diff --git a/packages/designer/src/plugin/plugin-manager.ts b/packages/designer/src/plugin/plugin-manager.ts index 785024048..cb5cfb810 100644 --- a/packages/designer/src/plugin/plugin-manager.ts +++ b/packages/designer/src/plugin/plugin-manager.ts @@ -27,7 +27,7 @@ const logger = getLogger({ level: 'warn', bizName: 'designer:pluginManager' }); export class LowCodePluginManager implements ILowCodePluginManager { private plugins: ILowCodePlugin[] = []; - private pluginsMap: Map = new Map(); + pluginsMap: Map = new Map(); private pluginPreference?: PluginPreference = new Map(); diff --git a/packages/engine/src/engine-core.ts b/packages/engine/src/engine-core.ts index cbad7caba..22989a1f6 100644 --- a/packages/engine/src/engine-core.ts +++ b/packages/engine/src/engine-core.ts @@ -83,7 +83,7 @@ const config = engineConfig; const event = new Event(editor, { prefix: 'common' }); const logger = getLogger({ level: 'warn', bizName: 'common' }); const common = new Common(editor, innerSkeleton); -let plugins: any; +let plugins: Plugins; const pluginContextApiAssembler: ILowCodePluginContextApiAssembler = { assembleApis: (context: ILowCodePluginContextPrivate) => { diff --git a/packages/shell/src/plugins.ts b/packages/shell/src/plugins.ts index f5dee678c..4411cee89 100644 --- a/packages/shell/src/plugins.ts +++ b/packages/shell/src/plugins.ts @@ -10,7 +10,7 @@ import { pluginsSymbol } from './symbols'; const innerPluginsSymbol = Symbol('plugin'); export default class Plugins implements IPublicApiPlugins { private readonly [innerPluginsSymbol]: LowCodePluginManager; - get [pluginsSymbol]() { + get [pluginsSymbol](): LowCodePluginManager { if (this.workspaceMode) { return this[innerPluginsSymbol]; } @@ -34,6 +34,14 @@ export default class Plugins implements IPublicApiPlugins { await this[pluginsSymbol].register(pluginConfigCreator, options, registerOptions); } + async init(registerOptions: any) { + await this[pluginsSymbol].init(registerOptions); + } + + async getPluginPreference(pluginName: string) { + await this[pluginsSymbol].getPluginPreference(pluginName); + } + toProxy() { return new Proxy(this, { get(target, prop, receiver) {