A wrapper of dotparser to parse GraphViz dot file and collect nodes / edges
dotparser-normalized
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.
Install
npm install dotparser-normalized
Usage
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);