From a5cf33e04918bcf2ebf0bac324fbc516ff7694b9 Mon Sep 17 00:00:00 2001 From: "Sakamoto, Kazunori" Date: Sun, 7 Dec 2025 17:05:25 +0900 Subject: [PATCH 1/3] fix: respect explicit wb env --- packages/wb/src/project.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/wb/src/project.ts b/packages/wb/src/project.ts index 621ab55e..555a08d3 100644 --- a/packages/wb/src/project.ts +++ b/packages/wb/src/project.ts @@ -85,13 +85,21 @@ export class Project { get env(): Record { if (!this.loadEnv) return process.env; + const originalEnv = { WB_ENV: process.env.WB_ENV, NODE_ENV: process.env.NODE_ENV }; const [envVars, envPathAndLoadedEnvVarCountPairs] = readEnvironmentVariables(this.argv, this.dirPath); for (const [envPath, count] of envPathAndLoadedEnvVarCountPairs) { console.info(`Loaded ${count} environment variables from ${envPath}`); } // Overwrite environment variables even though this behavior is non-standard // because `bun wb ...` will load .env and .env.local before `wb` loads other variables. - return { ...process.env, ...envVars }; + const mergedEnv: Record = { ...process.env, ...envVars }; + for (const [key, value] of Object.entries(originalEnv)) { + if (value !== undefined) { + // Keep explicitly provided environment selectors so cascading respects the caller's intention. + mergedEnv[key] = value; + } + } + return mergedEnv; } @memoizeOne From 11f4a58e9f9ba44c34f2715f704fa62d61de8cc4 Mon Sep 17 00:00:00 2001 From: "Sakamoto, Kazunori" Date: Sun, 7 Dec 2025 17:31:36 +0900 Subject: [PATCH 2/3] fix: add missing env reader import Co-authored-by: WillBooster (Codex CLI) --- packages/wb/src/project.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/wb/src/project.ts b/packages/wb/src/project.ts index 555a08d3..578cc762 100644 --- a/packages/wb/src/project.ts +++ b/packages/wb/src/project.ts @@ -85,7 +85,6 @@ export class Project { get env(): Record { if (!this.loadEnv) return process.env; - const originalEnv = { WB_ENV: process.env.WB_ENV, NODE_ENV: process.env.NODE_ENV }; const [envVars, envPathAndLoadedEnvVarCountPairs] = readEnvironmentVariables(this.argv, this.dirPath); for (const [envPath, count] of envPathAndLoadedEnvVarCountPairs) { console.info(`Loaded ${count} environment variables from ${envPath}`); @@ -93,11 +92,12 @@ export class Project { // Overwrite environment variables even though this behavior is non-standard // because `bun wb ...` will load .env and .env.local before `wb` loads other variables. const mergedEnv: Record = { ...process.env, ...envVars }; - for (const [key, value] of Object.entries(originalEnv)) { - if (value !== undefined) { - // Keep explicitly provided environment selectors so cascading respects the caller's intention. - mergedEnv[key] = value; - } + // Keep explicitly provided environment selectors so cascading respects the caller's intention. + if (process.env.WB_ENV !== undefined) { + mergedEnv.WB_ENV = process.env.WB_ENV; + } + if (process.env.NODE_ENV !== undefined) { + mergedEnv.NODE_ENV = process.env.NODE_ENV; } return mergedEnv; } From 672d02ddecf21763a29035a18bc2234a224969d7 Mon Sep 17 00:00:00 2001 From: "Sakamoto, Kazunori" Date: Sun, 7 Dec 2025 20:08:55 +0900 Subject: [PATCH 3/3] . --- packages/wb/src/project.ts | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/wb/src/project.ts b/packages/wb/src/project.ts index 578cc762..a09f1397 100644 --- a/packages/wb/src/project.ts +++ b/packages/wb/src/project.ts @@ -89,17 +89,7 @@ export class Project { for (const [envPath, count] of envPathAndLoadedEnvVarCountPairs) { console.info(`Loaded ${count} environment variables from ${envPath}`); } - // Overwrite environment variables even though this behavior is non-standard - // because `bun wb ...` will load .env and .env.local before `wb` loads other variables. - const mergedEnv: Record = { ...process.env, ...envVars }; - // Keep explicitly provided environment selectors so cascading respects the caller's intention. - if (process.env.WB_ENV !== undefined) { - mergedEnv.WB_ENV = process.env.WB_ENV; - } - if (process.env.NODE_ENV !== undefined) { - mergedEnv.NODE_ENV = process.env.NODE_ENV; - } - return mergedEnv; + return { ...envVars, ...process.env }; } @memoizeOne