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

55 lines (54 loc) 2.02 kB
import { IFrameworkAnalyzer } from "./framework-analyzer.interface.js"; import { IOutputGenerator, OutputGenerationOptions, GeneratedOutput } from "./output-generator.interface.js"; import { ProjectAnalysisOptions, AnalysisResult } from "./types.js"; export declare class FlowAnalyzer { private frameworkAnalyzers; private outputGenerators; /** * Register a framework analyzer */ registerFrameworkAnalyzer(analyzer: IFrameworkAnalyzer): void; /** * Register an output generator */ registerOutputGenerator(generator: IOutputGenerator): void; /** * Get all registered framework names */ getAvailableFrameworks(): string[]; /** * Get all registered output format names */ getAvailableOutputFormats(): string[]; /** * Recursively search for framework projects up to maxDepth levels deep */ private findFrameworkProjectsRecursively; /** * Check if a directory should be skipped during recursive search */ private shouldSkipDirectory; /** * Auto-detect the framework for a project, searching recursively up to 3 levels deep */ detectFramework(projectPath: string): Promise<string | null>; /** * Get the detected project path for a framework */ getFrameworkProjectPath(projectPath: string, frameworkName?: string): Promise<string>; /** * Analyze a project using the specified or auto-detected framework */ analyze(options: ProjectAnalysisOptions): Promise<AnalysisResult>; /** * Generate outputs in the specified formats */ generateOutputs(analysisResult: AnalysisResult, outputFormats: string[], baseOptions: Partial<OutputGenerationOptions>): Promise<GeneratedOutput[]>; /** * Full analysis and output generation workflow */ analyzeAndGenerate(options: ProjectAnalysisOptions, outputOptions?: Partial<OutputGenerationOptions>): Promise<{ analysis: AnalysisResult; outputs: GeneratedOutput[]; }>; }