1

I am using jointjs and to auto layout the nodes I am using dagre library. my code break at this line

joint.layout.DirectedGraph.layout(self.graph, {
        setLinkVertices: false,
        rankDir: "LR",
        rankSep: 150,
        marginX: 100,
        marginY: 200,
        nodeSep: 80,
        edgeSep: 50
      }
      );

showing me Error: The the "dagre" utility is a mandatory dependency. I am using dagre@0.7.3 and jointjs@3.0.4,

Mojo
  • 498
  • 1
  • 8
  • 16

1 Answers1

4

I just ran into the same issue. The jointjs DirectedGraph plugin requires the dagre and graphlib packages.

To get around this I npm installed both dagre and graphlib.

So you would need to do this...

import dagre from 'dagre';
import graphlib from 'graphlib';
import * as joint from 'jointjs';

joint.layout.DirectedGraph.layout(self.graph, {
    dagre: dagre,
    graphlib: graphlib
    setLinkVertices: false,
    rankDir: "LR",
    rankSep: 150,
    marginX: 100,
    marginY: 200,
    nodeSep: 80,
    edgeSep: 50
  }
  );
Orkem
  • 91
  • 5
  • I didn't notice initially, but also include the `dagre` and `graphlib` in the `LayoutOptions` passed to the `layout` function. – jmunsch Apr 05 '23 at 03:31