@tobiastengler/create-relay-app
Version:
Easy configuration of Relay for existing projects
24 lines (23 loc) • 708 B
JavaScript
export class NpmPackageManager {
constructor(cwd, cmdRunner) {
this.cwd = cwd;
this.cmdRunner = cmdRunner;
this.id = "npm";
}
addDependency(packages) {
return this.installDependency(packages, false);
}
addDevDependency(packages) {
return this.installDependency(packages, true);
}
installDependency(packages, isDevDependency) {
const args = ["install", isDevDependency ? "--save-dev" : "--save", "--legacy-peer-deps"];
if (typeof packages === "string") {
args.push(packages);
}
else {
args.push(...packages);
}
return this.cmdRunner.run("npm", args, this.cwd);
}
}