chore(framework,medusa): load custom flags before medusa config (#13312)

* chore(framework,medusa): load custom flags before medusa config

* test

* test runner

* changeset

* check manager featureFlags

* discover and register flags

* rm comments

* update changeset

* changeset

* use local cli

* execute from local medusa command

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
This commit is contained in:
Carlos R. L. Rodrigues
2025-09-01 11:04:43 -03:00
committed by GitHub
parent 2a94dbd243
commit b4c0f131b7
10 changed files with 118 additions and 36 deletions

View File

@@ -17,7 +17,7 @@ import {
ContainerRegistrationKeys,
createMedusaContainer,
defineJoinerConfig,
discoverFeatureFlagsFromDir,
discoverAndRegisterFeatureFlags,
DmlEntity,
dynamicImport,
FeatureFlag,
@@ -28,7 +28,6 @@ import {
MedusaModuleType,
Modules,
ModulesSdkUtils,
registerFeatureFlag,
stringifyCircular,
toMikroOrmEntities,
} from "@medusajs/utils"
@@ -579,7 +578,6 @@ export async function loadResources({
}
const flagDir = resolve(normalizedPath)
const discovered = await discoverFeatureFlagsFromDir(flagDir, 1)
const configModule = container.resolve(
ContainerRegistrationKeys.CONFIG_MODULE,
@@ -588,14 +586,13 @@ export async function loadResources({
}
) as ConfigModule
for (const def of discovered) {
registerFeatureFlag({
flag: def,
projectConfigFlags: configModule?.featureFlags ?? {},
router: FeatureFlag,
logger,
})
}
await discoverAndRegisterFeatureFlags({
flagDir,
projectConfigFlags: configModule?.featureFlags ?? {},
router: FeatureFlag,
logger,
maxDepth: 1,
})
const [moduleService, services, models, repositories] = await Promise.all([
dynamicImport(modulePath).then((moduleExports) => {