Skip to content

Commit c5ba18c

Browse files
committed
Support npm instead of only yarn
1 parent 931e0c9 commit c5ba18c

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

src/index.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)