UNPKG

harmony-plugin-manager

Version:

A comprehensive TypeScript library for generating harmonious color palettes with WCAG 2.1 accessibility compliance

47 lines 1.78 kB
/** * Dependency Resolver for plugin execution order * * Handles: * - Dependency validation (missing, disabled dependencies) * - Topological sorting for execution order * - Circular dependency detection * - Priority-based ordering within dependency levels */ import type { PluginRegistration } from './plugin-registration'; export declare class DependencyResolver { /** * Main entry point for resolving plugin dependencies * Validates dependencies and returns plugins in execution order * * @param registrations - Array of plugin registrations to resolve * @returns Sorted array of registrations in dependency order * @throws {Error} When dependencies are invalid or circular */ static resolve(registrations: PluginRegistration[]): PluginRegistration[]; /** * Validates all plugin dependencies are satisfied * Checks for missing dependencies and disabled dependency targets */ private static validateDependencies; /** * Validates dependencies for a single plugin registration * Ensures all dependencies exist and are enabled */ private static validatePluginDependencies; /** * Performs topological sort to determine execution order * Uses depth-first search with cycle detection */ private static topologicalSort; /** * Sorts registrations by priority (highest first) * Used as initial ordering before dependency resolution */ private static sortByPriority; /** * Alternative circular dependency detection using graph traversal * Can be used for pre-validation before sorting */ static validateCircularDependencies(registrations: PluginRegistration[]): void; } //# sourceMappingURL=dependency-resolver.d.ts.map