modularity_cli 0.1.0
modularity_cli: ^0.1.0 copied to clipboard
CLI tools for Modularity framework. Provides module graph visualization and dependency analysis utilities.
modularity_cli #
Visualization tools for the Modularity framework.
Features #
- GraphVisualizer: Generate visual dependency graphs of your module tree
- Multiple renderers: Choose between static Graphviz or interactive AntV G6
- Public/Private bindings: See which dependencies are exported vs internal
- Dependency types: Visualize singleton, factory, and instance registrations
Usage #
Basic (Graphviz - static) #
import 'package:modularity_cli/modularity_cli.dart';
void main() async {
final rootModule = AppModule();
// Static Graphviz diagram (default)
await GraphVisualizer.visualize(rootModule);
}
Interactive (AntV G6) #
import 'package:modularity_cli/modularity_cli.dart';
void main() async {
final rootModule = AppModule();
// Interactive diagram with drag, zoom, and tooltips
await GraphVisualizer.visualize(
rootModule,
renderer: GraphRenderer.g6,
);
}
Renderers #
| Renderer | Description |
|---|---|
GraphRenderer.graphviz |
Static DOT diagram via quickchart.io. Best for documentation and quick overview. |
GraphRenderer.g6 |
Interactive AntV G6 diagram. Drag nodes, zoom, hover for dependency details. |
What's Visualized #
- Modules: Each module is a node showing its name
- Imports: Dashed arrows showing module dependencies
- Submodules: Solid arrows with diamond showing composition
- Public exports: Dependencies registered in
exports()method - Private bindings: Dependencies registered in
binds()method - Registration type: singleton, factory, or instance