arch_guard 1.1.3
arch_guard: ^1.1.3 copied to clipboard
A CLI tool and Dart library for static architecture analysis, Clean Architecture layer governance, circular dependency metrics, and graph visualization.
1.1.3 #
- Fix: Layer validator now works correctly in workspace/monorepo mode (
LayerValidator): Layer glob patterns such aslib/domain/**were silently never matching workspace-prefixed file paths (e.g.packages/auth_pkg/lib/domain/entity.dart). The validator now also tests thelib/…suffix of each path, making single-package and workspacearch_guard.yamlconfigs interchangeable with no user-side changes required. - Fix: Cross-package edge resolution path separator on Windows (
ImportReader.resolveUri):p.normalize(p.join(…))could produce backslash-separated paths on Windows, causing all resolved edge targets to silently miss the forward-slash-keyedfilesMapand disappear from the graph. All three return paths now force/separators. - Fix: Missing space in workspace summary line (
TextReporter): TheWorkspace Pkgs:line was missing a space before the count, producing misaligned output (e.g.Workspace Pkgs:3instead ofWorkspace Pkgs: 3).
1.1.2 #
- True
--offlineHTML Support: Inlined Base64-encodedvis-network.min.js(v10.1.0 UMD) asset and system font fallbacks when--offlineflag is specified. - Physics Stabilization Freeze: Added
stabilizationIterationsDoneevent listener to freeze Vis-Network force calculation after stabilization to eliminate CPU background spin. - Mermaid Exporter Disambiguation: Added shared ID map with numeric suffix disambiguation for colliding file paths (e.g.
a-b.dartvsa_b.dart) and quote label sanitization (#quot;). - Attribution & Notices: Added
THIRD_PARTY_NOTICES.mdfor bundledvis-networkApache-2.0/MIT software licensing.
1.1.1 #
- Refined
dep_graph.yamlconfiguration examples and updated example application layout. - Cleaned up maintainer CI documentation in
README.md.
1.1.0 #
- Strongly Connected Component (SCC) Severity Metrics: Calculate internal edges, average fan-in, average fan-out, instability metric ($I$), graph coupling density ($D$), and bottleneck dependency hub files (
SccComponent). - Clean Architecture & Layer Boundary Checker: Configurable layer rules in
dep_graph.yamlorpubspec.yamlwith glob pattern matching (LayerValidator). - Targeted File Dependency Explainer: Detailed file-level dependency path and cycle analysis via
--explain <file>. - New Export Formats: Machine-readable JSON report (
JsonExporter) and GitHub/GitLab markdown flowchart diagram export (MermaidExporter). - High-Throughput Parallel Scanning: Bounded parallel file reader queue (batch size 64) in
ProjectScanner. - Scope & Offline Control: Added
--scope cycles|allgraph scope trimming and--offlineHTML asset inlining.
1.0.1 #
- Updated License to MIT
1.0.0 #
- Initial release of
dep_graph_visualizer. - Monorepo & Dart 3.6+ Workspace auto-discovery (
pubspec.yamlworkspace:entries and Melos sub-package structures). - Cross-package import resolution (
package:<member_pkg>/...) and inter-package circular dependency detection. - Project scanner with regex directive parser.
- Circular dependency detector using Tarjan's SCC algorithm.
- Terminal text reporter with ANSI colors.
- Graphviz
.dotexporter. - Interactive single-file centerpiece HTML graph visualizer.
- Full CLI supporting repeatable
-f,-o,--scan-dir,--exclude, and--[no-]workspaceflags. - Added conditional import/export support by treating every quoted URI in a directive as a potential dependency edge.
- Added a Flutter-style fixture and tests covering circular dependency detection through conditional imports.