Skip to content

Commit bec79d4

Browse files
authored
Merge pull request #6000 from Shopify/env-flag
Handle SHOPIFY_FLAG_ENVIRONMENT correctly when passed as an environment variable
2 parents b0490df + 0edf793 commit bec79d4

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

.changeset/cuddly-rocks-push.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@shopify/cli-kit': patch
3+
---
4+
5+
Fix issue where SHOPIFY_FLAG_ENVIRONMENT was not being used correctly when passed as an environment variable

packages/cli-kit/src/public/node/base-command.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,13 @@ This flag is required in non-interactive terminal environments, such as a CI env
140140
if (!environmentsFileName) return originalResult
141141

142142
const environmentFileExists = await environmentFilePath(environmentsFileName, {from: flags.path})
143-
const environments = flags.environment ?? []
143+
144+
// Handle both string and array cases for environment flag
145+
let environments: string[] = []
146+
if (flags.environment) {
147+
environments = Array.isArray(flags.environment) ? flags.environment : [flags.environment]
148+
}
149+
144150
const environmentSpecified = environments.length > 0
145151

146152
// Noop if no environment file exists and none was specified
@@ -175,7 +181,7 @@ This flag is required in non-interactive terminal environments, such as a CI env
175181
reportEnvironmentApplication<TFlags, TGlobalFlags, TArgs>(
176182
noDefaultsResult.flags,
177183
result.flags,
178-
isDefaultEnvironment ? 'default' : (flags.environment?.[0] as string),
184+
isDefaultEnvironment ? 'default' : (environments[0] as string),
179185
environment,
180186
)
181187

0 commit comments

Comments
 (0)