fix: Loading custom modules (#6411)
What: fix custom modules loading in medusa project pass medusa logger reference to MedusaApp
This commit is contained in:
committed by
GitHub
parent
339a946f38
commit
586df9da25
7
.changeset/honest-peaches-call.md
Normal file
7
.changeset/honest-peaches-call.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"@medusajs/modules-sdk": patch
|
||||
"@medusajs/medusa": patch
|
||||
"@medusajs/link-modules": patch
|
||||
---
|
||||
|
||||
Fix custom modules loader
|
||||
@@ -108,7 +108,7 @@ export const initialize = async (
|
||||
}
|
||||
|
||||
const logger =
|
||||
injectedDependencies?.[ContainerRegistrationKeys.LOGGER] ?? console.log
|
||||
injectedDependencies?.[ContainerRegistrationKeys.LOGGER] ?? console
|
||||
|
||||
definition.schema = generateGraphQLSchema(definition, primary, foreign, {
|
||||
logger,
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
simpleHash,
|
||||
stringifyCircular,
|
||||
} from "@medusajs/utils"
|
||||
import { EOL } from "os"
|
||||
import {
|
||||
moduleLoader,
|
||||
registerMedusaLinkModule,
|
||||
@@ -312,6 +313,14 @@ export class MedusaModule {
|
||||
keyName
|
||||
].__joinerConfig()
|
||||
|
||||
if (!joinerConfig.primaryKeys) {
|
||||
logger.warn(
|
||||
`Primary keys are not defined by the module ${keyName}. Setting default primary key to 'id'${EOL}`
|
||||
)
|
||||
|
||||
joinerConfig.primaryKeys = ["id"]
|
||||
}
|
||||
|
||||
services[keyName].__joinerConfig = joinerConfig
|
||||
MedusaModule.setJoinerConfig(keyName, joinerConfig)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user