graphology
Abstract
graphology is a robust & multipurpose Graph object for JavaScript and TypeScript.
It aims at supporting various kinds of graphs with the same unified interface.
A graphology graph can therefore be directed, undirected or mixed, allow self-loops or not, and can be simple or support parallel edges.
Along with this Graph object, one will also find a comprehensive standard library full of graph theory algorithms and common utilities such as graph generators, layouts, traversals etc.
Finally, graphology graphs are able to emit a wide variety of events, which makes them ideal to build interactive renderers for the browser. It is for instance used by sigma.js as its data backend.