UNPKG

woaru

Version:

Universal Project Setup Autopilot - Analyze and automatically configure development tools for ANY programming language

75 lines 2.4 kB
/** * Base SOLID Checker - Abstrakte Basisklasse für alle SOLID-Prinzipien-Checker */ import { SOLIDViolation, SOLIDPrinciple } from '../types/solid-types'; export declare abstract class BaseSOLIDChecker { protected abstract principle: SOLIDPrinciple; protected abstract supportedLanguages: string[]; /** * Hauptmethode für SOLID-Prinzipien-Check */ abstract check(filePath: string, language: string): Promise<SOLIDViolation[]>; /** * Prüft ob die Sprache unterstützt wird */ supportsLanguage(language: string): boolean; /** * Führt ein externes Tool aus und parsed das Ergebnis */ protected runTool(command: string, args?: string[], options?: { cwd?: string; timeout?: number; }): Promise<string>; /** * Berechnet einen Severity-Score basierend auf Metriken */ protected calculateSeverity(value: number, thresholds: { low: number; medium: number; high: number; }): 'low' | 'medium' | 'high' | 'critical'; /** * Extrahiert Dateinamen ohne Pfad für bessere Lesbarkeit */ protected getFileName(filePath: string): string; /** * Generiert eine konsistente Beschreibung für SOLID-Verstöße */ protected createViolation(params: { file: string; line?: number; class?: string; method?: string; description: string; explanation: string; impact: string; suggestion: string; severity: 'low' | 'medium' | 'high' | 'critical'; metrics?: { complexity?: number; methodCount?: number; dependencies?: number; parameters?: number; linesOfCode?: number; importConcerns?: string[]; classCount?: number; }; }): SOLIDViolation; /** * Prüft ob eine Datei TypeScript oder JavaScript ist */ protected isTypeScriptFile(filePath: string): boolean; /** * Prüft ob eine Datei JavaScript ist */ protected isJavaScriptFile(filePath: string): boolean; /** * Analysiert Import-Statements für Concern-Detection */ protected analyzeImportConcerns(imports: string[]): string[]; /** * Hilfsmethode für Pattern-Matching in Import-Strings */ private matchesPattern; } //# sourceMappingURL=BaseSOLIDChecker.d.ts.map