getPackageManager.ts 671 B

1234567891011121314151617181920212223242526
  1. export type PackageManager = "npm" | "yarn" | "pnpm";
  2. export function getPackageManager(): PackageManager {
  3. // For now, we only support pnpm.
  4. return "pnpm";
  5. }
  6. export function getPackageManagerCommand(
  7. packageManager: PackageManager,
  8. scriptName: string,
  9. args?: string
  10. ) {
  11. if (scriptName === "install") {
  12. return packageManager === "yarn" ? "yarn" : `${packageManager} install`;
  13. }
  14. if (args) {
  15. return packageManager === "npm"
  16. ? `npm run ${scriptName} -- ${args}`
  17. : `${packageManager} ${scriptName} ${args}`;
  18. } else {
  19. return packageManager === "npm"
  20. ? `npm run ${scriptName}`
  21. : `${packageManager} ${scriptName}`;
  22. }
  23. }