/semver.io

semver range resolution as a service

Primary LanguageCoffeeScriptMIT LicenseMIT

👷‍♀️This project is in maintenance mode. It is still used by older buildpacks, but is no longer being actively updated.

semver.io

semver.io is a plaintext and JSON webservice that tracks all available versions of node.js, iojs, npm, yarn, nginx, and mongodb. It uses that version info to resolve semver range queries. It's used by Heroku's node buildpack and is open-sourced on GitHub.

Other sources

Semver.io uses a simple and short module system to pull version data from a variety of sources. Pull requests are welcome! You can start with one of the current implementations as a template:

Usage

Command-line

curl https://semver.io/node/stable
0.10.33

curl https://semver.io/node/unstable
0.11.14

curl https://semver.io/node/resolve/0.8.x
0.8.28

curl https://semver.io/nginx/stable
1.6.2

In the browser

There are CORS-friendly HTTP endpoints for each source with the whole kit and caboodle:

The response is something like:

{
  "stable": "0.10.22",
  "unstable": "0.11.8",
  "all": [
    "0.8.6",
    "...",
    "0.11.9"
  ]
}

Ranges

semver.io supports any range that node-semver can parse. For example:

These named routes are also provided for convenience (for each source):

Links