UNPKG

userpravah

Version:

UserPravah is an extensible, framework-agnostic tool for analyzing user flows and navigation patterns in web applications. It supports multiple frameworks (Angular, React) and output formats (DOT/Graphviz, JSON) with a plugin-based architecture for easy e

74 lines (73 loc) 2.58 kB
import { IFrameworkAnalyzer } from "../../core/framework-analyzer.interface.js"; import { ProjectAnalysisOptions, AnalysisResult } from "../../core/types.js"; export declare class ReactAnalyzer implements IFrameworkAnalyzer { private project; private routes; private flows; private menus; private projectPath; private processedComponents; private componentToFileMap; private fileToComponentMap; private routeComponents; getFrameworkName(): string; canAnalyze(projectPath: string): Promise<boolean>; getSupportedExtensions(): string[]; getConfigFilePatterns(): string[]; analyze(options: ProjectAnalysisOptions): Promise<AnalysisResult>; private addSourceFiles; private buildComponentMap; private extractComponentsFromFile; private isComponentName; private detectRoutingLibrary; private analyzeReactRouterRouting; private extractReactRouterRoutes; private extractReactRouterConfigRoutes; private getJsxTagName; private extractRouteInfo; private getJsxAttributes; private extractAttributeValue; private extractJsxElementComponent; private extractNestedRoutes; private isRouteConfigArray; private processRouteConfigArray; private processRouteConfigObject; private extractStringValue; private extractComponentFromInitializer; private getComponentNameFromPath; private kebabToPascalCase; private buildFullPath; private addRoute; private analyzeNextJsRouting; private analyzeNextJsPagesRouter; private analyzeNextJsAppRouter; private nextJsFileToRoute; private nextJsAppDirToRoute; private getComponentNameFromFile; private analyzeGatsbyRouting; private gatsbyFileToRoute; private analyzeRemixRouting; private remixFileToRoute; private analyzeTanstackRouting; private processTanstackRoute; private analyzeReachRouterRouting; private analyzeGenericReactPatterns; private analyzeSwitchRouting; private analyzeConditionalRouting; private analyzeRouteConfigurations; private analyzeNavigationFlows; private extractProgrammaticNavigation; private extractLinkNavigation; private extractAnchorNavigation; private extractPathFromTemplate; private getMainComponentFromFile; private analyzeMenuStructures; private extractMenuFromFile; private isMenuArray; private isMenuObject; private processMenuArray; private extractMenuFromObject; private extractMenuChildren; private extractStringArray; private addHierarchicalFlows; }