This project has been merged into ts-graphviz.
Graphviz adapter for Node.js.
# yarn
yarn add @ts-graphviz/node
# or npm
npm install @ts-graphviz/node
Export the file by giving a dot.
const dot = 'digraph g { a -> b [label = "Hello World"] }';
await exportToFile(dot, {
format: "png",
output: path.resolve(__dirname, "./example.png"),
});
Note: Currently supported formats are png, svg, json, jpg, pdf, xdot, plain, and dot_json.
Other formats will be added if requested, so please give me a PR or issue.
Returns the Graphviz output result as a buffer.
const dot = 'digraph g { a -> b [label = "Hello World"] }';
const imageBuffer = await exportToBuffer(dot, {
format: "png",
});
In the high-level API, you can also specify RootCluster such as Digraph or Graph of ts-graphviz
as an argument and render directly.
import path from "path";
import { digraph, attribute } from "ts-graphviz";
import { exportToFile } from "@ts-graphviz/node";
const G = digraph("G", (g) => {
const a = g.node("aa");
const b = g.node("bb");
const c = g.node("cc");
g.edge([a, b, c], {
[attribute.color]: "red",
});
g.subgraph("A", (A) => {
const Aa = A.node("Aaa", {
[attribute.color]: "pink",
});
const Ab = A.node("Abb", {
[attribute.color]: "violet",
});
const Ac = A.node("Acc");
A.edge([Aa.port({ compass: "c" }), Ab, Ac, "E"], {
[attribute.color]: "red",
});
});
});
await exportToFile(G, {
format: "svg",
output: path.resolve(__dirname, "./callback.svg"),
});
A low-level API for wrappers for dot commands provided by Graphviz.
Graphviz-dot Test and Integration
- ts-graphviz
- Graphviz library for TypeScript.
- @ts-graphviz/react
- Graphviz-dot Renderer for React.
- @ts-graphviz/mdx
- Embed the Graphviz image in MDX.
- jest-graphviz
- Jest matchers that supports graphviz integration.
- setup-graphviz
- GitHub Action to set up Graphviz cross-platform(Linux, macOS, Windows).
Thanks goes to these wonderful people (emoji key):
Yuki Yamazaki |
Artem 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!
This software is released under the MIT License, see LICENSE.