A wrapper of dotparser to parse GraphViz dot file and collect nodes / edges.
MIT License
A wrapper of dotparser to parse GraphViz dot file and collect nodes / edges.
This library parses dot with dotparser, and collect nodes and edges in usable structure.
Originally this was made to use in my project reagram. And also may be useful to get structured data from dot to render in some libraries like React Flow.
npm install dotparser-normalized
import { parse } from "dotparser-normalized";
const data = parse(`
digraph G {
subgraph cluster_0 {
style=filled;
color=lightgrey;
node [style=filled,color=white];
a0 -> a1 -> a2 -> a3;
label = "process #1";
}
subgraph cluster_1 {
node [style=filled];
b0 -> b1 -> b2 -> b3;
label = "process #2";
color=blue
}
start -> a0;
start -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;
start [shape=Mdiamond];
end [shape=Msquare];
}
`);
console.log(data);