dig
dig copied to clipboard
Child scope of container is not visualized on dot graph
Describe the bug Child scope of container is not visualized on dot graph.
To Reproduce
- Create container:
c := dig.New() - Provide the container with constructor:
c.Provide(NewFirstComponent) - Create child scope:
child := c.Scope("test_scope") - Provide the child scope with constructor:
child.Provide(NewSecondComponent) - Visualize container:
dig.Visualize(c, os.Stdout)
Expected behavior
I expect to see child scope along with NewSecondComponent but I only see NewFirstComponent.
Additional context
Dig version: v1.17.1
Go Playground: https://go.dev/play/p/lhYAIUlfsPr
DOT:
digraph {
rankdir=RL;
graph [compound=true];
subgraph cluster_0 {
label = "main";
constructor_0 [shape=plaintext label="NewFirstComponent"];
"*main.FirstComponent" [label=<*main.FirstComponent>];
}
}
Graph image:
This is a valid feature request. I believe the DOT representation wasn't rewritten when we rewrote Dig's internal graph representation when we worked on the Scope feature.
@sywhang should we close this issue or you want to add here info about future improvement that was discussed in pull request?
I'll leave this open for now since we need some more visual improvements. Thanks