Skip to content

Commit 7fd7676

Browse files
committed
fix: accept multiple env vars
1 parent 3f48e9f commit 7fd7676

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

libs/common-utils/src/environmentConfig.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,32 @@ function isEnvironmentName(value: string, environments: readonly string[]): bool
22
return environments.includes(value)
33
}
44

5-
export function getConfiguredEnvironmentNameFromEnvVars<TEnvironmentName extends string>(
5+
function getEnvironmentVariable(envVarName: string): string | undefined {
6+
switch (envVarName) {
7+
case 'REACT_APP_ENVIRONMENT':
8+
// For React apps
9+
return process.env.REACT_APP_ENVIRONMENT
10+
case 'NEXT_PUBLIC_ENVIRONMENT':
11+
// For Next.js apps
12+
return process.env.NEXT_PUBLIC_ENVIRONMENT
13+
default:
14+
return process.env[envVarName]
15+
}
16+
}
17+
18+
export function getConfiguredEnvironmentNameFromEnvVars<EnvName extends string>(
619
envVarNames: readonly string[],
7-
environments: readonly TEnvironmentName[],
8-
): TEnvironmentName {
20+
environments: readonly EnvName[],
21+
): EnvName {
922
for (const envVarName of envVarNames) {
10-
const env = process.env[envVarName]?.trim().toLowerCase()
23+
const env = getEnvironmentVariable(envVarName)?.trim().toLowerCase()
1124

1225
if (env) {
1326
if (!isEnvironmentName(env, environments)) {
1427
throw new Error(`Invalid ${envVarName}="${env}". Expected one of: ${environments.join(', ')}`)
1528
}
1629

17-
return env as TEnvironmentName
30+
return env as EnvName
1831
}
1932
}
2033

0 commit comments

Comments
 (0)