UNPKG

thrilled-be-core

Version:

Core Express backend package with middleware, logging, security, and base application setup

60 lines 1.52 kB
import { Express } from 'express'; import { Logger } from '../logging/Logger'; import { Plugin } from './Plugin'; import { PluginConfig } from '../types'; export interface PluginRegistration { plugin: Plugin; config?: PluginConfig; enabled?: boolean; } export declare class PluginManager { private plugins; private loadOrder; private logger; constructor(logger?: Logger); /** * Register a plugin with optional configuration */ register(plugin: Plugin, config?: PluginConfig, enabled?: boolean): this; /** * Get a registered plugin by name */ get(name: string): Plugin | undefined; /** * Check if a plugin is registered and enabled */ has(name: string): boolean; /** * Enable a plugin */ enable(name: string): boolean; /** * Disable a plugin */ disable(name: string): boolean; /** * Get list of all registered plugins */ list(): { name: string; version: string; enabled: boolean; }[]; /** * Sort plugins by their dependencies to determine load order */ private calculateLoadOrder; /** * Initialize all registered and enabled plugins in dependency order */ initializeAll(app: Express): Promise<void>; /** * Get the load order of plugins (useful for debugging) */ getLoadOrder(): string[]; /** * Clear all registered plugins */ clear(): void; } //# sourceMappingURL=PluginManager.d.ts.map