https://github.com/npm/node-semver/