@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
TypeScript
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>;