anvaka / VivaGraphJS

Graph drawing library for JavaScript
Other
3.77k stars 425 forks source link

ngraph dependencies and other dependencies versions #257

Open ptommasi opened 4 years ago

ptommasi commented 4 years ago

I tried to use VivaGraphJS and I'm happy with the first results, but I'm having troubles using it because - although opensource - I don't have access to all the licenses of the specific version pointed in the VivaGraphJS/package.json (I'm on the latest version, which now is v0.12.0) because some of the ngraph dependencies have no tags, thus I cannot point to the source code of the specific version.

The ones I spotted:

I also noticed that vivagraphjs v0.12.0 needs ngraph.fromjson v0.1.9 and ngraph.graph v0.0.14, meanwhile ngraph.fromjson v0.1.9 needs ngraph.graph v18.0.0, which cause a conflict (ngraph.graph is needed both at v18.0.0 and v0.0.14). There are also a couple more conflicts, but I forgot to take a note... Sorry...

Wouldn't be simpler to pack all the ngraph.* libraries under one single package (e.g. ngraph)? In this way everything moves together and it would much easier to track.

For my use case I managed to find the various commit (ngraph.events: 0.0.3, ngraph.merge: 0.0.1, ngraph.random: 0.0.1, ngraph.expose: 0.0.0), but I think working only on one library would make your life easier.

This is the list of dependencies that might be put together in one ngraph.<bundlename> (they are all written in javascript, to my understanding): gintersect, ngraph.centrality, ngraph.events, ngraph.expose, ngraph.forcelayout, ngraph.fromjson, ngraph.generators, ngraph.graph, ngraph.merge, ngraph.physics.primitives, ngraph.physics.simulator, ngraph.quadtreebh, ngraph.random, ngraph.tojson, simplesvg. (It also might be worth to upgrade add-event-listener).

It's not a strict requirement, honestly it's amazing that there are so little external dependencies (only one, add-event-listener) and you'd ease the adoption for enterprises! :)