diff --git a/packages/backend-common/src/config.ts b/packages/backend-common/src/config.ts index d63f5171d3..2295a8f943 100644 --- a/packages/backend-common/src/config.ts +++ b/packages/backend-common/src/config.ts @@ -23,6 +23,7 @@ import { loadConfig } from '@backstage/config-loader'; export async function loadBackendConfig() { const paths = findPaths(__dirname); const configs = await loadConfig({ + env: process.env.NODE_ENV, rootPaths: [paths.targetDir, paths.targetRoot], shouldReadSecrets: true, }); diff --git a/packages/cli/src/commands/app/build.ts b/packages/cli/src/commands/app/build.ts index 81eec7a32b..12ea362063 100644 --- a/packages/cli/src/commands/app/build.ts +++ b/packages/cli/src/commands/app/build.ts @@ -22,6 +22,7 @@ import { buildBundle } from '../../lib/bundler'; export default async (cmd: Command) => { const appConfigs = await loadConfig({ + env: 'production', rootPaths: [paths.targetDir, paths.targetRoot], }); await buildBundle({ diff --git a/packages/cli/src/commands/app/serve.ts b/packages/cli/src/commands/app/serve.ts index f4069ca9fa..b372663f09 100644 --- a/packages/cli/src/commands/app/serve.ts +++ b/packages/cli/src/commands/app/serve.ts @@ -22,6 +22,7 @@ import { serveBundle } from '../../lib/bundler'; export default async (cmd: Command) => { const appConfigs = await loadConfig({ + env: 'development', rootPaths: [paths.targetDir, paths.targetRoot], }); const waitForExit = await serveBundle({ diff --git a/packages/cli/src/commands/backend/dev.ts b/packages/cli/src/commands/backend/dev.ts index 8d5e6339dc..cbea2c60cc 100644 --- a/packages/cli/src/commands/backend/dev.ts +++ b/packages/cli/src/commands/backend/dev.ts @@ -22,6 +22,7 @@ import { serveBackend } from '../../lib/bundler/backend'; export default async (cmd: Command) => { const appConfigs = await loadConfig({ + env: 'development', rootPaths: [paths.targetDir, paths.targetRoot], }); const waitForExit = await serveBackend({ diff --git a/packages/cli/src/commands/plugin/export.ts b/packages/cli/src/commands/plugin/export.ts index c3beb8b23e..6de3e14c59 100644 --- a/packages/cli/src/commands/plugin/export.ts +++ b/packages/cli/src/commands/plugin/export.ts @@ -22,6 +22,7 @@ import { buildBundle } from '../../lib/bundler'; export default async (cmd: Command) => { const appConfigs = await loadConfig({ + env: 'production', rootPaths: [paths.targetDir, paths.targetRoot], }); await buildBundle({ diff --git a/packages/cli/src/commands/plugin/serve.ts b/packages/cli/src/commands/plugin/serve.ts index 989cf92523..c23ae060aa 100644 --- a/packages/cli/src/commands/plugin/serve.ts +++ b/packages/cli/src/commands/plugin/serve.ts @@ -22,6 +22,7 @@ import { serveBundle } from '../../lib/bundler'; export default async (cmd: Command) => { const appConfigs = await loadConfig({ + env: 'development', rootPaths: [paths.targetDir, paths.targetRoot], }); const waitForExit = await serveBundle({ diff --git a/packages/config-loader/src/lib/resolver.ts b/packages/config-loader/src/lib/resolver.ts index c1f95cdef7..2ee200fbd0 100644 --- a/packages/config-loader/src/lib/resolver.ts +++ b/packages/config-loader/src/lib/resolver.ts @@ -20,6 +20,8 @@ import { pathExists } from 'fs-extra'; type ResolveOptions = { // Root paths to search for config files. Config from earlier paths has higher priority. rootPaths: string[]; + // The environment that we're loading config for, e.g. 'development', 'production'. + env: string; }; /** @@ -35,11 +37,9 @@ type ResolveOptions = { export async function resolveStaticConfig( options: ResolveOptions, ): Promise { - const env = process.env.NODE_ENV ?? 'development'; - const filePaths = [ - `app-config.${env}.local.yaml`, - `app-config.${env}.yaml`, + `app-config.${options.env}.local.yaml`, + `app-config.${options.env}.yaml`, `app-config.local.yaml`, `app-config.yaml`, ]; diff --git a/packages/config-loader/src/loader.ts b/packages/config-loader/src/loader.ts index ba3c615ff7..27df7ac831 100644 --- a/packages/config-loader/src/loader.ts +++ b/packages/config-loader/src/loader.ts @@ -28,6 +28,9 @@ export type LoadConfigOptions = { // Root paths to search for config files. Config from earlier paths has higher priority. rootPaths: string[]; + // The environment that we're loading config for, e.g. 'development', 'production'. + env: string; + // Whether to read secrets or omit them, defaults to false. shouldReadSecrets?: boolean; };