semver 3.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +3 -3
- package/README.md +163 -46
- package/bin/semver +9 -1
- package/{foot.js → foot.js.txt} +0 -0
- package/{head.js → head.js.txt} +0 -0
- package/package.json +1 -1
- package/semver.browser.js +174 -89
- package/semver.browser.js.gz +0 -0
- package/semver.js +174 -89
- package/semver.min.js +1 -1
- package/semver.min.js.gz +0 -0
- package/test/clean.js +5 -1
- package/test/gtr.js +2 -2
- package/test/index.js +167 -102
- package/test/ltr.js +10 -4
- package/test/no-module.js +2 -2
package/semver.js
CHANGED
|
@@ -138,18 +138,18 @@ var XRANGEPLAIN = R++;
|
|
|
138
138
|
src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
|
|
139
139
|
'(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
|
|
140
140
|
'(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
|
|
141
|
-
'(?:
|
|
142
|
-
'
|
|
141
|
+
'(?:' + src[PRERELEASE] + ')?' +
|
|
142
|
+
src[BUILD] + '?' +
|
|
143
|
+
')?)?';
|
|
143
144
|
|
|
144
145
|
var XRANGEPLAINLOOSE = R++;
|
|
145
146
|
src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
|
|
146
147
|
'(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
|
|
147
148
|
'(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
|
|
148
|
-
'(?:
|
|
149
|
-
'
|
|
149
|
+
'(?:' + src[PRERELEASELOOSE] + ')?' +
|
|
150
|
+
src[BUILD] + '?' +
|
|
151
|
+
')?)?';
|
|
150
152
|
|
|
151
|
-
// >=2.x, for example, means >=2.0.0-0
|
|
152
|
-
// <1.x would be the same as "<1.0.0-0", though.
|
|
153
153
|
var XRANGE = R++;
|
|
154
154
|
src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
|
|
155
155
|
var XRANGELOOSE = R++;
|
|
@@ -246,7 +246,7 @@ function valid(version, loose) {
|
|
|
246
246
|
|
|
247
247
|
exports.clean = clean;
|
|
248
248
|
function clean(version, loose) {
|
|
249
|
-
var s = parse(version.trim().replace(/^[=v]+/,
|
|
249
|
+
var s = parse(version.trim().replace(/^[=v]+/, ''), loose);
|
|
250
250
|
return s ? s.version : null;
|
|
251
251
|
}
|
|
252
252
|
|
|
@@ -355,36 +355,55 @@ SemVer.prototype.comparePre = function(other) {
|
|
|
355
355
|
|
|
356
356
|
// preminor will bump the version up to the next minor release, and immediately
|
|
357
357
|
// down to pre-release. premajor and prepatch work the same way.
|
|
358
|
-
SemVer.prototype.inc = function(release) {
|
|
358
|
+
SemVer.prototype.inc = function(release, identifier) {
|
|
359
359
|
switch (release) {
|
|
360
360
|
case 'premajor':
|
|
361
|
-
this.
|
|
362
|
-
this.
|
|
361
|
+
this.prerelease.length = 0;
|
|
362
|
+
this.patch = 0;
|
|
363
|
+
this.minor = 0;
|
|
364
|
+
this.major++;
|
|
365
|
+
this.inc('pre', identifier);
|
|
363
366
|
break;
|
|
364
367
|
case 'preminor':
|
|
365
|
-
this.
|
|
366
|
-
this.
|
|
368
|
+
this.prerelease.length = 0;
|
|
369
|
+
this.patch = 0;
|
|
370
|
+
this.minor++;
|
|
371
|
+
this.inc('pre', identifier);
|
|
367
372
|
break;
|
|
368
373
|
case 'prepatch':
|
|
369
374
|
// If this is already a prerelease, it will bump to the next version
|
|
370
375
|
// drop any prereleases that might already exist, since they are not
|
|
371
376
|
// relevant at this point.
|
|
372
377
|
this.prerelease.length = 0;
|
|
373
|
-
this.inc('patch');
|
|
374
|
-
this.inc('pre');
|
|
378
|
+
this.inc('patch', identifier);
|
|
379
|
+
this.inc('pre', identifier);
|
|
375
380
|
break;
|
|
376
381
|
// If the input is a non-prerelease version, this acts the same as
|
|
377
382
|
// prepatch.
|
|
378
383
|
case 'prerelease':
|
|
379
384
|
if (this.prerelease.length === 0)
|
|
380
|
-
this.inc('patch');
|
|
381
|
-
this.inc('pre');
|
|
385
|
+
this.inc('patch', identifier);
|
|
386
|
+
this.inc('pre', identifier);
|
|
382
387
|
break;
|
|
388
|
+
|
|
383
389
|
case 'major':
|
|
384
|
-
this.
|
|
385
|
-
|
|
390
|
+
// If this is a pre-major version, bump up to the same major version.
|
|
391
|
+
// Otherwise increment major.
|
|
392
|
+
// 1.0.0-5 bumps to 1.0.0
|
|
393
|
+
// 1.1.0 bumps to 2.0.0
|
|
394
|
+
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0)
|
|
395
|
+
this.major++;
|
|
396
|
+
this.minor = 0;
|
|
397
|
+
this.patch = 0;
|
|
398
|
+
this.prerelease = [];
|
|
399
|
+
break;
|
|
386
400
|
case 'minor':
|
|
387
|
-
this.
|
|
401
|
+
// If this is a pre-minor version, bump up to the same minor version.
|
|
402
|
+
// Otherwise increment minor.
|
|
403
|
+
// 1.2.0-5 bumps to 1.2.0
|
|
404
|
+
// 1.2.1 bumps to 1.3.0
|
|
405
|
+
if (this.patch !== 0 || this.prerelease.length === 0)
|
|
406
|
+
this.minor++;
|
|
388
407
|
this.patch = 0;
|
|
389
408
|
this.prerelease = [];
|
|
390
409
|
break;
|
|
@@ -397,7 +416,7 @@ SemVer.prototype.inc = function(release) {
|
|
|
397
416
|
this.patch++;
|
|
398
417
|
this.prerelease = [];
|
|
399
418
|
break;
|
|
400
|
-
// This probably shouldn't be used
|
|
419
|
+
// This probably shouldn't be used publicly.
|
|
401
420
|
// 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction.
|
|
402
421
|
case 'pre':
|
|
403
422
|
if (this.prerelease.length === 0)
|
|
@@ -413,6 +432,15 @@ SemVer.prototype.inc = function(release) {
|
|
|
413
432
|
if (i === -1) // didn't increment anything
|
|
414
433
|
this.prerelease.push(0);
|
|
415
434
|
}
|
|
435
|
+
if (identifier) {
|
|
436
|
+
// 1.2.0-beta.1 bumps to 1.2.0-beta.2,
|
|
437
|
+
// 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
|
|
438
|
+
if (this.prerelease[0] === identifier) {
|
|
439
|
+
if (isNaN(this.prerelease[1]))
|
|
440
|
+
this.prerelease = [identifier, 0];
|
|
441
|
+
} else
|
|
442
|
+
this.prerelease = [identifier, 0];
|
|
443
|
+
}
|
|
416
444
|
break;
|
|
417
445
|
|
|
418
446
|
default:
|
|
@@ -423,9 +451,14 @@ SemVer.prototype.inc = function(release) {
|
|
|
423
451
|
};
|
|
424
452
|
|
|
425
453
|
exports.inc = inc;
|
|
426
|
-
function inc(version, release, loose) {
|
|
454
|
+
function inc(version, release, loose, identifier) {
|
|
455
|
+
if (typeof(loose) === 'string') {
|
|
456
|
+
identifier = loose;
|
|
457
|
+
loose = undefined;
|
|
458
|
+
}
|
|
459
|
+
|
|
427
460
|
try {
|
|
428
|
-
return new SemVer(version, loose).inc(release).version;
|
|
461
|
+
return new SemVer(version, loose).inc(release, identifier).version;
|
|
429
462
|
} catch (er) {
|
|
430
463
|
return null;
|
|
431
464
|
}
|
|
@@ -518,8 +551,16 @@ exports.cmp = cmp;
|
|
|
518
551
|
function cmp(a, op, b, loose) {
|
|
519
552
|
var ret;
|
|
520
553
|
switch (op) {
|
|
521
|
-
case '===':
|
|
522
|
-
|
|
554
|
+
case '===':
|
|
555
|
+
if (typeof a === 'object') a = a.version;
|
|
556
|
+
if (typeof b === 'object') b = b.version;
|
|
557
|
+
ret = a === b;
|
|
558
|
+
break;
|
|
559
|
+
case '!==':
|
|
560
|
+
if (typeof a === 'object') a = a.version;
|
|
561
|
+
if (typeof b === 'object') b = b.version;
|
|
562
|
+
ret = a !== b;
|
|
563
|
+
break;
|
|
523
564
|
case '': case '=': case '==': ret = eq(a, b, loose); break;
|
|
524
565
|
case '!=': ret = neq(a, b, loose); break;
|
|
525
566
|
case '>': ret = gt(a, b, loose); break;
|
|
@@ -551,6 +592,8 @@ function Comparator(comp, loose) {
|
|
|
551
592
|
this.value = '';
|
|
552
593
|
else
|
|
553
594
|
this.value = this.operator + this.semver.version;
|
|
595
|
+
|
|
596
|
+
debug('comp', this);
|
|
554
597
|
}
|
|
555
598
|
|
|
556
599
|
var ANY = {};
|
|
@@ -568,21 +611,8 @@ Comparator.prototype.parse = function(comp) {
|
|
|
568
611
|
// if it literally is just '>' or '' then allow anything.
|
|
569
612
|
if (!m[2])
|
|
570
613
|
this.semver = ANY;
|
|
571
|
-
else
|
|
614
|
+
else
|
|
572
615
|
this.semver = new SemVer(m[2], this.loose);
|
|
573
|
-
|
|
574
|
-
// <1.2.3-rc DOES allow 1.2.3-beta (has prerelease)
|
|
575
|
-
// >=1.2.3 DOES NOT allow 1.2.3-beta
|
|
576
|
-
// <=1.2.3 DOES allow 1.2.3-beta
|
|
577
|
-
// However, <1.2.3 does NOT allow 1.2.3-beta,
|
|
578
|
-
// even though `1.2.3-beta < 1.2.3`
|
|
579
|
-
// The assumption is that the 1.2.3 version has something you
|
|
580
|
-
// *don't* want, so we push the prerelease down to the minimum.
|
|
581
|
-
if (this.operator === '<' && !this.semver.prerelease.length) {
|
|
582
|
-
this.semver.prerelease = ['0'];
|
|
583
|
-
this.semver.format();
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
616
|
};
|
|
587
617
|
|
|
588
618
|
Comparator.prototype.inspect = function() {
|
|
@@ -595,8 +625,14 @@ Comparator.prototype.toString = function() {
|
|
|
595
625
|
|
|
596
626
|
Comparator.prototype.test = function(version) {
|
|
597
627
|
debug('Comparator.test', version, this.loose);
|
|
598
|
-
|
|
599
|
-
|
|
628
|
+
|
|
629
|
+
if (this.semver === ANY)
|
|
630
|
+
return true;
|
|
631
|
+
|
|
632
|
+
if (typeof version === 'string')
|
|
633
|
+
version = new SemVer(version, this.loose);
|
|
634
|
+
|
|
635
|
+
return cmp(version, this.operator, this.semver, this.loose);
|
|
600
636
|
};
|
|
601
637
|
|
|
602
638
|
|
|
@@ -733,20 +769,20 @@ function replaceTilde(comp, loose) {
|
|
|
733
769
|
if (isX(M))
|
|
734
770
|
ret = '';
|
|
735
771
|
else if (isX(m))
|
|
736
|
-
ret = '>=' + M + '.0.0
|
|
772
|
+
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
737
773
|
else if (isX(p))
|
|
738
774
|
// ~1.2 == >=1.2.0- <1.3.0-
|
|
739
|
-
ret = '>=' + M + '.' + m + '.0
|
|
775
|
+
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
740
776
|
else if (pr) {
|
|
741
777
|
debug('replaceTilde pr', pr);
|
|
742
778
|
if (pr.charAt(0) !== '-')
|
|
743
779
|
pr = '-' + pr;
|
|
744
780
|
ret = '>=' + M + '.' + m + '.' + p + pr +
|
|
745
|
-
' <' + M + '.' + (+m + 1) + '.0
|
|
781
|
+
' <' + M + '.' + (+m + 1) + '.0';
|
|
746
782
|
} else
|
|
747
|
-
// ~1.2.3 == >=1.2.3
|
|
748
|
-
ret = '>=' + M + '.' + m + '.' + p +
|
|
749
|
-
' <' + M + '.' + (+m + 1) + '.0
|
|
783
|
+
// ~1.2.3 == >=1.2.3 <1.3.0
|
|
784
|
+
ret = '>=' + M + '.' + m + '.' + p +
|
|
785
|
+
' <' + M + '.' + (+m + 1) + '.0';
|
|
750
786
|
|
|
751
787
|
debug('tilde return', ret);
|
|
752
788
|
return ret;
|
|
@@ -766,33 +802,48 @@ function replaceCarets(comp, loose) {
|
|
|
766
802
|
}
|
|
767
803
|
|
|
768
804
|
function replaceCaret(comp, loose) {
|
|
805
|
+
debug('caret', comp, loose);
|
|
769
806
|
var r = loose ? re[CARETLOOSE] : re[CARET];
|
|
770
807
|
return comp.replace(r, function(_, M, m, p, pr) {
|
|
771
808
|
debug('caret', comp, _, M, m, p, pr);
|
|
772
809
|
var ret;
|
|
773
|
-
if (pr) {
|
|
774
|
-
if (pr.charAt(0) !== '-')
|
|
775
|
-
pr = '-' + pr;
|
|
776
|
-
} else
|
|
777
|
-
pr = '';
|
|
778
810
|
|
|
779
811
|
if (isX(M))
|
|
780
812
|
ret = '';
|
|
781
813
|
else if (isX(m))
|
|
782
|
-
ret = '>=' + M + '.0.0
|
|
814
|
+
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
783
815
|
else if (isX(p)) {
|
|
784
816
|
if (M === '0')
|
|
785
|
-
ret = '>=' + M + '.' + m + '.0
|
|
817
|
+
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
786
818
|
else
|
|
787
|
-
ret = '>=' + M + '.' + m + '.0
|
|
788
|
-
} else if (
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
819
|
+
ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';
|
|
820
|
+
} else if (pr) {
|
|
821
|
+
debug('replaceCaret pr', pr);
|
|
822
|
+
if (pr.charAt(0) !== '-')
|
|
823
|
+
pr = '-' + pr;
|
|
824
|
+
if (M === '0') {
|
|
825
|
+
if (m === '0')
|
|
826
|
+
ret = '>=' + M + '.' + m + '.' + p + pr +
|
|
827
|
+
' <' + M + '.' + m + '.' + (+p + 1);
|
|
828
|
+
else
|
|
829
|
+
ret = '>=' + M + '.' + m + '.' + p + pr +
|
|
830
|
+
' <' + M + '.' + (+m + 1) + '.0';
|
|
831
|
+
} else
|
|
832
|
+
ret = '>=' + M + '.' + m + '.' + p + pr +
|
|
833
|
+
' <' + (+M + 1) + '.0.0';
|
|
834
|
+
} else {
|
|
835
|
+
debug('no pr');
|
|
836
|
+
if (M === '0') {
|
|
837
|
+
if (m === '0')
|
|
838
|
+
ret = '>=' + M + '.' + m + '.' + p +
|
|
839
|
+
' <' + M + '.' + m + '.' + (+p + 1);
|
|
840
|
+
else
|
|
841
|
+
ret = '>=' + M + '.' + m + '.' + p +
|
|
842
|
+
' <' + M + '.' + (+m + 1) + '.0';
|
|
843
|
+
} else
|
|
844
|
+
ret = '>=' + M + '.' + m + '.' + p +
|
|
845
|
+
' <' + (+M + 1) + '.0.0';
|
|
846
|
+
}
|
|
796
847
|
|
|
797
848
|
debug('caret return', ret);
|
|
798
849
|
return ret;
|
|
@@ -819,23 +870,27 @@ function replaceXRange(comp, loose) {
|
|
|
819
870
|
if (gtlt === '=' && anyX)
|
|
820
871
|
gtlt = '';
|
|
821
872
|
|
|
822
|
-
if (
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
873
|
+
if (xM) {
|
|
874
|
+
if (gtlt === '>' || gtlt === '<') {
|
|
875
|
+
// nothing is allowed
|
|
876
|
+
ret = '<0.0.0';
|
|
877
|
+
} else {
|
|
878
|
+
// nothing is forbidden
|
|
879
|
+
ret = '*';
|
|
880
|
+
}
|
|
881
|
+
} else if (gtlt && anyX) {
|
|
882
|
+
// replace X with 0
|
|
826
883
|
if (xm)
|
|
827
884
|
m = 0;
|
|
828
885
|
if (xp)
|
|
829
886
|
p = 0;
|
|
830
887
|
|
|
831
888
|
if (gtlt === '>') {
|
|
832
|
-
// >1 => >=2.0.0
|
|
833
|
-
// >1.2 => >=1.3.0
|
|
834
|
-
// >1.2.3 => >= 1.2.4
|
|
889
|
+
// >1 => >=2.0.0
|
|
890
|
+
// >1.2 => >=1.3.0
|
|
891
|
+
// >1.2.3 => >= 1.2.4
|
|
835
892
|
gtlt = '>=';
|
|
836
|
-
if (
|
|
837
|
-
// no change
|
|
838
|
-
} else if (xm) {
|
|
893
|
+
if (xm) {
|
|
839
894
|
M = +M + 1;
|
|
840
895
|
m = 0;
|
|
841
896
|
p = 0;
|
|
@@ -843,20 +898,21 @@ function replaceXRange(comp, loose) {
|
|
|
843
898
|
m = +m + 1;
|
|
844
899
|
p = 0;
|
|
845
900
|
}
|
|
901
|
+
} else if (gtlt === '<=') {
|
|
902
|
+
// <=0.7.x is actually <0.8.0, since any 0.7.x should
|
|
903
|
+
// pass. Similarly, <=7.x is actually <8.0.0, etc.
|
|
904
|
+
gtlt = '<'
|
|
905
|
+
if (xm)
|
|
906
|
+
M = +M + 1
|
|
907
|
+
else
|
|
908
|
+
m = +m + 1
|
|
846
909
|
}
|
|
847
910
|
|
|
848
|
-
|
|
849
|
-
ret = gtlt + M + '.' + m + '.' + p + '-0';
|
|
850
|
-
} else if (xM) {
|
|
851
|
-
// allow any
|
|
852
|
-
ret = '*';
|
|
911
|
+
ret = gtlt + M + '.' + m + '.' + p;
|
|
853
912
|
} else if (xm) {
|
|
854
|
-
|
|
855
|
-
// '1.x.x' matches '2.0.0-beta', since the tag
|
|
856
|
-
// *lowers* the version value
|
|
857
|
-
ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
|
|
913
|
+
ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';
|
|
858
914
|
} else if (xp) {
|
|
859
|
-
ret = '>=' + M + '.' + m + '.0
|
|
915
|
+
ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';
|
|
860
916
|
}
|
|
861
917
|
|
|
862
918
|
debug('xRange return', ret);
|
|
@@ -875,9 +931,9 @@ function replaceStars(comp, loose) {
|
|
|
875
931
|
|
|
876
932
|
// This function is passed to string.replace(re[HYPHENRANGE])
|
|
877
933
|
// M, m, patch, prerelease, build
|
|
878
|
-
// 1.2 - 3.4.5 => >=1.2.0
|
|
879
|
-
// 1.2.3 - 3.4 => >=1.2.0
|
|
880
|
-
// 1.2 - 3.4 => >=1.2.0
|
|
934
|
+
// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
|
|
935
|
+
// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
|
|
936
|
+
// 1.2 - 3.4 => >=1.2.0 <3.5.0
|
|
881
937
|
function hyphenReplace($0,
|
|
882
938
|
from, fM, fm, fp, fpr, fb,
|
|
883
939
|
to, tM, tm, tp, tpr, tb) {
|
|
@@ -885,18 +941,18 @@ function hyphenReplace($0,
|
|
|
885
941
|
if (isX(fM))
|
|
886
942
|
from = '';
|
|
887
943
|
else if (isX(fm))
|
|
888
|
-
from = '>=' + fM + '.0.0
|
|
944
|
+
from = '>=' + fM + '.0.0';
|
|
889
945
|
else if (isX(fp))
|
|
890
|
-
from = '>=' + fM + '.' + fm + '.0
|
|
946
|
+
from = '>=' + fM + '.' + fm + '.0';
|
|
891
947
|
else
|
|
892
948
|
from = '>=' + from;
|
|
893
949
|
|
|
894
950
|
if (isX(tM))
|
|
895
951
|
to = '';
|
|
896
952
|
else if (isX(tm))
|
|
897
|
-
to = '<' + (+tM + 1) + '.0.0
|
|
953
|
+
to = '<' + (+tM + 1) + '.0.0';
|
|
898
954
|
else if (isX(tp))
|
|
899
|
-
to = '<' + tM + '.' + (+tm + 1) + '.0
|
|
955
|
+
to = '<' + tM + '.' + (+tm + 1) + '.0';
|
|
900
956
|
else if (tpr)
|
|
901
957
|
to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
|
|
902
958
|
else
|
|
@@ -910,6 +966,10 @@ function hyphenReplace($0,
|
|
|
910
966
|
Range.prototype.test = function(version) {
|
|
911
967
|
if (!version)
|
|
912
968
|
return false;
|
|
969
|
+
|
|
970
|
+
if (typeof version === 'string')
|
|
971
|
+
version = new SemVer(version, this.loose);
|
|
972
|
+
|
|
913
973
|
for (var i = 0; i < this.set.length; i++) {
|
|
914
974
|
if (testSet(this.set[i], version))
|
|
915
975
|
return true;
|
|
@@ -922,6 +982,31 @@ function testSet(set, version) {
|
|
|
922
982
|
if (!set[i].test(version))
|
|
923
983
|
return false;
|
|
924
984
|
}
|
|
985
|
+
|
|
986
|
+
if (version.prerelease.length) {
|
|
987
|
+
// Find the set of versions that are allowed to have prereleases
|
|
988
|
+
// For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
|
|
989
|
+
// That should allow `1.2.3-pr.2` to pass.
|
|
990
|
+
// However, `1.2.4-alpha.notready` should NOT be allowed,
|
|
991
|
+
// even though it's within the range set by the comparators.
|
|
992
|
+
for (var i = 0; i < set.length; i++) {
|
|
993
|
+
debug(set[i].semver);
|
|
994
|
+
if (set[i].semver === ANY)
|
|
995
|
+
return true;
|
|
996
|
+
|
|
997
|
+
if (set[i].semver.prerelease.length > 0) {
|
|
998
|
+
var allowed = set[i].semver;
|
|
999
|
+
if (allowed.major === version.major &&
|
|
1000
|
+
allowed.minor === version.minor &&
|
|
1001
|
+
allowed.patch === version.patch)
|
|
1002
|
+
return true;
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
// Version has a -pre, but it's not one of the ones we like.
|
|
1007
|
+
return false;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
925
1010
|
return true;
|
|
926
1011
|
}
|
|
927
1012
|
|
package/semver.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=H;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var a=n++;t[a]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=n++;t[o]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var f=n++;t[f]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var u=n++;t[u]="(?:"+t[i]+"|"+t[a]+")";var c=n++;t[c]="(?:"+t[s]+"|"+t[a]+")";var l=n++;t[l]="(?:-("+t[u]+"(?:\\."+t[u]+")*))";var p=n++;t[p]="(?:-?("+t[c]+"(?:\\."+t[c]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[o]+t[l]+"?"+t[v]+"?";t[m]="^"+g+"$";var w="[v=\\s]*"+t[f]+t[p]+"?"+t[v]+"?";var d=n++;t[d]="^"+w+"$";var y=n++;t[y]="((?:<|>)?=?)";var b=n++;t[b]=t[s]+"|x|X|\\*";var $=n++;t[$]=t[i]+"|x|X|\\*";var j=n++;t[j]="[v=\\s]*("+t[$]+")"+"(?:\\.("+t[$]+")"+"(?:\\.("+t[$]+")"+"(?:("+t[l]+")"+")?)?)?";var k=n++;t[k]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:("+t[p]+")"+")?)?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[j]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[j]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[j]+"$";var P=n++;t[P]="^"+t[A]+t[k]+"$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+w+")$|^$";var q=n++;t[q]="^"+t[y]+"\\s*("+g+")$|^$";var L=n++;t[L]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[j]+")";r[L]=new RegExp(t[L],"g");var X="$1$2$3";var _=n++;t[_]="^\\s*("+t[j]+")"+"\\s+-\\s+"+"("+t[j]+")"+"\\s*$";var N=n++;t[N]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B<n;B++){if(!r[B])r[B]=new RegExp(t[B])}e.parse=D;function D(e,t){var n=t?r[d]:r[m];return n.test(e)?new H(e,t):null}e.valid=F;function F(e,r){var t=D(e,r);return t?t.version:null}e.clean=G;function G(e,r){var t=D(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null}e.SemVer=H;function H(e,t){if(e instanceof H){if(e.loose===t)return e;else e=e.version}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(!(this instanceof H))return new H(e,t);this.loose=t;var n=e.trim().match(t?r[d]:r[m]);if(!n)throw new TypeError("Invalid Version: "+e);this.raw=e;this.major=+n[1];this.minor=+n[2];this.patch=+n[3];if(!n[4])this.prerelease=[];else this.prerelease=n[4].split(".").map(function(e){return/^[0-9]+$/.test(e)?+e:e});this.build=n[5]?n[5].split("."):[];this.format()}H.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};H.prototype.inspect=function(){return'<SemVer "'+this+'">'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return Q(this.major,e.major)||Q(this.minor,e.minor)||Q(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return Q(t,n)}while(++r)};H.prototype.inc=function(e){switch(e){case"premajor":this.inc("major");this.inc("pre");break;case"preminor":this.inc("minor");this.inc("pre");break;case"prepatch":this.prerelease.length=0;this.inc("patch");this.inc("pre");break;case"prerelease":if(this.prerelease.length===0)this.inc("patch");this.inc("pre");break;case"major":this.major++;this.minor=-1;case"minor":this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var r=this.prerelease.length;while(--r>=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1)this.prerelease.push(0)}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t){try{return new H(e,t).inc(r).version}catch(n){return null}}e.compareIdentifiers=Q;var K=/^[0-9]+$/;function Q(e,r){var t=K.test(e);var n=K.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:e<r?-1:e>r?1:0}e.rcompareIdentifiers=U;function U(e,r){return Q(r,e)}e.compare=W;function W(e,r,t){return new H(e,t).compare(r)}e.compareLoose=Y;function Y(e,r){return W(e,r,true)}e.rcompare=er;function er(e,r,t){return W(r,e,t)}e.sort=rr;function rr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=tr;function tr(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=nr;function nr(e,r,t){return W(e,r,t)>0}e.lt=ir;function ir(e,r,t){return W(e,r,t)<0}e.eq=sr;function sr(e,r,t){return W(e,r,t)===0}e.neq=ar;function ar(e,r,t){return W(e,r,t)!==0}e.gte=or;function or(e,r,t){return W(e,r,t)>=0}e.lte=fr;function fr(e,r,t){return W(e,r,t)<=0}e.cmp=ur;function ur(e,r,t,n){var i;switch(r){case"===":i=e===t;break;case"!==":i=e!==t;break;case"":case"=":case"==":i=sr(e,t,n);break;case"!=":i=ar(e,t,n);break;case">":i=nr(e,t,n);break;case">=":i=or(e,t,n);break;case"<":i=ir(e,t,n);break;case"<=":i=fr(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=cr;function cr(e,r){if(e instanceof cr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof cr))return new cr(e,r);this.loose=r;this.parse(e);if(this.semver===lr)this.value="";else this.value=this.operator+this.semver.version}var lr={};cr.prototype.parse=function(e){var t=this.loose?r[Z]:r[q];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=lr;else{this.semver=new H(n[2],this.loose);if(this.operator==="<"&&!this.semver.prerelease.length){this.semver.prerelease=["0"];this.semver.format()}}};cr.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};cr.prototype.toString=function(){return this.value};cr.prototype.test=function(e){return this.semver===lr?true:ur(e,this.operator,this.semver,this.loose)};e.Range=pr;function pr(e,r){if(e instanceof pr&&e.loose===r)return e;if(!(this instanceof pr))return new pr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}pr.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};pr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};pr.prototype.toString=function(){return this.range};pr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[N]:r[_];e=e.replace(n,kr);e=e.replace(r[L],X);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[Z]:r[q];var s=e.split(" ").map(function(e){return vr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new cr(e,t)});return s};e.toComparators=hr;function hr(e,r){return new pr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function vr(e,r){e=dr(e,r);e=gr(e,r);e=br(e,r);e=jr(e,r);return e}function mr(e){return!e||e.toLowerCase()==="x"||e==="*"}function gr(e,r){return e.trim().split(/\s+/).map(function(e){return wr(e,r)}).join(" ")}function wr(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(mr(r))s="";else if(mr(t))s=">="+r+".0.0-0 <"+(+r+1)+".0.0-0";else if(mr(n))s=">="+r+"."+t+".0-0 <"+r+"."+(+t+1)+".0-0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0-0"}else s=">="+r+"."+t+"."+n+"-0"+" <"+r+"."+(+t+1)+".0-0";return s})}function dr(e,r){return e.trim().split(/\s+/).map(function(e){return yr(e,r)}).join(" ")}function yr(e,t){var n=t?r[P]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(i){if(i.charAt(0)!=="-")i="-"+i}else i="";if(mr(r))s="";else if(mr(t))s=">="+r+".0.0-0 <"+(+r+1)+".0.0-0";else if(mr(n)){if(r==="0")s=">="+r+"."+t+".0-0 <"+r+"."+(+t+1)+".0-0";else s=">="+r+"."+t+".0-0 <"+(+r+1)+".0.0-0"}else if(r==="0")s="="+r+"."+t+"."+n+i;else if(i)s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0-0";else s=">="+r+"."+t+"."+n+"-0"+" <"+(+r+1)+".0.0-0";return s})}function br(e,r){return e.split(/\s+/).map(function(e){return $r(e,r)}).join(" ")}function $r(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=mr(t);var o=a||mr(n);var f=o||mr(i);var u=f;if(r==="="&&u)r="";if(r&&u){if(a)t=0;if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(a){}else if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}e=r+t+"."+n+"."+i+"-0"}else if(a){e="*"}else if(o){e=">="+t+".0.0-0 <"+(+t+1)+".0.0-0"}else if(f){e=">="+t+"."+n+".0-0 <"+t+"."+(+n+1)+".0-0"}return e})}function jr(e,t){return e.trim().replace(r[O],"")}function kr(e,r,t,n,i,s,a,o,f,u,c,l,p){if(mr(t))r="";else if(mr(n))r=">="+t+".0.0-0";else if(mr(i))r=">="+t+"."+n+".0-0";else r=">="+r;if(mr(f))o="";else if(mr(u))o="<"+(+f+1)+".0.0-0";else if(mr(c))o="<"+f+"."+(+u+1)+".0-0";else if(l)o="<="+f+"."+u+"."+c+"-"+l;else o="<="+o;return(r+" "+o).trim()}pr.prototype.test=function(e){if(!e)return false;for(var r=0;r<this.set.length;r++){if(Er(this.set[r],e))return true}return false};function Er(e,r){for(var t=0;t<e.length;t++){if(!e[t].test(r))return false}return true}e.satisfies=xr;function xr(e,r,t){try{r=new pr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Rr;function Rr(e,r,t){return e.filter(function(e){return xr(e,r,t)}).sort(function(e,r){return er(e,r,t)})[0]||null}e.validRange=Sr;function Sr(e,r){try{return new pr(e,r).range||"*"}catch(t){return null}}e.ltr=Vr;function Vr(e,r,t){return Tr(e,r,"<",t)}e.gtr=Ir;function Ir(e,r,t){return Tr(e,r,">",t)}e.outside=Tr;function Tr(e,r,t,n){e=new H(e,n);r=new pr(r,n);var i,s,a,o,f;switch(t){case">":i=nr;s=fr;a=ir;o=">";f=">=";break;case"<":i=ir;s=or;a=nr;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(xr(e,r,n)){return false}for(var u=0;u<r.set.length;++u){var c=r.set[u];var l=null;var p=null;c.forEach(function(e){l=l||e;p=p||e;if(i(e.semver,l.semver,n)){l=e}else if(a(e.semver,p.semver,n)){p=e}});if(l.operator===o||l.operator===f){return false}if((!p.operator||p.operator===o)&&s(e,p.semver)){return false}else if(p.operator===f&&a(e,p.semver)){return false}}return true}if(typeof define==="function"&&define.amd)define(e)})(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={});
|
|
1
|
+
(function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=H;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var a=n++;t[a]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=n++;t[o]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var f=n++;t[f]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var u=n++;t[u]="(?:"+t[i]+"|"+t[a]+")";var l=n++;t[l]="(?:"+t[s]+"|"+t[a]+")";var p=n++;t[p]="(?:-("+t[u]+"(?:\\."+t[u]+")*))";var c=n++;t[c]="(?:-?("+t[l]+"(?:\\."+t[l]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[o]+t[p]+"?"+t[v]+"?";t[m]="^"+g+"$";var w="[v=\\s]*"+t[f]+t[c]+"?"+t[v]+"?";var d=n++;t[d]="^"+w+"$";var y=n++;t[y]="((?:<|>)?=?)";var b=n++;t[b]=t[s]+"|x|X|\\*";var j=n++;t[j]=t[i]+"|x|X|\\*";var $=n++;t[$]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:"+t[p]+")?"+t[v]+"?"+")?)?";var k=n++;t[k]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:"+t[c]+")?"+t[v]+"?"+")?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[$]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[$]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[$]+"$";var N=n++;t[N]="^"+t[A]+t[k]+"$";var P=n++;t[P]="^"+t[y]+"\\s*("+w+")$|^$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+g+")$|^$";var q=n++;t[q]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[$]+")";r[q]=new RegExp(t[q],"g");var L="$1$2$3";var X=n++;t[X]="^\\s*("+t[$]+")"+"\\s+-\\s+"+"("+t[$]+")"+"\\s*$";var _=n++;t[_]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B<n;B++){if(!r[B])r[B]=new RegExp(t[B])}e.parse=D;function D(e,t){var n=t?r[d]:r[m];return n.test(e)?new H(e,t):null}e.valid=F;function F(e,r){var t=D(e,r);return t?t.version:null}e.clean=G;function G(e,r){var t=D(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null}e.SemVer=H;function H(e,t){if(e instanceof H){if(e.loose===t)return e;else e=e.version}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(!(this instanceof H))return new H(e,t);this.loose=t;var n=e.trim().match(t?r[d]:r[m]);if(!n)throw new TypeError("Invalid Version: "+e);this.raw=e;this.major=+n[1];this.minor=+n[2];this.patch=+n[3];if(!n[4])this.prerelease=[];else this.prerelease=n[4].split(".").map(function(e){return/^[0-9]+$/.test(e)?+e:e});this.build=n[5]?n[5].split("."):[];this.format()}H.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};H.prototype.inspect=function(){return'<SemVer "'+this+'">'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return Q(this.major,e.major)||Q(this.minor,e.minor)||Q(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return Q(t,n)}while(++r)};H.prototype.inc=function(e,r){switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",r);this.inc("pre",r);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",r);this.inc("pre",r);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var t=this.prerelease.length;while(--t>=0){if(typeof this.prerelease[t]==="number"){this.prerelease[t]++;t=-2}}if(t===-1)this.prerelease.push(0)}if(r){if(this.prerelease[0]===r){if(isNaN(this.prerelease[1]))this.prerelease=[r,0]}else this.prerelease=[r,0]}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t,n){if(typeof t==="string"){n=t;t=undefined}try{return new H(e,t).inc(r,n).version}catch(i){return null}}e.compareIdentifiers=Q;var K=/^[0-9]+$/;function Q(e,r){var t=K.test(e);var n=K.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:e<r?-1:e>r?1:0}e.rcompareIdentifiers=U;function U(e,r){return Q(r,e)}e.compare=W;function W(e,r,t){return new H(e,t).compare(r)}e.compareLoose=Y;function Y(e,r){return W(e,r,true)}e.rcompare=er;function er(e,r,t){return W(r,e,t)}e.sort=rr;function rr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=tr;function tr(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=nr;function nr(e,r,t){return W(e,r,t)>0}e.lt=ir;function ir(e,r,t){return W(e,r,t)<0}e.eq=sr;function sr(e,r,t){return W(e,r,t)===0}e.neq=ar;function ar(e,r,t){return W(e,r,t)!==0}e.gte=or;function or(e,r,t){return W(e,r,t)>=0}e.lte=fr;function fr(e,r,t){return W(e,r,t)<=0}e.cmp=ur;function ur(e,r,t,n){var i;switch(r){case"===":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e===t;break;case"!==":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e!==t;break;case"":case"=":case"==":i=sr(e,t,n);break;case"!=":i=ar(e,t,n);break;case">":i=nr(e,t,n);break;case">=":i=or(e,t,n);break;case"<":i=ir(e,t,n);break;case"<=":i=fr(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=lr;function lr(e,r){if(e instanceof lr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof lr))return new lr(e,r);this.loose=r;this.parse(e);if(this.semver===pr)this.value="";else this.value=this.operator+this.semver.version}var pr={};lr.prototype.parse=function(e){var t=this.loose?r[P]:r[Z];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=pr;else this.semver=new H(n[2],this.loose)};lr.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};lr.prototype.toString=function(){return this.value};lr.prototype.test=function(e){if(this.semver===pr)return true;if(typeof e==="string")e=new H(e,this.loose);return ur(e,this.operator,this.semver,this.loose)};e.Range=cr;function cr(e,r){if(e instanceof cr&&e.loose===r)return e;if(!(this instanceof cr))return new cr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}cr.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};cr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};cr.prototype.toString=function(){return this.range};cr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[_]:r[X];e=e.replace(n,kr);e=e.replace(r[q],L);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[P]:r[Z];var s=e.split(" ").map(function(e){return vr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new lr(e,t)});return s};e.toComparators=hr;function hr(e,r){return new cr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function vr(e,r){e=dr(e,r);e=gr(e,r);e=br(e,r);e=$r(e,r);return e}function mr(e){return!e||e.toLowerCase()==="x"||e==="*"}function gr(e,r){return e.trim().split(/\s+/).map(function(e){return wr(e,r)}).join(" ")}function wr(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(mr(r))s="";else if(mr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(mr(n))s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0";return s})}function dr(e,r){return e.trim().split(/\s+/).map(function(e){return yr(e,r)}).join(" ")}function yr(e,t){var n=t?r[N]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(mr(r))s="";else if(mr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(mr(n)){if(r==="0")s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else s=">="+r+"."+t+".0 <"+(+r+1)+".0.0"}else if(i){if(i.charAt(0)!=="-")i="-"+i;if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+i+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0"}else{if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+(+r+1)+".0.0"}return s})}function br(e,r){return e.split(/\s+/).map(function(e){return jr(e,r)}).join(" ")}function jr(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=mr(t);var o=a||mr(n);var f=o||mr(i);var u=f;if(r==="="&&u)r="";if(a){if(r===">"||r==="<"){e="<0.0.0"}else{e="*"}}else if(r&&u){if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}else if(r==="<="){r="<";if(o)t=+t+1;else n=+n+1}e=r+t+"."+n+"."+i}else if(o){e=">="+t+".0.0 <"+(+t+1)+".0.0"}else if(f){e=">="+t+"."+n+".0 <"+t+"."+(+n+1)+".0"}return e})}function $r(e,t){return e.trim().replace(r[O],"")}function kr(e,r,t,n,i,s,a,o,f,u,l,p,c){if(mr(t))r="";else if(mr(n))r=">="+t+".0.0";else if(mr(i))r=">="+t+"."+n+".0";else r=">="+r;if(mr(f))o="";else if(mr(u))o="<"+(+f+1)+".0.0";else if(mr(l))o="<"+f+"."+(+u+1)+".0";else if(p)o="<="+f+"."+u+"."+l+"-"+p;else o="<="+o;return(r+" "+o).trim()}cr.prototype.test=function(e){if(!e)return false;if(typeof e==="string")e=new H(e,this.loose);for(var r=0;r<this.set.length;r++){if(Er(this.set[r],e))return true}return false};function Er(e,r){for(var t=0;t<e.length;t++){if(!e[t].test(r))return false}if(r.prerelease.length){for(var t=0;t<e.length;t++){if(e[t].semver===pr)return true;if(e[t].semver.prerelease.length>0){var n=e[t].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return true}}return false}return true}e.satisfies=xr;function xr(e,r,t){try{r=new cr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Rr;function Rr(e,r,t){return e.filter(function(e){return xr(e,r,t)}).sort(function(e,r){return er(e,r,t)})[0]||null}e.validRange=Sr;function Sr(e,r){try{return new cr(e,r).range||"*"}catch(t){return null}}e.ltr=Vr;function Vr(e,r,t){return Tr(e,r,"<",t)}e.gtr=Ir;function Ir(e,r,t){return Tr(e,r,">",t)}e.outside=Tr;function Tr(e,r,t,n){e=new H(e,n);r=new cr(r,n);var i,s,a,o,f;switch(t){case">":i=nr;s=fr;a=ir;o=">";f=">=";break;case"<":i=ir;s=or;a=nr;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(xr(e,r,n)){return false}for(var u=0;u<r.set.length;++u){var l=r.set[u];var p=null;var c=null;l.forEach(function(e){p=p||e;c=c||e;if(i(e.semver,p.semver,n)){p=e}else if(a(e.semver,c.semver,n)){c=e}});if(p.operator===o||p.operator===f){return false}if((!c.operator||c.operator===o)&&s(e,c.semver)){return false}else if(c.operator===f&&a(e,c.semver)){return false}}return true}if(typeof define==="function"&&define.amd)define(e)})(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={});
|
package/semver.min.js.gz
CHANGED
|
Binary file
|
package/test/clean.js
CHANGED
|
@@ -14,7 +14,11 @@ test('\nclean tests', function(t) {
|
|
|
14
14
|
[' =v1.2.3 ', '1.2.3'],
|
|
15
15
|
['v1.2.3', '1.2.3'],
|
|
16
16
|
[' v1.2.3 ', '1.2.3'],
|
|
17
|
-
['\t1.2.3', '1.2.3']
|
|
17
|
+
['\t1.2.3', '1.2.3'],
|
|
18
|
+
['>1.2.3', null],
|
|
19
|
+
['~1.2.3', null],
|
|
20
|
+
['<=1.2.3', null],
|
|
21
|
+
['1.2.x', null]
|
|
18
22
|
].forEach(function(tuple) {
|
|
19
23
|
var range = tuple[0];
|
|
20
24
|
var version = tuple[1];
|
package/test/gtr.js
CHANGED
|
@@ -39,7 +39,7 @@ test('\ngtr tests', function(t) {
|
|
|
39
39
|
['~v0.5.4-pre', '0.6.1-pre'],
|
|
40
40
|
['=0.7.x', '0.8.0'],
|
|
41
41
|
['=0.7.x', '0.8.0-asdf'],
|
|
42
|
-
['
|
|
42
|
+
['<0.7.x', '0.7.0'],
|
|
43
43
|
['~1.2.2', '1.3.0'],
|
|
44
44
|
['1.0.0 - 2.0.0', '2.2.3'],
|
|
45
45
|
['1.0.0', '1.0.1'],
|
|
@@ -66,7 +66,7 @@ test('\ngtr tests', function(t) {
|
|
|
66
66
|
['<1', '1.0.0beta', true],
|
|
67
67
|
['< 1', '1.0.0beta', true],
|
|
68
68
|
['=0.7.x', '0.8.2'],
|
|
69
|
-
['
|
|
69
|
+
['<0.7.x', '0.7.2']
|
|
70
70
|
].forEach(function(tuple) {
|
|
71
71
|
var range = tuple[0];
|
|
72
72
|
var version = tuple[1];
|