UNPKG

sharechat-setup

Version:

A generic cli to setup mundane node tasks

29 lines (26 loc) 843 B
export enum PackageManager { npm ="npm", yarn = "yarn", pnpm = "pnpm" } export const InstallationDependenciesMap: Record<PackageManager,(arg:string)=>string>= { npm:(command:string)=>`npm i -D ${command}`, yarn:(command:string)=>`yarn add -D ${command}`, pnpm:(command:string)=>`pnpm i -D ${command}` } as const export const getUserPkgManager: () => PackageManager = () => { // This environment variable is set by npm and yarn but pnpm seems less consistent const userAgent = process.env.npm_config_user_agent; if (userAgent) { if (userAgent.startsWith("yarn")) { return PackageManager.yarn } else if (userAgent.startsWith("pnpm")) { return PackageManager.pnpm } else { return PackageManager.npm } } else { // If no user agent is set, assume npm return PackageManager.npm } };