From 7b75364f955d20920477b20b78d517331823ab11 Mon Sep 17 00:00:00 2001 From: gonzaloriestra <14979109+gonzaloriestra@users.noreply.github.com> Date: Wed, 8 Jul 2026 00:41:58 +0000 Subject: [PATCH] [Refactor] Improve packageManagerFromUserAgent readability Refactors the imperative if/else chain to a declarative .find() approach. --- .../cli-kit/src/public/node/node-package-manager.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/cli-kit/src/public/node/node-package-manager.ts b/packages/cli-kit/src/public/node/node-package-manager.ts index c2335b46d9d..33cfe864658 100644 --- a/packages/cli-kit/src/public/node/node-package-manager.ts +++ b/packages/cli-kit/src/public/node/node-package-manager.ts @@ -95,16 +95,8 @@ export class FindUpAndReadPackageJsonNotFoundError extends BugError { * @returns The dependency manager */ export function packageManagerFromUserAgent(env = process.env): PackageManager { - if (env.npm_config_user_agent?.includes('yarn')) { - return 'yarn' - } else if (env.npm_config_user_agent?.includes('pnpm')) { - return 'pnpm' - } else if (env.npm_config_user_agent?.includes('bun')) { - return 'bun' - } else if (env.npm_config_user_agent?.includes('npm')) { - return 'npm' - } - return 'unknown' + const userAgent = env.npm_config_user_agent + return (['yarn', 'pnpm', 'bun', 'npm'] as const).find((pm) => userAgent?.includes(pm)) ?? 'unknown' } function hasBunLockfileSync(directory: string): boolean {