Skip to content

Vizel API / core/src / VizelPluginManager

Class: VizelPluginManager ​

Defined in: packages/core/src/plugin-system.ts:199

Manages Vizel plugins: registration, lifecycle, extensions, and styles.

Example ​

typescript
import { VizelPluginManager } from "@vizel/core";
import { myPlugin } from "my-vizel-plugin";

const plugins = new VizelPluginManager();
plugins.register(myPlugin);

// Pass extensions to the editor
const editor = useVizelEditor({
  extensions: plugins.getExtensions(),
});

// Connect the editor to enable lifecycle hooks
if (editor) plugins.setEditor(editor);

Constructors ​

Constructor ​

ts
new VizelPluginManager(): VizelPluginManager;

Returns ​

VizelPluginManager

Methods ​

destroy() ​

ts
destroy(): void;

Defined in: packages/core/src/plugin-system.ts:318

Disconnect the editor and clean up all plugins.

Returns ​

void


getExtensions() ​

ts
getExtensions(): Extensions;

Defined in: packages/core/src/plugin-system.ts:341

Get aggregated extensions from all registered plugins, ordered by dependency resolution.

Returns ​

Extensions


getPlugin() ​

ts
getPlugin(name): VizelPlugin | undefined;

Defined in: packages/core/src/plugin-system.ts:349

Get a registered plugin by name.

Parameters ​

ParameterType
namestring

Returns ​

VizelPlugin | undefined


hasPlugin() ​

ts
hasPlugin(name): boolean;

Defined in: packages/core/src/plugin-system.ts:363

Check if a plugin is registered.

Parameters ​

ParameterType
namestring

Returns ​

boolean


listPlugins() ​

ts
listPlugins(): VizelPlugin[];

Defined in: packages/core/src/plugin-system.ts:356

List all registered plugins.

Returns ​

VizelPlugin[]


register() ​

ts
register(plugin): void;

Defined in: packages/core/src/plugin-system.ts:211

Register a plugin. Validates the plugin, checks for duplicates, verifies dependencies, and injects styles. If an editor is already connected, calls onInstall.

Parameters ​

ParameterType
pluginVizelPlugin

Returns ​

void


setEditor() ​

ts
setEditor(editor): void;

Defined in: packages/core/src/plugin-system.ts:295

Connect an editor instance. Calls onInstall on all registered plugins and subscribes to transactions for plugins with onTransaction.

If a previous editor was connected, it is unbound first and onUninstall is called for all plugins.

Parameters ​

ParameterType
editorEditor

Returns ​

void


unregister() ​

ts
unregister(pluginName): void;

Defined in: packages/core/src/plugin-system.ts:255

Unregister a plugin by name. Removes styles, calls onUninstall, and checks that no other plugin depends on it.

Parameters ​

ParameterType
pluginNamestring

Returns ​

void

Released under the MIT License.