mirror of
https://github.com/safishamsi/graphify.git
synced 2026-07-13 19:07:10 +00:00
c066511bf2
* feat: detect circular import dependencies at file level - Add find_import_cycles() to analyze.py - Collapses symbol nodes to parent files, builds directed file graph - Uses nx.simple_cycles() bounded by max_cycle_length (default 5) - Deduplicates rotations, returns shortest cycles first - Considers both imports_from and re_exports edges Tested on a 976-file Next.js codebase: found 4 cycles including a known utils↔barrel circular dependency and a 4-file API cycle. * fix: resolve import-cycle merge blockers - use source_file-only endpoint resolution (no label fallback) - support Graph/DiGraph orientation via edge source_file - return structured cycle records and include self-loops - integrate Import Cycles section into GRAPH_REPORT.md - expand cycle tests for real-schema IDs, undirected input, missing source_file nodes, and non-import relations