sicua
Version:
A tool for analyzing project structure and dependencies
55 lines (54 loc) • 1.25 kB
TypeScript
/**
* Type definitions for file structure visualization with Sigma.js
*/
export interface FileSystemNode {
id: string;
label: string;
x: number;
y: number;
size: number;
color: string;
isDirectory: boolean;
depth: number;
childCount: number;
parentId?: string;
fullPath: string;
fileName: string;
fileType?: string;
isNextRoute?: boolean;
routeType?: string;
isNextSpecialFile?: boolean;
}
export interface FileSystemEdge {
id: string;
source: string;
target: string;
color: string;
size: number;
relationType: "parent-child" | "import";
}
export interface FileStructureGraph {
nodes: FileSystemNode[];
edges: FileSystemEdge[];
version: string;
}
export interface StructureScanResult {
directories: Map<string, {
path: string;
depth: number;
childDirs: string[];
childFiles: string[];
isDynamicRoute?: boolean;
dynamicRouteType?: string;
}>;
files: Map<string, {
path: string;
name: string;
extension: string;
size?: number;
isNextRoute: boolean;
routeType?: string;
isNextSpecialFile: boolean;
fileDepth: number;
}>;
}