endojs / endo

Endo is a distributed secure JavaScript sandbox, based on SES
Apache License 2.0
762 stars 68 forks source link

feat(graph): also generate the transitive reduction #2282

Closed erights closed 1 month ago

erights commented 1 month ago

Closes: #XXXX Refs: https://github.com/Agoric/agoric-sdk/pull/9359

Description

Use the "tred" executable that seems to already be bundled with graphviz to

# Also generates visualizations of the transitive reduction (tred) of
# that graph, which is the minimal graph with the same *transitive*
# dependencies. Much more legible by itelf. Seeing the two side by side
# often helps to understand the full picture.

At the time of writing, the current graph of endo dependencies is

packages-graph

and the transitive reduction of those is

packages-graph-tred

Notice how the columns mostly align. Unfortunately, the columns don't fully align, and the vertical order of elements within each column is not the same. For viewing them side by side for better understanding, it would be better if both of these annoyances were fixed. But I have no idea how to do that, so this PR does not try.

Security Considerations

none

Scaling Considerations

none

Documentation Considerations

potentially helps someone who wants to understand how our system is internally layered, which is the point. Otherwise, none

Testing Considerations

none

Compatibility Considerations

none

Upgrade Considerations

none