UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

104 lines (103 loc) 3.19 kB
import { ComponentFlowAnalysisResult, ComponentFlowConfig, FlowAnalysisError, RouteFlowTree, DEFAULT_HTML_ELEMENT_FILTER } from "./types"; import { ComponentRelation, ScanResult } from "../../types"; import { ComponentLookupService } from "../../core/componentLookupService"; import { PathResolver } from "../../parsers/pathResolver"; /** * Component flow analyzer using optimized services for enhanced performance */ export declare class ComponentFlowAnalyzer { private projectRoot; private srcDirectory; private appDirectory; private components; private lookupService; private pathResolver; private scanResult; private config; private errors; constructor(projectRoot: string, srcDirectory: string, components: ComponentRelation[], lookupService: ComponentLookupService, pathResolver: PathResolver, scanResult: ScanResult, config?: Partial<ComponentFlowConfig>); /** * Performs complete component flow analysis using optimized services */ analyze(): Promise<ComponentFlowAnalysisResult>; /** * Analyzes a single route using optimized services */ analyzeSingleRoute(routePath: string): Promise<RouteFlowTree | null>; /** * Performs quick analysis with limited depth */ quickAnalyze(maxDepth?: number): Promise<ComponentFlowAnalysisResult>; /** * Gets analysis errors */ getErrors(): FlowAnalysisError[]; /** * Gets coverage summary for all routes */ getCoverageSummary(): Promise<{ totalRoutes: number; routesWithMissingFiles: string[]; averageCoverage: number; mostCommonMissingFiles: { fileName: string; count: number; }[]; }>; /** * Validates input data and configuration */ private validateInput; /** * Merges user config with default configuration */ private mergeWithDefaultConfig; /** * Filters routes based on configuration */ private filterRoutes; /** * Extracts external dependencies from route flow trees using optimized detection */ private extractExternalDependencies; /** * Collects all imports from a component tree */ private collectImportsFromComponent; /** * Generates analysis summary */ private generateSummary; /** * Calculates global statistics across all routes */ private calculateGlobalStats; /** * Creates empty result for when no routes are found */ private createEmptyResult; /** * Adds an error to the error collection */ private addError; /** * Clears all accumulated errors */ clearErrors(): void; /** * Gets configuration used for analysis */ getConfig(): ComponentFlowConfig; /** * Updates configuration */ updateConfig(newConfig: Partial<ComponentFlowConfig>): void; /** * Enables HTML element tracking with optional filter configuration */ enableHtmlElementTracking(filter?: Partial<typeof DEFAULT_HTML_ELEMENT_FILTER>): void; /** * Disables HTML element tracking */ disableHtmlElementTracking(): void; }