I love Graphviz! It’s in the Observable standard library as the dot tagged template literal, powered by Viz.js.
https://observablehq.com/@observablehq/dot
Here’s a recent example where I used it to figure out why certain dependencies are in my node_modules: