Overview of Emerge (emerge-viz)
devEmerge (also known as emerge-viz) is an interactive code analysis tool designed to gather insights into software project structure, metrics, dependencies, and complexity. It scans source code, calculates metrics (like SLOC, Fan-In/Fan-Out, and Louvain modularity), and generates interactive web applications featuring force-directed graphs (using D3.js) to visualize filesystem hierarchies, dependency graphs, and inheritance structures.
Supported Languages:
- File Scan: C, C++, Groovy, Java, JavaScript, TypeScript, Kotlin, ObjC, Ruby, Swift, Python, Go.
- Entity Scan (Classes, etc.): Groovy, Java, Kotlin, Swift.
Key Features:
- Metrics: SLOC, Whitespace Complexity, Number of Methods, Fan-In/Fan-Out, Louvain Modularity, and experimental git-based metrics (Change Coupling, code churn).
- Visualizations: Interactive HTML/web apps with dark mode, semantic search (TF-IDF), heatmap support, and cluster visualization.
- Exports: GraphML, D3-compatible JSON, tabular console/file output, and interactive HTML.