@@ -91,31 +91,36 @@ const run = async args => {
9191 }
9292 ] ) ;
9393
94- const json = await runCommand ( {
95- cmd : `yarn info ${ targetDependency } versions --json` ,
94+ const availableVersions = await runCommand ( {
95+ cmd : `npm info ${ targetDependency } versions --json` ,
9696 startMessage : `Fetching package information for "${ targetDependency } "` ,
9797 logOutput : false
9898 } ) ;
9999
100- const { data : availableVersions } = JSON . parse ( json ) ;
101-
102100 const targetVersionAnswers = await inquirer . prompt ( [
103101 {
104102 type : "list" ,
105103 name : "targetVersion" ,
106104 message : "Select version to install:" ,
107105 pageSize : 10 ,
108- choices : availableVersions . map ( version => ( { name : version } ) ) . reverse ( )
106+ choices : JSON . parse ( availableVersions )
107+ . map ( version => ( { name : version } ) )
108+ . reverse ( )
109109 }
110110 ] ) ;
111111
112112 const { targetVersion } = targetVersionAnswers ;
113113 const { targetPackages } = targetPackagesAnswers ;
114114
115115 for ( let pack of targetPackages ) {
116- const installCmd = `yarn add ${ targetDependency } @${ targetVersion } ` ;
116+ const packDir = resolve ( packagesDir , pack ) ;
117+
118+ const installCmd = ( await fileExists ( resolve ( packDir , "yarn.lock" ) ) )
119+ ? `yarn add ${ targetDependency } @${ targetVersion } `
120+ : `npm install --save ${ targetDependency } @${ targetVersion } ` ;
121+
117122 await runCommand ( {
118- cmd : `cd ${ resolve ( packagesDir , pack ) } && ${ installCmd } ` ,
123+ cmd : `cd ${ packDir } && ${ installCmd } ` ,
119124 startMessage : `${ chalk . white . bold ( pack ) } : ${ installCmd } ` ,
120125 endMessage : chalk . green ( `${ pack } ✓` )
121126 } ) ;
0 commit comments