fix(framework/config): Properly resolve env variables (#8411)

This commit is contained in:
Adrien de Peretti
2024-08-02 16:24:32 +02:00
committed by GitHub
parent 4d99cd5e28
commit 8bde27153a
2 changed files with 18 additions and 5 deletions
@@ -26,5 +26,16 @@ describe("configLoader", () => {
expect(configModule).toBeDefined() expect(configModule).toBeDefined()
expect(configModule.projectConfig.databaseName).toBe("foo") expect(configModule.projectConfig.databaseName).toBe("foo")
expect(configModule.projectConfig.workerMode).toBe("shared")
process.env.MEDUSA_WORKER_MODE = "worker"
configLoader(entryDirectory, "medusa-config-2.js")
configModule = container.resolve(ContainerRegistrationKeys.CONFIG_MODULE)
expect(configModule).toBeDefined()
expect(configModule.projectConfig.databaseName).toBe("foo")
expect(configModule.projectConfig.workerMode).toBe("worker")
}) })
}) })
@@ -13,16 +13,18 @@ export class ConfigManager {
* A flag to specify if we are in production or not, determine whether an error would be critical and thrown or just logged as a warning in developement * A flag to specify if we are in production or not, determine whether an error would be critical and thrown or just logged as a warning in developement
* @private * @private
*/ */
readonly #isProduction: boolean = ["production", "prod"].includes( get #isProduction(): boolean {
process.env.NODE_ENV || "" return ["production", "prod"].includes(process.env.NODE_ENV || "")
) }
/** /**
* The worker mode * The worker mode
* @private * @private
*/ */
readonly #envWorkMode?: ConfigModule["projectConfig"]["workerMode"] = process get #envWorkMode(): ConfigModule["projectConfig"]["workerMode"] {
.env.MEDUSA_WORKER_MODE as ConfigModule["projectConfig"]["workerMode"] return process.env
.MEDUSA_WORKER_MODE as ConfigModule["projectConfig"]["workerMode"]
}
/** /**
* The config object after loading it * The config object after loading it