@@ -7,8 +7,8 @@ var mvm = require('../'),
77 pkg = require ( '../package.json' ) ,
88 argv = docopt ( fs . readFileSync ( __dirname + '/m.docopt' , 'utf-8' ) , { version : pkg . version } ) ,
99 spawn = require ( 'child_process' ) . spawn ,
10- without = require ( 'lodash.without ' ) ,
11- pluck = require ( 'lodash.pluck ' ) ;
10+ _ = require ( 'underscore ' ) ,
11+ debug = require ( 'debug' ) ( 'mongodb-version-manager ') ;
1212
1313function printVersions ( versions , fn ) {
1414 mvm . current ( function ( err , current ) {
@@ -27,18 +27,11 @@ function printVersions(versions, fn){
2727 } ) ;
2828}
2929
30- var abort = function ( err ) {
31- console . error ( err ) ;
32- process . exit ( 1 ) ;
30+ var abortIfError = function ( err ) {
31+ if ( err ) return console . error ( err ) && process . exit ( 1 ) ;
3332} ;
3433
3534var commands = {
36- show : function ( opts ) {
37- mvm . resolve ( opts , function ( err , v ) {
38- if ( err ) return abort ( err ) ;
39- console . log ( argv [ '--url' ] ? v . url : v . version ) ;
40- } ) ;
41- } ,
4235 available : function ( ) {
4336 var title = '' ;
4437 if ( ! argv [ '--rc' ] && ! argv [ '--stable' ] && ! argv [ '--unstable' ] ) {
@@ -66,20 +59,20 @@ var commands = {
6659 } ;
6760
6861 mvm . installed ( function ( err , installed ) {
69- if ( err ) return abort ( err ) ;
62+ abortIfError ( err ) ;
7063
7164 mvm . available ( opts , function ( err , versions ) {
72- if ( err ) return abort ( err ) ;
65+ abortIfError ( err ) ;
7366
7467 if ( opts . pokemon ) {
7568 console . log ( title + ' versions you haven\'t installed yet:' ) ;
76- versions = without ( versions , pluck ( installed , 'version' ) ) ;
69+ versions = _ . without ( versions , _ . pluck ( installed , 'version' ) ) ;
7770 }
7871 else {
7972 console . log ( title + ' versions you haven\'t installed yet:' ) ;
8073 }
8174 printVersions ( versions , function ( err ) {
82- if ( err ) abort ( err ) ;
75+ abortIfError ( err ) ;
8376 } ) ;
8477 } ) ;
8578 } ) ;
@@ -102,16 +95,16 @@ var commands = {
10295 } ,
10396 use : function ( opts ) {
10497 mvm . use ( opts , function ( err ) {
105- if ( err ) return abort ( err ) ;
98+ abortIfError ( err ) ;
10699 mvm . current ( function ( err , v ) {
107- if ( err ) return abort ( err ) ;
100+ abortIfError ( err ) ;
108101 console . log ( 'switched to ' + v ) ;
109102 } ) ;
110103 } ) ;
111104 } ,
112- _default : function ( ) {
105+ list : function ( ) {
113106 mvm . installed ( function ( err , versions ) {
114- if ( err ) return abort ( err ) ;
107+ abortIfError ( err ) ;
115108
116109 if ( versions . length > 0 ) {
117110 return printVersions ( versions , function ( err ) {
@@ -122,7 +115,7 @@ var commands = {
122115 console . log ( '0 versions installed. Run one of:' ) ;
123116
124117 mvm . resolve ( [ { version : 'unstable' } , { version : 'stable' } ] , function ( err , data ) {
125- if ( err ) return abort ( err ) ;
118+ abortIfError ( err ) ;
126119
127120 console . log ( ' m use stable; # installs MongoDB v' + data . stable . version ) ;
128121 console . log ( ' m use unstable; # installs MongoDB v' + data . unstable . version ) ;
@@ -138,6 +131,7 @@ var opts = {
138131
139132var cmd = Object . keys ( commands ) . filter ( function ( name ) {
140133 return argv [ name ] === true ;
141- } ) [ 0 ] || ( argv [ '<v>' ] ? 'show' : '_default' ) ;
134+ } ) [ 0 ] || ( argv [ '<v>' ] ? 'use' : 'list' ) ;
135+ debug ( 'cmd is `%s` with opts `%j`' , cmd , opts ) ;
142136
143137commands [ cmd ] ( opts ) ;
0 commit comments