Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForrest L Norvell <forrest@npmjs.com>2014-12-25 14:08:41 +0300
committerForrest L Norvell <forrest@npmjs.com>2014-12-25 14:16:04 +0300
commit030f3c7450b8ce124a19073bfbae0948a0a1a02c (patch)
tree32cb9034c929d2a84e647f2fd26012dcd4ee34b5 /node_modules/semver/semver.js
parent9b9de06a99893b40aa23f0335726dec6df7979db (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.js27
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]+$/;