Nebulous Puffy Marshmallows

    @ts-graphviz/node
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.0 • Public • Published

    NodeCI npm version License: MIT PRs Welcome tested with jest code style: prettier

    @ts-graphviz/node

    Graphviz adapter for Node.js.

    Installation

    # yarn
    yarn add @ts-graphviz/node
    # or npm
    npm install @ts-graphviz/node

    Usage

    High level API

    exportToFile function

    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.

    exportToBuffer function

    Returns the Graphviz output result as a buffer.

    const dot = 'digraph g { a -> b [label = "Hello World"] }';
    
    const imageBuffer = await exportToBuffer(dot, {
      format: "png",
    });

    ts-graphviz integration

    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"),
    });

    Low level API

    executeDot function

    A low-level API for wrappers for dot commands provided by Graphviz.

    See Also

    Graphviz-dot Test and Integration

    License

    This software is released under the MIT License, see LICENSE.

    Keywords

    Install

    npm i @ts-graphviz/node

    DownloadsWeekly Downloads

    114

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    43.3 kB

    Total Files

    38

    Last publish

    Collaborators

    • kamiazya