fix: Loading custom modules (#6411)
What: fix custom modules loading in medusa project pass medusa logger reference to MedusaApp
This commit is contained in:
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user