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);
-    }
-}
-
-