UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

103 lines (102 loc) 3.14 kB
import ts from "typescript"; import { ComponentContext } from "../types/componentExtractor.types"; export declare class ComponentExtractor { private sourceFile; private content; private filePath; private importExtractor; private functionExtractor; private typeExtractor; constructor(sourceFile: ts.SourceFile, content: string, filePath: string, srcDir: string, typeChecker?: ts.TypeChecker); /** * Extracts all component context from the source file */ extractComponentContext(): ComponentContext; /** * Extracts individual components from the file */ private extractComponents; /** * Builds a complete component definition */ private buildComponentDefinition; /** * Determines if a class is a React component */ private isReactClassComponent; /** * Determines component type */ private determineComponentType; /** * Determines component category */ private determineComponentCategory; /** * Calculates component complexity */ private calculateComponentComplexity; /** * Extracts React-specific component information */ private extractReactComponentInfo; /** * Extracts hook usage information */ private extractHookUsage; /** * Extracts prop definitions */ private extractPropDefinitions; /** * Calculates JSX complexity */ private calculateJSXComplexity; /** * Helper methods for component analysis */ private isHOC; private isRenderProp; private isCompoundComponent; private isReactRelatedFile; private calculateJSXNestingDepth; private determineHookType; private determineHookComplexity; private extractHookDependencies; private determineHookPurpose; private buildClassComponentDefinition; private extractComponentStructure; private extractComponentDependencies; private extractComponentLifecycle; private analyzePerformance; private analyzeAccessibility; private analyzeTestability; private extractComponentPatterns; private getComponentLocation; private extractStateDefinitions; private extractContextUsage; private extractRefUsage; private extractComponentRelationships; private analyzeComponentPatterns; private analyzeComponentArchitecture; private calculateQualityMetrics; private extractProvidedValues; private extractConsumedValues; private determineRefType; private determineRefPurpose; private extractRenderedComponents; private extractPropRelationships; private generatePatternRecommendations; private buildComponentHierarchy; private determineArchitectureStructure; private calculateArchitectureDepth; private analyzeModularity; private complexityToNumber; private calculatePerformanceScore; private calculateMaintainabilityScore; private calculateReusabilityScore; private createEmptyReactComponentInfo; private createEmptyPatternAnalysis; private createEmptyArchitecture; private createEmptyQualityMetrics; }