@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
109 lines (108 loc) • 3.4 kB
TypeScript
import { ValidationError } from './error-handler';
import { WorkspaceDefinition } from './workspace-schema';
export type HealthSeverity = 'critical' | 'error' | 'warning' | 'info' | 'success';
export interface HealthCheckResult {
id: string;
name: string;
description: string;
severity: HealthSeverity;
status: 'pass' | 'fail' | 'warning' | 'info';
message: string;
suggestions?: string[];
metadata?: Record<string, any>;
duration?: number;
}
export interface HealthCheckCategory {
id: string;
name: string;
description: string;
checks: HealthCheckResult[];
summary: {
total: number;
passed: number;
failed: number;
warnings: number;
score: number;
};
}
export interface WorkspaceHealthReport {
timestamp: string;
workspaceFile: string;
duration: number;
overall: {
status: 'healthy' | 'degraded' | 'unhealthy';
score: number;
summary: string;
};
categories: HealthCheckCategory[];
recommendations: string[];
metrics: {
workspaceCount: number;
dependencyCount: number;
cycleCount: number;
orphanedCount: number;
coverageScore: number;
};
}
export interface TopologyValidation {
isValid: boolean;
errors: ValidationError[];
warnings: string[];
suggestions: string[];
structure: {
depth: number;
breadth: number;
complexity: number;
balance: number;
};
}
export declare class WorkspaceHealthChecker {
private definition;
private graph;
private rootPath;
constructor(definition: WorkspaceDefinition, rootPath?: string);
performHealthCheck(): Promise<WorkspaceHealthReport>;
validateTopology(): Promise<TopologyValidation>;
private checkWorkspaceStructure;
private checkDependencyHealth;
private checkBuildConfiguration;
private checkFileSystemHealth;
private checkPackageJsonHealth;
private checkTypeScriptHealth;
private checkSecurityHealth;
private checkWorkspaceDefinitionExists;
private checkWorkspaceDirectories;
private checkWorkspaceConsistency;
private checkNamingConventions;
private checkWorkspaceTypes;
private checkCircularDependencies;
private checkDependencyVersions;
private checkMissingDependencies;
private checkDependencyOptimization;
private checkBuildTools;
private checkBuildScripts;
private checkOutputConfiguration;
private checkLargeFiles;
private checkNodeModules;
private checkFilePermissions;
private checkPackageJsonValidity;
private checkScriptConsistency;
private checkPackageDependencyConsistency;
private checkTypeScriptConfig;
private checkTypeDefinitions;
private checkSecurityVulnerabilities;
private checkSensitiveFiles;
private calculateCategorySummary;
private generateRecommendations;
private generateOverallSummary;
private calculateCoverageScore;
private getWorkspacesByType;
private calculateStructureMetrics;
private calculateBalance;
}
export declare function createWorkspaceHealthChecker(workspaceFile: string, rootPath?: string): Promise<WorkspaceHealthChecker>;
export declare function performQuickHealthCheck(workspaceFile: string, rootPath?: string): Promise<{
status: string;
score: number;
criticalIssues: number;
}>;