diff options
author | Forrest L Norvell <forrest@npmjs.com> | 2014-12-25 14:08:41 +0300 |
---|---|---|
committer | Forrest L Norvell <forrest@npmjs.com> | 2014-12-25 14:16:04 +0300 |
commit | 030f3c7450b8ce124a19073bfbae0948a0a1a02c (patch) | |
tree | 32cb9034c929d2a84e647f2fd26012dcd4ee34b5 /node_modules/semver/semver.js | |
parent | 9b9de06a99893b40aa23f0335726dec6df7979db (diff) |
semver@4.2.0
Support for diffing two versions by type of release delta.
Diffstat (limited to 'node_modules/semver/semver.js')
-rw-r--r-- | node_modules/semver/semver.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/semver/semver.js b/node_modules/semver/semver.js index 22673fdd1..026173eab 100644 --- a/node_modules/semver/semver.js +++ b/node_modules/semver/semver.js @@ -464,6 +464,33 @@ function inc(version, release, loose, identifier) { } } +exports.diff = diff; +function diff(version1, version2) { + if (eq(version1, version2)) { + return null; + } else { + var v1 = parse(version1); + var v2 = parse(version2); + if (v1.prerelease.length || v2.prerelease.length) { + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return 'pre'+key; + } + } + } + return 'prerelease'; + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return key; + } + } + } + } +} + exports.compareIdentifiers = compareIdentifiers; var numeric = /^[0-9]+$/; |