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

79 lines (78 loc) 3.23 kB
import { WorkspaceDefinition } from './workspace-schema'; export interface WorkspaceConflict { id: string; type: ConflictType; severity: ConflictSeverity; description: string; details: string; affectedWorkspaces: string[]; location?: string; suggestions: ConflictResolution[]; } export type ConflictType = 'naming' | 'dependency-cycle' | 'dependency-missing' | 'port-collision' | 'path-collision' | 'version-mismatch' | 'configuration' | 'template-inheritance' | 'build-target' | 'type-mismatch'; export type ConflictSeverity = 'error' | 'warning' | 'info'; export interface ConflictResolution { id: string; description: string; action: ResolutionAction; automatic: boolean; riskLevel: 'low' | 'medium' | 'high'; preview?: string; } export type ResolutionAction = 'rename-workspace' | 'update-dependency' | 'remove-dependency' | 'change-port' | 'change-path' | 'update-version' | 'merge-configuration' | 'split-workspace' | 'auto-resolve'; export interface ConflictDetectionOptions { includeWarnings?: boolean; checkDependencies?: boolean; checkPorts?: boolean; checkPaths?: boolean; checkTypes?: boolean; enableResolution?: boolean; } export interface ConflictResolutionResult { resolved: WorkspaceConflict[]; unresolved: WorkspaceConflict[]; changes: ConflictChange[]; warnings: string[]; } export interface ConflictChange { type: 'workspace' | 'dependency' | 'configuration'; target: string; property: string; oldValue: any; newValue: any; reason: string; } export declare class WorkspaceConflictManager { private rootPath; private conflicts; constructor(rootPath?: string); detectConflicts(definition: WorkspaceDefinition, options?: ConflictDetectionOptions): Promise<WorkspaceConflict[]>; resolveConflicts(definition: WorkspaceDefinition, conflicts: WorkspaceConflict[], autoResolve?: boolean): Promise<ConflictResolutionResult>; previewResolution(definition: WorkspaceDefinition, conflict: WorkspaceConflict, resolutionId: string): Promise<{ success: boolean; changes: ConflictChange[]; warnings: string[]; preview: WorkspaceDefinition; }>; private detectNamingConflicts; private detectDependencyConflicts; private detectPortConflicts; private detectPathConflicts; private detectTypeConflicts; private detectConfigurationConflicts; private generateResolutions; private generateDefaultResolutions; private findDependencyCycles; private resolveConflict; private applyResolution; private applyWorkspaceRename; private applyPortChange; private applyPathChange; private applyDependencyRemoval; private applyAutoResolve; private loadWorkspaceDefinition; private saveWorkspaceDefinition; } export declare function createWorkspaceConflictManager(rootPath?: string): Promise<WorkspaceConflictManager>; export declare function detectWorkspaceConflicts(workspaceFile: string, options?: ConflictDetectionOptions): Promise<WorkspaceConflict[]>; export declare function autoResolveConflicts(workspaceFile: string, conflicts?: WorkspaceConflict[]): Promise<ConflictResolutionResult>;