0.1.0 • Published 6 months ago

@ghostsinthemachine-ltd/plugin-sdk v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

@svelte-module/plugin-sdk

Official plugin SDK for the Svelte Module plugin system.

Installation

npm install @svelte-module/plugin-sdk

Usage

import { Plugin, PluginManifest } from '@svelte-module/plugin-sdk';
import { writable } from 'svelte/store';

const manifest: PluginManifest = {
  id: 'my-plugin',
  name: 'My Plugin',
  version: '1.0.0',
  // ... other manifest properties
};

class MyPlugin implements Plugin {
  id = manifest.id;
  manifest = manifest;
  
  async initialize(): Promise<void> {
    console.log(`${this.manifest.name} plugin initialized`);
  }
  
  async deactivate(): Promise<void> {
    console.log(`${this.manifest.name} plugin deactivated`);
  }
  
  getRoutes() {
    return [];
  }
  
  getMountedComponents() {
    return [];
  }
}

export default new MyPlugin();

API Documentation

Interfaces

  • Plugin - Main plugin interface
  • PluginManifest - Plugin manifest structure
  • PluginRoute - Route definition for plugins
  • PluginMount - Component mount point definition
  • PluginPermission - Permission types

Helpers

  • createPlugin() - Helper to create standard plugin
  • createRemotePlugin() - Helper for remote plugin creation

License

MIT

0.1.0

6 months ago