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
TypeScript
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[];
}>;
}