You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ti...@apache.org on 2013/10/21 22:38:04 UTC
git commit: CB-4872 - took out custom version compare and went back
to semver
Updated Branches:
refs/heads/master 0596e47f8 -> 7a22e3674
CB-4872 - took out custom version compare and went back to semver
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/7a22e367
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/7a22e367
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/7a22e367
Branch: refs/heads/master
Commit: 7a22e36742bcaab87512547d3ed2dbe0aa9c0768
Parents: 0596e47
Author: Tim Kim <ti...@adobe.com>
Authored: Mon Oct 21 13:36:21 2013 -0700
Committer: Tim Kim <ti...@adobe.com>
Committed: Mon Oct 21 13:36:52 2013 -0700
----------------------------------------------------------------------
spec/install.spec.js | 24 ++--
spec/util/version-compare.spec.js | 194 ---------------------------------
src/install.js | 19 +++-
src/util/version-compare.js | 136 -----------------------
4 files changed, 29 insertions(+), 344 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/7a22e367/spec/install.spec.js
----------------------------------------------------------------------
diff --git a/spec/install.spec.js b/spec/install.spec.js
index 925c4e8..01fb070 100644
--- a/spec/install.spec.js
+++ b/spec/install.spec.js
@@ -8,7 +8,7 @@ var install = require('../src/install'),
path = require('path'),
shell = require('shelljs'),
child_process = require('child_process'),
- version_compare = require('../src/util/version-compare'),
+ semver = require('semver'),
temp = __dirname,
dummyplugin = 'DummyPlugin',
dummy_id = 'com.phonegap.plugins.dummyplugin',
@@ -91,7 +91,7 @@ describe('install', function() {
expect(spy).toHaveBeenCalledWith('results', 'Plugin "'+dummy_id+'" already installed, \'sall good.');
});
it('should check version if plugin has engine tag', function(){
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
exec.andCallFake(function(cmd, cb) {
cb(null, '2.5.0\n', '');
});
@@ -103,8 +103,8 @@ describe('install', function() {
expect(spy).toHaveBeenCalledWith('2.5.0','>=2.3.0');
});
});
- it('should check version and munge it a little if it has "rc" in it so it plays nice with version_compare (introduce a dash in it)', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ it('should check version and munge it a little if it has "rc" in it so it plays nice with semver (introduce a dash in it)', function() {
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
exec.andCallFake(function(cmd, cb) {
cb(null, '3.0.0rc1\n');
});
@@ -117,7 +117,7 @@ describe('install', function() {
});
});
it('should check specific platform version over cordova version if specified', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
exec.andCallFake(function(cmd, cb) {
cb(null, '3.1.0\n', '');
});
@@ -130,7 +130,7 @@ describe('install', function() {
});
});
it('should check platform sdk version if specified', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
exec.andCallFake(function(cmd, cb) {
cb(null, '18\n', '');
});
@@ -139,11 +139,11 @@ describe('install', function() {
});
waitsFor(function() { return done; }, 'install promise never resolved', 500);
runs(function() {
- expect(spy).toHaveBeenCalledWith('18','>=18');
+ expect(spy).toHaveBeenCalledWith('18.0.0','>=18');
});
});
it('should check plugmans version', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
runs(function() {
installPromise(install('android', temp, 'engineplugin', plugins_dir, {}));
});
@@ -153,7 +153,7 @@ describe('install', function() {
});
});
it('should check custom engine version', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
runs(function() {
installPromise(install('android', temp, 'engineplugin', plugins_dir, {}));
});
@@ -163,7 +163,7 @@ describe('install', function() {
});
});
it('should check custom engine version that supports multiple platforms', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
runs(function() {
installPromise(install('android', temp, 'engineplugin', plugins_dir, {}));
});
@@ -173,7 +173,7 @@ describe('install', function() {
});
});
it('should not check custom engine version that is not supported for platform', function() {
- var spy = spyOn(version_compare, 'satisfies').andReturn(true);
+ var spy = spyOn(semver, 'satisfies').andReturn(true);
runs(function() {
installPromise(install('blackberry10', temp, 'engineplugin', plugins_dir, {}));
});
@@ -302,7 +302,7 @@ describe('install', function() {
});
});
it('should throw if plugin version is less than the minimum requirement', function(){
- var spy = spyOn(version_compare, 'satisfies').andReturn(false);
+ var spy = spyOn(semver, 'satisfies').andReturn(false);
exec.andCallFake(function(cmd, cb) {
cb(null, '0.0.1\n', '');
});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/7a22e367/spec/util/version-compare.spec.js
----------------------------------------------------------------------
diff --git a/spec/util/version-compare.spec.js b/spec/util/version-compare.spec.js
deleted file mode 100644
index b7ec60c..0000000
--- a/spec/util/version-compare.spec.js
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-var version_compare = require('../../src/util/version-compare');
-describe('version-compare', function(){
- describe('=', function() {
- it('should satisfy', function(){
- expect(version_compare.satisfies('0','0')).toBe(true);
- expect(version_compare.satisfies('0.0','0.0')).toBe(true);
- expect(version_compare.satisfies('0.0.0','0.0.0')).toBe(true);
- expect(version_compare.satisfies('0','1')).toBe(false);
- expect(version_compare.satisfies('0.0','0.1')).toBe(false);
- expect(version_compare.satisfies('0.0.0','0.0.1')).toBe(false);
- });
-
- });
- describe('<', function() {
- it('should satisfy', function(){
- expect(version_compare.satisfies('0','<1')).toBe(true);
- expect(version_compare.satisfies('0','<0')).toBe(false);
- expect(version_compare.satisfies('1','<0')).toBe(false);
-
- expect(version_compare.satisfies('0.0','<1.0')).toBe(true);
- expect(version_compare.satisfies('0.1','<1.0')).toBe(true);
- expect(version_compare.satisfies('0.1','<0.1')).toBe(false);
- expect(version_compare.satisfies('0.0','<0.1')).toBe(true);
- expect(version_compare.satisfies('0.0','<0.0')).toBe(false);
- expect(version_compare.satisfies('1.0','<1.0')).toBe(false);
- expect(version_compare.satisfies('1.1','<1.0')).toBe(false);
- expect(version_compare.satisfies('1.1','<0.1')).toBe(false);
- expect(version_compare.satisfies('1.0','<0.1')).toBe(false);
- expect(version_compare.satisfies('1.0','<0.0')).toBe(false);
-
- expect(version_compare.satisfies('0.0.0','<1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.1.0','<1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.0.1','<1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.1.1','<1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<0.1.0')).toBe(true);
- expect(version_compare.satisfies('0.0.1','<0.1.0')).toBe(true);
- expect(version_compare.satisfies('0.1.0','<0.2.0')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<0.0.1')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<0.0.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<1.0.1')).toBe(true);
- expect(version_compare.satisfies('1.1.0','<1.0.1')).toBe(false);
- expect(version_compare.satisfies('1.0.1','<1.1.0')).toBe(true);
- expect(version_compare.satisfies('1.1.1','<1.0.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<0.1.0')).toBe(false);
- expect(version_compare.satisfies('1.0.1','<0.1.0')).toBe(false);
- expect(version_compare.satisfies('1.1.0','<0.2.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<0.0.1')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<0.0.0')).toBe(false);
- });
- });
- describe('<=', function() {
- it('should satisfy', function(){
- expect(version_compare.satisfies('0','<=1')).toBe(true);
- expect(version_compare.satisfies('0','<=0')).toBe(true);
- expect(version_compare.satisfies('1','<=0')).toBe(false);
-
- expect(version_compare.satisfies('0.0','<=1.0')).toBe(true);
- expect(version_compare.satisfies('0.1','<=1.0')).toBe(true);
- expect(version_compare.satisfies('0.1','<=0.1')).toBe(true);
- expect(version_compare.satisfies('0.0','<=0.1')).toBe(true);
- expect(version_compare.satisfies('0.0','<=0.0')).toBe(true);
- expect(version_compare.satisfies('1.0','<=1.0')).toBe(true);
- expect(version_compare.satisfies('1.1','<=1.0')).toBe(false);
- expect(version_compare.satisfies('1.1','<=0.1')).toBe(false);
- expect(version_compare.satisfies('1.0','<=0.1')).toBe(false);
- expect(version_compare.satisfies('1.0','<=0.0')).toBe(false);
-
- expect(version_compare.satisfies('0.0.0','<=1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.1.0','<=1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.0.1','<=1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.1.1','<=1.0.0')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<=0.1.0')).toBe(true);
- expect(version_compare.satisfies('0.0.1','<=0.1.0')).toBe(true);
- expect(version_compare.satisfies('0.1.0','<=0.2.0')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<=0.0.1')).toBe(true);
- expect(version_compare.satisfies('0.0.0','<=0.0.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','<=1.0.1')).toBe(true);
- expect(version_compare.satisfies('1.1.0','<=1.0.1')).toBe(false);
- expect(version_compare.satisfies('1.0.1','<=1.1.0')).toBe(true);
- expect(version_compare.satisfies('1.1.1','<=1.0.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<=0.1.0')).toBe(false);
- expect(version_compare.satisfies('1.0.1','<=0.1.0')).toBe(false);
- expect(version_compare.satisfies('1.1.0','<=0.2.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<=0.0.1')).toBe(false);
- expect(version_compare.satisfies('1.0.0','<=0.0.0')).toBe(false);
- });
- });
-
- describe('>', function() {
- it('should satisfy', function(){
- expect(version_compare.satisfies('0','>1')).toBe(false);
- expect(version_compare.satisfies('0','>0')).toBe(false);
- expect(version_compare.satisfies('1','>0')).toBe(true);
-
- expect(version_compare.satisfies('0.0','>1.0')).toBe(false);
- expect(version_compare.satisfies('0.1','>1.0')).toBe(false);
- expect(version_compare.satisfies('0.1','>0.1')).toBe(false);
- expect(version_compare.satisfies('0.0','>0.1')).toBe(false);
- expect(version_compare.satisfies('0.0','>0.0')).toBe(false);
- expect(version_compare.satisfies('1.0','>1.0')).toBe(false);
- expect(version_compare.satisfies('1.1','>1.0')).toBe(true);
- expect(version_compare.satisfies('1.1','>0.1')).toBe(true);
- expect(version_compare.satisfies('1.0','>0.1')).toBe(true);
- expect(version_compare.satisfies('1.0','>0.0')).toBe(true);
-
- expect(version_compare.satisfies('0.0.0','>1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.1.0','>1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.0.1','>1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.1.1','>1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>0.1.0')).toBe(false);
- expect(version_compare.satisfies('0.0.1','>0.1.0')).toBe(false);
- expect(version_compare.satisfies('0.1.0','>0.2.0')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>0.0.1')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>0.0.0')).toBe(false);
- expect(version_compare.satisfies('1.0.0','>1.0.1')).toBe(false);
- expect(version_compare.satisfies('1.1.0','>1.0.1')).toBe(true);
- expect(version_compare.satisfies('1.0.1','>1.1.0')).toBe(false);
- expect(version_compare.satisfies('1.1.1','>1.0.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>0.1.0')).toBe(true);
- expect(version_compare.satisfies('1.0.1','>0.1.0')).toBe(true);
- expect(version_compare.satisfies('1.1.0','>0.2.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>0.0.1')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>0.0.0')).toBe(true);
- });
- });
- describe('>=', function() {
- it('should satisfy', function(){
- expect(version_compare.satisfies('0','>=1')).toBe(false);
- expect(version_compare.satisfies('0','>=0')).toBe(true);
- expect(version_compare.satisfies('1','>=0')).toBe(true);
-
- expect(version_compare.satisfies('0.0','>=1.0')).toBe(false);
- expect(version_compare.satisfies('0.1','>=1.0')).toBe(false);
- expect(version_compare.satisfies('0.1','>=0.1')).toBe(true);
- expect(version_compare.satisfies('0.0','>=0.1')).toBe(false);
- expect(version_compare.satisfies('0.0','>=0.0')).toBe(true);
- expect(version_compare.satisfies('1.0','>=1.0')).toBe(true);
- expect(version_compare.satisfies('1.1','>=1.0')).toBe(true);
- expect(version_compare.satisfies('1.1','>=0.1')).toBe(true);
- expect(version_compare.satisfies('1.0','>=0.1')).toBe(true);
- expect(version_compare.satisfies('1.0','>=0.0')).toBe(true);
-
- expect(version_compare.satisfies('0.0.0','>=1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.1.0','>=1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.0.1','>=1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.1.1','>=1.0.0')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>=0.1.0')).toBe(false);
- expect(version_compare.satisfies('0.0.1','>=0.1.0')).toBe(false);
- expect(version_compare.satisfies('0.1.0','>=0.2.0')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>=0.0.1')).toBe(false);
- expect(version_compare.satisfies('0.0.0','>=0.0.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>=1.0.1')).toBe(false);
- expect(version_compare.satisfies('1.1.0','>=1.0.1')).toBe(true);
- expect(version_compare.satisfies('1.0.1','>=1.1.0')).toBe(false);
- expect(version_compare.satisfies('1.1.1','>=1.0.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>=0.1.0')).toBe(true);
- expect(version_compare.satisfies('1.0.1','>=0.1.0')).toBe(true);
- expect(version_compare.satisfies('1.1.0','>=0.2.0')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>=0.0.1')).toBe(true);
- expect(version_compare.satisfies('1.0.0','>=0.0.0')).toBe(true);
- });
- });
-
- describe('incorrect formats', function(){
- it('should throw an error with no version string', function(){
- expect(function(){version_compare.satisfies('','')}).toThrow(new Error('No version string detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.'));
- expect(function(){version_compare.satisfies('1','')}).toThrow(new Error('No version string detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.'));
- expect(function(){version_compare.satisfies('','1')}).toThrow(new Error('No version string detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.'));
- });
- it('should throw an error with differing version format', function(){
- expect(function(){version_compare.satisfies('1','1.0')}).toThrow(new Error('Different version string format detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.'));
- expect(function(){version_compare.satisfies('1','1.0.0')}).toThrow(new Error('Different version string format detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.'));
- });
-
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/7a22e367/src/install.js
----------------------------------------------------------------------
diff --git a/src/install.js b/src/install.js
index b3a7498..550e0c5 100644
--- a/src/install.js
+++ b/src/install.js
@@ -5,7 +5,7 @@ var path = require('path'),
action_stack = require('./util/action-stack'),
shell = require('shelljs'),
child_process = require('child_process'),
- version_compare = require('./util/version-compare'),
+ semver = require('semver'),
config_changes = require('./util/config-changes'),
xml_helpers = require('./util/xml-helpers'),
Q = require('q'),
@@ -63,7 +63,7 @@ function possiblyFetch(actions, platform, project_dir, id, plugins_dir, options)
function checkEngines(engines) {
for(var i = 0; i < engines.length; i++) {
var engine = engines[i];
- if(version_compare.satisfies(engine.currentVersion, engine.minVersion) || engine.currentVersion == null){
+ if(semver.satisfies(engine.currentVersion, engine.minVersion) || engine.currentVersion == null){
// engine ok!
}else{
return Q.reject(new Error('Plugin doesn\'t support this project\'s '+engine.name+' version. '+engine.name+': ' + engine.currentVersion + ', failed version requirement: ' + engine.minVersion));
@@ -91,6 +91,21 @@ function cleanVersionOutput(version, name){
}
require('../plugman').emit('verbose', name+' has been detected as using a development branch. Attemping to install anyways.');
}
+
+ // add extra period/digits to conform to semver - some version scripts will output
+ // just a major or major minor version number
+ var majorReg = /\d+/,
+ minorReg = /\d+\.\d+/,
+ patchReg = /\d+\.\d+\.\d+/;
+
+ if(patchReg.test(out)){
+
+ }else if(minorReg.test(out)){
+ out = out.match(minorReg)[0]+'.0';
+ }else if(majorReg.test(out)){
+ out = out.match(majorReg)[0]+'.0.0';
+ }
+
return out;
}
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/7a22e367/src/util/version-compare.js
----------------------------------------------------------------------
diff --git a/src/util/version-compare.js b/src/util/version-compare.js
deleted file mode 100644
index 625a97c..0000000
--- a/src/util/version-compare.js
+++ /dev/null
@@ -1,136 +0,0 @@
-function getVersionObject(versionString){
- var majorReg = /\d+/,
- minorReg = /\d+\.\d+/,
- patchReg = /\d+\.\d+\.\d+/;
-
- var major = null,
- minor = null,
- patch = null;
-
- if(majorReg.test(versionString)){
- major = parseInt(versionString.match(majorReg)[0]);
- }else{
- throw new Error('No version string detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.');
- }
-
- if(minorReg.test(versionString)){
- minor = parseInt(versionString.match(minorReg)[0].split('.')[1]);
- }
-
- if(patchReg.test(versionString)){
- patch = parseInt(versionString.match(patchReg)[0].split('.')[2]);
- }
- return {
- major: major,
- minor: minor,
- patch: patch
- }
-}
-
-function getComparator(versionString){
- var compareReg = /^(<|>)=?/;
- var comparator;
-
- if(compareReg.test(versionString)){
- comparator = versionString.match(compareReg)[0];
- }else{
- comparator = '=';
- }
- return comparator;
-}
-
-function compare(numOne, numTwo, comparator){
- switch (comparator){
- case '<':
- return (numOne < numTwo);
- break;
-
- case '<=':
- return (numOne <= numTwo);
- break;
-
- case '>':
- return (numOne > numTwo);
- break;
-
- case '>=':
- return (numOne >= numTwo);
- break;
-
- default:
- return (numOne == numTwo);
- }
-}
-
-function checkVersionFormat(versionOut, versionRange){
- var majorOk = false,
- minorOk = false,
- patchOk = false;
-
- if(versionOut.major!=null && versionRange.major!=null){
- majorOk = true;
- }
-
- if(versionOut.minor!=null && versionRange.minor!=null){
- minorOk = true;
- }else if((versionOut.minor!=null && versionRange.minor==null) || (versionOut.minor==null && versionRange.minor!=null)){
- throw new Error('Different version string format detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.');
- }
-
- if(versionOut.patch!=null && versionRange.patch!=null){
- patchOk = true;
- }else if((versionOut.patch!=null && versionRange.patch==null) || (versionOut.patch==null && versionRange.patch!=null)){
- throw new Error('Different version string format detected. Unable to compare to versions. Please check the output from your version script and the engine tag in your plugin.xml.');
- }
-
- if(majorOk && minorOk && patchOk){
- return 'toPatch';
- }else if(majorOk && minorOk && !patchOk){
- return 'toMinor';
- }else if(majorOk && !minorOk && !patchOk){
- return 'toMajor';
- }
-}
-
-function satisfy(versionOut, versionRange, comparator){
- var format = checkVersionFormat(versionOut, versionRange);
-
- switch(format){
- case 'toMajor':
- return compare(versionOut.major, versionRange.major, comparator);
- break;
-
- case 'toMinor':
- if(compare(versionOut.major, versionRange.major, '=')){
- return compare(versionOut.minor, versionRange.minor, comparator);
- }else{
- return compare(versionOut.major, versionRange.major, comparator);
- }
-
- break;
-
- case 'toPatch':
- if(compare(versionOut.major, versionRange.major, '=')){
- if(compare(versionOut.minor, versionRange.minor, '=')){
- return compare(versionOut.patch, versionRange.patch, comparator);
- }else{
- return compare(versionOut.minor, versionRange.minor, comparator);
- }
- }else{
- return compare(versionOut.major, versionRange.major, comparator);
- }
- break;
- }
-}
-
-module.exports = {
- satisfies: function(versionOut, versionRange){
- var theVersionOut = getVersionObject(versionOut);
- var theVersionRange = getVersionObject(versionRange);
- var comparator = getComparator(versionRange);
-
- return satisfy(theVersionOut, theVersionRange, comparator);
- }
-}
-
-