anvaka / anvaka/VivaGraphJS

ngraph dependencies and other dependencies versions

Open
#257 0 comments 3 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.9k
Forks
418
PR merge metrics
No merged PRs in 30d

Description

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](https://github.com/anvaka/VivaGraphJS/blob/v0.12.0/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:
- _ngraph.events_ is missing _0.0.3_ version tag (latest version is _1.2.1_, vivagraphjs needs _0.0.3_, there is no _0.3.0_ tag)
- _ngraph.merge_ has no version tags (the version in _package.json_ is _1.0.0_, vivagraphjs needs _0.0.1_)
- _ngraph.centrality_ version has been updated to _2.0.0_ in master, might be worth to create a tag (there is one for _0.3.0_)
- _ngraph.random_ is missing _0.0.1_ version tag, it only has _0.1.0_ and _1.0.0_
- _ngraph.expose_ is missing _0.0.0_ version tag, it has not tags and latest version is _1.0.0_

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](https://github.com/anvaka/ngraph.events/tree/308f6ce46fd7d4d59577febbb7a68d75720be69a), [ngraph.merge: 0.0.1](https://github.com/anvaka/ngraph.merge/tree/6824fe6454cf914fc0a0730fe6906f9a2875e40f), [ngraph.random: 0.0.1](https://github.com/anvaka/ngraph.random/tree/5dad6311382d23d0edbbbb293bc73c7fd0b1bf0f), [ngraph.expose: 0.0.0](https://github.com/anvaka/ngraph.expose/tree/1c902365c2ac3895e854be98166fac4fa2d718a3)), 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.` (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! :)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with VivaGraphJS/package.json and compare its ngraph dependency versions with the tags and package metadata in the linked ngraph repositories. Map the reported version conflicts and missing tags first; done would require a maintainer-approved dependency or packaging strategy, with all required versions reproducibly available.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.