@tobiastengler/create-relay-app
Version:
Easy configuration of Relay for existing projects
26 lines (25 loc) • 825 B
JavaScript
import { NpmPackageManager } from "./NpmPackageManager.js";
import { PnpmPackageManager } from "./PnpmPackageManager.js";
import { YarnPackageManager } from "./YarnPackageManager.js";
export function getPackageManger(type, cmdRunner, cwd) {
switch (type) {
case "npm":
return new NpmPackageManager(cwd, cmdRunner);
case "yarn":
return new YarnPackageManager(cwd, cmdRunner);
case "pnpm":
return new PnpmPackageManager(cwd, cmdRunner);
}
}
export function getExecutingPackageManager() {
const userAgent = process.env.npm_config_user_agent;
if (userAgent) {
if (userAgent.startsWith("yarn")) {
return "yarn";
}
else if (userAgent.startsWith("pnpm")) {
return "pnpm";
}
}
return "npm";
}