11var Promise = require ( 'bluebird' )
2+ , lodash = require ( 'lodash' )
23 , path = require ( 'path' )
34 , async = require ( 'async' )
45 , fs = require ( 'fs' )
@@ -17,7 +18,7 @@ function installPeerModules(project, dependencies, projectDir) {
1718
1819 return new Promise ( function ( resolve , reject ) {
1920 projectDir = typeof projectDir !== 'undefined' ? projectDir : project ;
20- dependencies = Array . isArray ( dependencies ) ? dependencies : [ dependencies ] ;
21+ dependencies = lodash . pairs ( dependencies ) ;
2122
2223 // @todo refactor this
2324 if ( dependencies . length < 1 ) {
@@ -29,7 +30,7 @@ function installPeerModules(project, dependencies, projectDir) {
2930 async . filter (
3031 dependencies ,
3132 function filterAlreadyInstalledModules ( dependency , moduleIsInstalled ) {
32- fs . exists ( path . join ( projectDir , Object . keys ( dependency ) [ 0 ] ) , function IsModuleInModulesFolder ( exists ) {
33+ fs . exists ( path . join ( projectDir , dependency [ 0 ] ) , function IsModuleInModulesFolder ( exists ) {
3334 moduleIsInstalled ( ! exists ) ;
3435 } ) ;
3536 } ,
@@ -39,10 +40,7 @@ function installPeerModules(project, dependencies, projectDir) {
3940 }
4041
4142 modulesToInstall = modulesToInstall . map ( function ( dependency ) {
42- var dependencyName = Object . keys ( dependency ) [ 0 ]
43- , dependencyVersion = dependency [ dependencyName ] ;
44-
45- return dependencyName + '@' + dependencyVersion ;
43+ return dependency . join ( '@' ) ;
4644 } ) ;
4745
4846 lib
0 commit comments