fix: Loading custom modules (#6411)

What:
   fix custom modules loading in medusa project
   pass medusa logger reference to MedusaApp
This commit is contained in:
Carlos R. L. Rodrigues
2024-02-15 15:06:02 +00:00
committed by GitHub
parent 339a946f38
commit 586df9da25
4 changed files with 29 additions and 7 deletions
+12 -6
View File
@@ -10,6 +10,7 @@ import {
import {
CommonTypes,
InternalModuleDeclaration,
LoadedModule,
MedusaContainer,
ModuleDefinition,
} from "@medusajs/types"
@@ -54,12 +55,13 @@ export async function migrateMedusaApp(
},
config = { registerInContainer: true }
): Promise<void> {
const featureFlagRouter = container.resolve<FlagRouter>("featureFlagRouter")
const isMedusaV2Enabled = featureFlagRouter.isFeatureEnabled(MedusaV2Flag.key)
const injectedDependencies = {
[ContainerRegistrationKeys.PG_CONNECTION]: container.resolve(
ContainerRegistrationKeys.PG_CONNECTION
),
[ContainerRegistrationKeys.LOGGER]: container.resolve(
ContainerRegistrationKeys.LOGGER
),
}
const sharedResourcesConfig = {
@@ -73,7 +75,7 @@ export async function migrateMedusaApp(
// Apply default options to legacy modules
for (const moduleKey of Object.keys(configModules)) {
if (!ModulesDefinition[moduleKey].isLegacy) {
if (!ModulesDefinition[moduleKey]?.isLegacy) {
continue
}
@@ -121,6 +123,9 @@ export const loadMedusaApp = async (
[ContainerRegistrationKeys.PG_CONNECTION]: container.resolve(
ContainerRegistrationKeys.PG_CONNECTION
),
[ContainerRegistrationKeys.LOGGER]: container.resolve(
ContainerRegistrationKeys.LOGGER
),
}
const sharedResourcesConfig = {
@@ -137,7 +142,7 @@ export const loadMedusaApp = async (
// Apply default options to legacy modules
for (const moduleKey of Object.keys(configModules)) {
if (!ModulesDefinition[moduleKey].isLegacy) {
if (!ModulesDefinition[moduleKey]?.isLegacy) {
continue
}
@@ -202,9 +207,10 @@ export const loadMedusaApp = async (
asValue(medusaApp.query)
)
for (const [serviceKey, moduleService] of Object.entries(medusaApp.modules)) {
for (const moduleService of Object.values(medusaApp.modules)) {
const loadedModule = moduleService as LoadedModule
container.register(
ModulesDefinition[serviceKey].registrationName,
loadedModule.__definition.registrationName,
asValue(moduleService)
)
}