mirror of
https://github.com/electron/node-gyp.git
synced 2025-09-16 05:53:41 +02:00
semver@2.1, update all deps in repo
This commit is contained in:
parent
e6cb9075fe
commit
f6e0c511b2
50 changed files with 5251 additions and 637 deletions
83
node_modules/semver/semver.js
generated
vendored
83
node_modules/semver/semver.js
generated
vendored
|
@ -161,14 +161,29 @@ var LONETILDE = R++;
|
|||
src[LONETILDE] = '(?:~>?)';
|
||||
|
||||
var TILDETRIM = R++;
|
||||
src[TILDETRIM] = src[LONETILDE] + '\s+';
|
||||
var tildeTrimReplace = '$1';
|
||||
src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+';
|
||||
re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g');
|
||||
var tildeTrimReplace = '$1~';
|
||||
|
||||
var TILDE = R++;
|
||||
src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';
|
||||
var TILDELOOSE = R++;
|
||||
src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';
|
||||
|
||||
// Caret ranges.
|
||||
// Meaning is "at least and backwards compatible with"
|
||||
var LONECARET = R++;
|
||||
src[LONECARET] = '(?:\\^)';
|
||||
|
||||
var CARETTRIM = R++;
|
||||
src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+';
|
||||
re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g');
|
||||
var caretTrimReplace = '$1^';
|
||||
|
||||
var CARET = R++;
|
||||
src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$';
|
||||
var CARETLOOSE = R++;
|
||||
src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$';
|
||||
|
||||
// A simple gt/lt/eq thing, or just "" to indicate "any version"
|
||||
var COMPARATORLOOSE = R++;
|
||||
|
@ -180,13 +195,12 @@ src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$';
|
|||
// An expression to strip any whitespace between the gtlt and the thing
|
||||
// it modifies, so that `> 1.2.3` ==> `>1.2.3`
|
||||
var COMPARATORTRIM = R++;
|
||||
src[COMPARATORTRIM] = src[GTLT] +
|
||||
src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
|
||||
'\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';
|
||||
|
||||
// this one has to use the /g flag
|
||||
re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');
|
||||
|
||||
var comparatorTrimReplace = '$1$2 ';
|
||||
var comparatorTrimReplace = '$1$2$3';
|
||||
|
||||
|
||||
// Something like `1.2.3 - 1.2.4`
|
||||
|
@ -598,11 +612,14 @@ Range.prototype.parseRange = function(range) {
|
|||
debug('hyphen replace', range);
|
||||
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
||||
range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);
|
||||
debug('comparator trim', range);
|
||||
debug('comparator trim', range, re[COMPARATORTRIM]);
|
||||
|
||||
// `~ 1.2.3` => `~1.2.3`
|
||||
range = range.replace(re[TILDETRIM], tildeTrimReplace);
|
||||
|
||||
// `^ 1.2.3` => `^1.2.3`
|
||||
range = range.replace(re[CARETTRIM], caretTrimReplace);
|
||||
|
||||
// normalize spaces
|
||||
range = range.split(/\s+/).join(' ');
|
||||
|
||||
|
@ -641,6 +658,8 @@ function toComparators(range, loose) {
|
|||
// turn into a set of JUST comparators.
|
||||
function parseComparator(comp, loose) {
|
||||
debug('comp', comp);
|
||||
comp = replaceCarets(comp, loose);
|
||||
debug('caret', comp);
|
||||
comp = replaceTildes(comp, loose);
|
||||
debug('tildes', comp);
|
||||
comp = replaceXRanges(comp, loose);
|
||||
|
@ -695,6 +714,54 @@ function replaceTilde(comp, loose) {
|
|||
});
|
||||
}
|
||||
|
||||
// ^ --> * (any, kinda silly)
|
||||
// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0
|
||||
// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0
|
||||
// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0
|
||||
// ^1.2.3 --> >=1.2.3 <2.0.0
|
||||
// ^1.2.0 --> >=1.2.0 <2.0.0
|
||||
function replaceCarets(comp, loose) {
|
||||
return comp.trim().split(/\s+/).map(function(comp) {
|
||||
return replaceCaret(comp, loose);
|
||||
}).join(' ');
|
||||
}
|
||||
|
||||
function replaceCaret(comp, loose) {
|
||||
var r = loose ? re[CARETLOOSE] : re[CARET];
|
||||
return comp.replace(r, function(_, M, m, p, pr) {
|
||||
debug('caret', comp, _, M, m, p, pr);
|
||||
var ret;
|
||||
|
||||
if (isX(M))
|
||||
ret = '';
|
||||
else if (isX(m))
|
||||
ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
|
||||
else if (isX(p))
|
||||
if (M === '0') ret = '>=' + M + '.' + m + '.0-0 <' + M + '.' + (+m + 1) + '.0-0';
|
||||
else ret = '>=' + M + '.' + m + '.0-0 <' + (+M + 1) + '.0.0-0';
|
||||
else if (pr) {
|
||||
debug('replaceCaret pr', pr);
|
||||
if (pr.charAt(0) !== '-')
|
||||
pr = '-' + pr;
|
||||
if (M === '0')
|
||||
if (m === '0') ret = '=' + M + '.' + m + '.' + p + pr;
|
||||
else ret = '>=' + M + '.' + m + '.' + p + pr +
|
||||
' <' + M + '.' + (+m + 1) + '.0-0';
|
||||
else ret = '>=' + M + '.' + m + '.' + p + pr +
|
||||
' <' + (+M + 1) + '.0.0-0';
|
||||
} else
|
||||
if (M === '0')
|
||||
if (m === '0') ret = '=' + M + '.' + m + '.' + p;
|
||||
else ret = '>=' + M + '.' + m + '.' + p + '-0' +
|
||||
' <' + M + '.' + (+m + 1) + '.0-0';
|
||||
else ret = '>=' + M + '.' + m + '.' + p + '-0' +
|
||||
' <' + (+M + 1) + '.0.0-0';
|
||||
|
||||
debug('caret return', ret);
|
||||
return ret;
|
||||
});
|
||||
}
|
||||
|
||||
function replaceXRanges(comp, loose) {
|
||||
debug('replaceXRanges', comp, loose);
|
||||
return comp.split(/\s+/).map(function(comp) {
|
||||
|
@ -835,7 +902,9 @@ exports.maxSatisfying = maxSatisfying;
|
|||
function maxSatisfying(versions, range, loose) {
|
||||
return versions.filter(function(version) {
|
||||
return satisfies(version, range, loose);
|
||||
}).sort(rcompare)[0] || null;
|
||||
}).sort(function(a, b) {
|
||||
return rcompare(a, b, loose);
|
||||
})[0] || null;
|
||||
}
|
||||
|
||||
exports.validRange = validRange;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue