chore(modules-sdk): Custom Module definition (#7315)

This commit is contained in:
Carlos R. L. Rodrigues authored and GitHub committed 2024-05-14 06:59:14 -03:00
1 parent bf83d1cfe6
commit e2dfe91071
6 files changed
+35 -80

No files matched your search

+18 -64
View File
@@ -18,6 +18,7 @@ import {
ContainerRegistrationKeys,
FlagRouter,
isObject,
upperCaseFirst,
} from "@medusajs/utils"
import { asValue } from "awilix"
@@ -38,6 +39,23 @@ export function mergeDefaultModules(
configModules[defaultModule.key] ??= defaultModule.defaultModuleDeclaration
}
for (const [key, value] of Object.entries(
configModules as Record<string, InternalModuleDeclaration>
)) {
const def = {} as ModuleDefinition
def.key ??= key
def.registrationName ??= key
def.label ??= upperCaseFirst(key)
const orignalDef = value?.definition
if (isObject(orignalDef)) {
value.definition = {
...orignalDef,
...def,
}
}
}
return configModules
}
@@ -75,28 +93,6 @@ export async function migrateMedusaApp(
}
const configModules = mergeDefaultModules(configModule.modules)
// Apply default options to legacy modules
for (const moduleKey of Object.keys(configModules)) {
if (!ModulesDefinition[moduleKey]?.isLegacy) {
continue
}
if (isObject(configModules[moduleKey])) {
;(
configModules[moduleKey] as Partial<InternalModuleDeclaration>
).options ??= {
database: {
type: "postgres",
url: sharedResourcesConfig.database.clientUrl,
clientUrl: sharedResourcesConfig.database.clientUrl,
extra: configModule.projectConfig.database_extra,
schema: configModule.projectConfig.database_schema,
logging: configModule.projectConfig.database_logging,
},
}
}
}
await MedusaAppMigrateUp({
modulesConfig: configModules,
remoteFetchData: remoteQueryFetchData(container),
@@ -141,27 +137,6 @@ export const loadMedusaApp = async (
const configModules = mergeDefaultModules(configModule.modules)
// Apply default options to legacy modules
for (const moduleKey of Object.keys(configModules)) {
if (!ModulesDefinition[moduleKey]?.isLegacy) {
continue
}
if (isObject(configModules[moduleKey])) {
;(
configModules[moduleKey] as Partial<InternalModuleDeclaration>
).options ??= {
database: {
type: "postgres",
url: configModule.projectConfig.database_url,
extra: configModule.projectConfig.database_extra,
schema: configModule.projectConfig.database_schema,
logging: configModule.projectConfig.database_logging,
},
}
}
}
const medusaApp = await MedusaApp({
workerMode: configModule.projectConfig.worker_mode,
modulesConfig: configModules,
@@ -261,27 +236,6 @@ export async function runModulesLoader({
const configModules = mergeDefaultModules(configModule.modules)
// Apply default options to legacy modules
for (const moduleKey of Object.keys(configModules)) {
if (!ModulesDefinition[moduleKey]?.isLegacy) {
continue
}
if (isObject(configModules[moduleKey])) {
;(
configModules[moduleKey] as Partial<InternalModuleDeclaration>
).options ??= {
database: {
type: "postgres",
url: configModule.projectConfig.database_url,
extra: configModule.projectConfig.database_extra,
schema: configModule.projectConfig.database_schema,
logging: configModule.projectConfig.database_logging,
},
}
}
}
await MedusaApp({
modulesConfig: configModules,
remoteFetchData: remoteQueryFetchData(container),
@@ -1,7 +1,5 @@
import { ConfigModule } from "@medusajs/types"
import { ModulesDefinition } from "@medusajs/modules-sdk"
/**
* Merge the modules config from the medusa-config file with the modules config from medusa package
* @param modules
@@ -24,12 +22,6 @@ export function mergeModulesConfig(
for (const moduleName of allModulesKeys) {
const internalModuleConfig = medusaInternalModulesConfig[moduleName]
const moduleDefinition = ModulesDefinition[moduleName]
if (moduleDefinition?.isLegacy) {
continue
}
modules_[moduleName] ??= internalModuleConfig
}