webRTC-io / webRTC.io

An abstraction layer for webRTC. Aim is to simplify the HTML5 web standard webRTC in a similar manner to socket.io w/ websockets. Highly experimental technology
1.6k stars 293 forks source link

Use liberal and semver-correct version string for dependencies. #12

Closed StanAngeloff closed 11 years ago

StanAngeloff commented 11 years ago

"latest" was used previously which worked in npm install. The reason for that is the registry (http://registry.npmjs.org/) can deal with both version specifications as well as tags. "latest" has a special meaning of "latest published package" as can be seen here:

http://registry.npmjs.org/webrtc.io/latest

However, the string "latest" is not a semver-recognised (http://semver.org/) version specification. When npm shrinkwrap or npm ls is used within a parent package/repository, both commands fail as the dependencies are not met, e.g.:

$ npm install semver
$ semver -v '0.0.1' -r 'latest'
  [ no output, i.e., expression failed ]
$ semver -v '0.2.3' -r '>= 0.0.0'
  0.2.3

By using a more liberal (yet very generic) version specification, the installed version is ensured to always be the latest available in the registry. In addition, any semver expressions will also parse.

sarenji commented 11 years ago

Makes sense. We may want more limiting versions later, but I don't anticipate breaking problems in the future; we use very simple functionality. Thanks a bunch!