summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/semver/semver.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/semver/semver.js')
-rw-r--r--deps/npm/node_modules/semver/semver.js27
1 files changed, 21 insertions, 6 deletions
diff --git a/deps/npm/node_modules/semver/semver.js b/deps/npm/node_modules/semver/semver.js
index 71795f6f07..5f1a3c5c9e 100644
--- a/deps/npm/node_modules/semver/semver.js
+++ b/deps/npm/node_modules/semver/semver.js
@@ -314,9 +314,9 @@ function SemVer(version, loose) {
else
this.prerelease = m[4].split('.').map(function(id) {
if (/^[0-9]+$/.test(id)) {
- var num = +id
+ var num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER)
- return num
+ return num;
}
return id;
});
@@ -836,7 +836,7 @@ function replaceTilde(comp, loose) {
else if (isX(m))
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
else if (isX(p))
- // ~1.2 == >=1.2.0- <1.3.0-
+ // ~1.2 == >=1.2.0 <1.3.0
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
else if (pr) {
debug('replaceTilde pr', pr);
@@ -966,11 +966,11 @@ function replaceXRange(comp, loose) {
} else if (gtlt === '<=') {
// <=0.7.x is actually <0.8.0, since any 0.7.x should
// pass. Similarly, <=7.x is actually <8.0.0, etc.
- gtlt = '<'
+ gtlt = '<';
if (xm)
- M = +M + 1
+ M = +M + 1;
else
- m = +m + 1
+ m = +m + 1;
}
ret = gtlt + M + '.' + m + '.' + p;
@@ -1094,6 +1094,15 @@ function maxSatisfying(versions, range, loose) {
})[0] || null;
}
+exports.minSatisfying = minSatisfying;
+function minSatisfying(versions, range, loose) {
+ return versions.filter(function(version) {
+ return satisfies(version, range, loose);
+ }).sort(function(a, b) {
+ return compare(a, b, loose);
+ })[0] || null;
+}
+
exports.validRange = validRange;
function validRange(range, loose) {
try {
@@ -1186,3 +1195,9 @@ function outside(version, range, hilo, loose) {
}
return true;
}
+
+exports.prerelease = prerelease;
+function prerelease(version, loose) {
+ var parsed = parse(version, loose);
+ return (parsed && parsed.prerelease.length) ? parsed.prerelease : null;
+}