UNPKG

@deepbrainspace/nx-surrealdb

Version:

NX plugin for SurrealDB migrations with modular architecture

37 lines (36 loc) 1.34 kB
import { MigrationsConfig, ModuleConfig } from '../configuration/config-loader'; export interface DependencyNode { moduleId: string; config: ModuleConfig; dependencies: string[]; dependents: string[]; } export interface ResolutionResult { executionOrder: string[]; dependencyGraph: Map<string, DependencyNode>; } export interface RollbackValidation { canRollback: boolean; blockedBy: string[]; reason?: string; } export declare class DependencyResolver { private basePath; private config; private dependencyGraph; constructor(basePath: string); initialize(configPath?: string): Promise<void>; private autoDiscoverModules; private buildDependencyGraph; getExecutionOrder(targetModules?: string[]): string[]; getRollbackOrder(targetModules?: string[]): string[]; validateRollback(moduleId: string, targetModules?: string[]): RollbackValidation; validateModuleExists(moduleId: string): boolean; getModuleDependencies(moduleId: string): string[]; getModuleDependents(moduleId: string): string[]; getAllModules(): string[]; getResolutionResult(targetModules?: string[]): ResolutionResult; getConfig(): MigrationsConfig | null; hasConfig(): boolean; static createResolver(basePath: string, configPath?: string): Promise<DependencyResolver>; }