Create the Engine

  1. Create the Plugin Manager

The plugin manager can activate/deactivate plugins, and manages permissions between plugins.

import { PluginManager } from '@remixproject/engine';

const manager = new PluginManager()
  1. Create the Engine

The engine manages the communication between plugins. It requires a PluginManager.

import { PluginManager, Engine } from '@remixproject/engine';

const manager = new PluginManager()
const engine = new Engine()
  1. Register a plugin

We need to register a plugin before activating it. This is done by the Engine.

⚠️ IMPORTANT You need to register the “manager” before beeing able to activate a plugin

import { PluginManager, Engine, Plugin } from '@remixproject/engine';

const manager = new PluginManager()
const engine = new Engine()
const plugin = new Plugin({ name: 'plugin-name' })

// Register plugin
engine.register([manager, plugin])
  1. Activate a plugin

Once your plugin is registered you can activate it. This is done by the PluginManager

const manager = new PluginManager()
const engine = new Engine()
const plugin = new Plugin({ name: 'plugin-name' })

// Register plugins
engine.register([manager, plugin])

// Activate plugins
manager.activatePlugin('plugin-name')

🧪 Tested code available here