With this npm repo structure:
Deploy a package named test with version 1.0.0-beta tagged as beta:
Deploy a package named test with version 2.0.0-beta tagged as beta:
Deploy a package named test with version 2.0.0 as latest implict tag:
Check what the view command reports for dist tags against the group repo:
It should report the following AS EXPECTED ( excerpt):
Try npm install of the beta tag against the group:
This should install 1.0.0-beta AS EXPECTED
Now ask what the dist-tags are for this package against the group:
npm --registry=http://localhost:8081/repository/npm-group/ dist-tags test
Current Broken Behaviour: Gather all tags of the same package and merge them.
When a duplicate tag is found in two or more repos ( that are any other tag than the implicit "latest" tag),
choose the tagged version that is the highest semantic version.
When executing a dist-tag command against a group repo, search all group members for occurrences
of the same package and merge all npm dist-tags - however when a duplicate tag is found ( that is not latest),
resolve it against the version in the first group repo member in descending order ( like view command and install does ).