UNPKG

sicua

Version:

A tool for analyzing project structure and dependencies

67 lines (66 loc) 1.52 kB
export interface INodeData { label: string; fullPath: string; directory: string; fileType?: string; isNextRoute?: boolean; routeType?: string; isComponent?: boolean; hasClientDirective?: boolean; hasServerDirective?: boolean; } export interface IEdgeData { label?: string; type?: "import" | "export" | "dynamic"; } export interface INode { id: string; type?: string; position: { x: number; y: number; }; data: INodeData; parentNode?: string; extent?: "parent" | [[number, number], [number, number]]; } export interface IEdge { id: string; source: string; target: string; data?: IEdgeData; type?: string; animated?: boolean; style?: Record<string, string | number>; markerEnd?: { type: string; color?: string; }; } export interface IDiagramData { nodes: INode[]; edges: IEdge[]; version?: string; } export interface ZombieClusterInfo { id: string; components: string[]; entryPoints: string[]; functions: { [componentName: string]: string[]; }; size: number; risk: "high" | "medium" | "low"; suggestion: string; } export interface ZombieClusterAnalysisResult { zombieClusterGraph: IDiagramData; clusters: ZombieClusterInfo[]; stats: { totalClusters: number; totalZombieComponents: number; largestCluster: number; entryPointsCount: number; avgComponentsPerCluster: number; }; }