harmony-plugin-manager
Version:
A comprehensive TypeScript library for generating harmonious color palettes with WCAG 2.1 accessibility compliance
47 lines • 1.78 kB
TypeScript
/**
* 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