Skip to content

Vizel API / core/src / VizelPluginManager

Class: VizelPluginManager

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

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:317

Disconnect the editor and clean up all plugins.

Returns

void


getExtensions()

ts
getExtensions(): Extensions;

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

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:348

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:362

Check if a plugin is registered.

Parameters

ParameterType
namestring

Returns

boolean


listPlugins()

ts
listPlugins(): VizelPlugin[];

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

List all registered plugins.

Returns

VizelPlugin[]


register()

ts
register(plugin): void;

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

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:294

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:254

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.