code-relation-analyzer
Version:
A TypeScript project dependency analysis tool that generates function-level dependency graphs
59 lines • 2.54 kB
TypeScript
export { ProjectInfo, TSConfig, FileInfo, FileType, ExportInfo, ExportType, ImportInfo, ImportType as ProjectImportType, FunctionInfo, ParameterInfo, Visibility, ClassInfo, ClassType, PropertyInfo, DependencyInfo, DependencyType } from './project';
export { FileDependency, ImportType, DependencyStrength, InheritanceRelation, InheritanceType, FunctionCall, CallType, CallParameter, ParameterFlow, FlowType, FlowDirection, GlobalDependency, GlobalDependencyType, RiskLevel, DependencyGraph, GraphType, GraphNode, NodeType, Position, NodeStyle, GraphEdge, EdgeType, EdgeStyle, GraphMetadata } from './dependency';
export * from './analysis';
export { VisualizationOptions, VisualizationType, Dimensions, LayoutAlgorithm, LayoutType, ThemeConfig, ColorScheme, FontConfig, StyleConfig, NodeStyleConfig, EdgeStyleConfig, LabelStyleConfig, InteractionConfig, AnimationConfig, EasingFunction, ExportConfig, ExportFormat, RenderContext, GraphData, GraphNodeData, GraphEdgeData, GraphMetadata as VisualizationGraphMetadata, FilterOptions, NodeFilter, EdgeFilter, LegendConfig, LegendPosition, LegendItem, LegendShape, TooltipConfig, TooltipStyle } from './visualization';
export * from './config';
export * from './errors';
export interface AnalyzeProjectOptions {
/** 项目根目录 */
rootDir: string;
/** 输出目录 */
outputDir?: string;
/** 包含模式 */
includePatterns?: string[];
/** 排除模式 */
excludePatterns?: string[];
/** 分析类型 */
analysisTypes?: string[];
/** 最大文件大小(字节) */
maxFileSize?: number;
/** 超时时间(毫秒) */
timeout?: number;
}
export interface ParserOptions {
/** 是否包含注释 */
includeComments?: boolean;
/** 是否包含类型信息 */
includeTypes?: boolean;
/** 是否解析JSDoc */
parseJSDoc?: boolean;
/** 最大文件大小(字节) */
maxFileSize?: number;
/** 超时时间(毫秒) */
timeout?: number;
}
export interface ParseResult {
/** 是否解析成功 */
success: boolean;
/** AST节点 */
ast?: any;
/** 错误信息 */
error?: string;
/** 解析时间(毫秒) */
parseTime: number;
/** 文件大小 */
fileSize: number;
}
export interface ParseError {
/** 错误消息 */
message: string;
/** 文件路径 */
filePath: string;
/** 行号 */
line?: number;
/** 列号 */
column?: number;
/** 错误代码 */
code?: string;
}
//# sourceMappingURL=index.d.ts.map