From e4ca866fec63d9194a096d63cbb96cd3cea3a058 Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Thu, 13 Mar 2025 14:50:47 +0100 Subject: [PATCH] fix: install --prod=false (#9278) close #9233 --- .changeset/fresh-rooms-relate.md | 6 ++++++ config/config/src/index.ts | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 .changeset/fresh-rooms-relate.md diff --git a/.changeset/fresh-rooms-relate.md b/.changeset/fresh-rooms-relate.md new file mode 100644 index 0000000000..a9163e068c --- /dev/null +++ b/.changeset/fresh-rooms-relate.md @@ -0,0 +1,6 @@ +--- +"@pnpm/config": patch +"pnpm": patch +--- + +`pnpm install --prod=false` should not crash, when executed in a project with a `pnpm-workspace.yaml` file [#9233](https://github.com/pnpm/pnpm/issues/9233). This fixes regression introduced via [#9211](https://github.com/pnpm/pnpm/pull/9211). diff --git a/config/config/src/index.ts b/config/config/src/index.ts index 8a45774d9a..86ce17754e 100644 --- a/config/config/src/index.ts +++ b/config/config/src/index.ts @@ -346,18 +346,6 @@ export async function getConfig (opts: { pnpmConfig.packageManager = packageManager - if (pnpmConfig.only === 'prod' || pnpmConfig.only === 'production' || !pnpmConfig.only && pnpmConfig.production) { - pnpmConfig.production = true - pnpmConfig.dev = false - } else if (pnpmConfig.only === 'dev' || pnpmConfig.only === 'development' || pnpmConfig.dev) { - pnpmConfig.production = false - pnpmConfig.dev = true - pnpmConfig.optional = false - } else { - pnpmConfig.production = true - pnpmConfig.dev = true - } - if (typeof pnpmConfig.filter === 'string') { pnpmConfig.filter = (pnpmConfig.filter as string).split(' ') } @@ -511,6 +499,18 @@ export async function getConfig (opts: { pnpmConfig.failedToLoadBuiltInConfig = failedToLoadBuiltInConfig + if (pnpmConfig.only === 'prod' || pnpmConfig.only === 'production' || !pnpmConfig.only && pnpmConfig.production) { + pnpmConfig.production = true + pnpmConfig.dev = false + } else if (pnpmConfig.only === 'dev' || pnpmConfig.only === 'development' || pnpmConfig.dev) { + pnpmConfig.production = false + pnpmConfig.dev = true + pnpmConfig.optional = false + } else { + pnpmConfig.production = true + pnpmConfig.dev = true + } + return { config: pnpmConfig, warnings } }