UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

81 lines (80 loc) 2.72 kB
import { WorkspaceDefinition } from './workspace-schema'; export interface MigrationStep { id: string; name: string; description: string; fromVersion: string; toVersion: string; breaking: boolean; execute: (definition: WorkspaceDefinition) => Promise<WorkspaceDefinition>; validate?: (definition: WorkspaceDefinition) => Promise<ValidationResult>; rollback?: (definition: WorkspaceDefinition) => Promise<WorkspaceDefinition>; } export interface ValidationResult { valid: boolean; errors: string[]; warnings: string[]; suggestions: string[]; } export interface MigrationPlan { currentVersion: string; targetVersion: string; steps: MigrationStep[]; hasBreakingChanges: boolean; backupRequired: boolean; estimatedDuration: number; } export interface MigrationResult { success: boolean; fromVersion: string; toVersion: string; stepsExecuted: string[]; backupId?: string; errors: string[]; warnings: string[]; duration: number; } export interface UpgradeOptions { targetVersion?: string; force?: boolean; dryRun?: boolean; backup?: boolean; skipValidation?: boolean; interactive?: boolean; } export declare class WorkspaceMigrationManager { private migrationSteps; private rootPath; constructor(rootPath?: string); createMigrationPlan(currentVersion: string, targetVersion: string): Promise<MigrationPlan>; executeMigration(workspaceFile: string, plan: MigrationPlan, options?: UpgradeOptions): Promise<MigrationResult>; checkUpgrades(currentVersion: string): Promise<{ available: string[]; recommended: string; breaking: string[]; }>; validateDefinition(definition: WorkspaceDefinition): Promise<ValidationResult>; getMigrationHistory(workspaceFile: string): Promise<{ migrations: Array<{ date: string; fromVersion: string; toVersion: string; backupId?: string; }>; }>; recordMigration(fromVersion: string, toVersion: string, backupId?: string): Promise<void>; private findMigrationPath; private getNextVersion; private createGenericMigrationStep; private initializeMigrationSteps; private loadWorkspaceDefinition; private saveWorkspaceDefinition; } export declare function createWorkspaceMigrationManager(rootPath?: string): Promise<WorkspaceMigrationManager>; export declare function checkForUpgrades(workspaceFile: string): Promise<{ currentVersion: string; available: string[]; recommended: string; breaking: string[]; }>; export declare function validateWorkspace(workspaceFile: string): Promise<ValidationResult>;