diff --git a/packages/medusa/src/loaders/__tests__/module-definitions.spec.ts b/packages/medusa/src/loaders/__tests__/module-definitions.spec.ts index 7739b8db96..79537321c2 100644 --- a/packages/medusa/src/loaders/__tests__/module-definitions.spec.ts +++ b/packages/medusa/src/loaders/__tests__/module-definitions.spec.ts @@ -45,7 +45,7 @@ describe("module definitions loader", () => { } as ConfigModule) expect(res[defaultDefinition.key]).toEqual({ - resolutionPath: undefined, + resolutionPath: false, definition: defaultDefinition, options: {}, }) @@ -65,6 +65,25 @@ describe("module definitions loader", () => { ) } }) + + it("Resolves module with no resolution path when not given custom resolution path as false as default package", () => { + const definition = { + ...defaultDefinition, + defaultPackage: false as false, + } + + MODULE_DEFINITIONS.push(definition) + + const res = ModuleDefinitionLoader({ + modules: {}, + } as ConfigModule) + + expect(res[defaultDefinition.key]).toEqual({ + resolutionPath: false, + definition: definition, + options: {}, + }) + }) }) describe("string config", () => { diff --git a/packages/medusa/src/loaders/__tests__/module.spec.ts b/packages/medusa/src/loaders/__tests__/module.spec.ts index 47fd8b49f7..bc30821a9f 100644 --- a/packages/medusa/src/loaders/__tests__/module.spec.ts +++ b/packages/medusa/src/loaders/__tests__/module.spec.ts @@ -84,7 +84,7 @@ describe("modules loader", () => { it("registers service as false in container when no resolution path is given", async () => { const moduleResolutions: Record = { testService: { - resolutionPath: undefined, + resolutionPath: false, definition: { registrationName: "testService", key: "testService", diff --git a/packages/medusa/src/loaders/module-definitions/definitions.ts b/packages/medusa/src/loaders/module-definitions/definitions.ts index 8962c3df03..0b2a1e8eb4 100644 --- a/packages/medusa/src/loaders/module-definitions/definitions.ts +++ b/packages/medusa/src/loaders/module-definitions/definitions.ts @@ -1,5 +1,22 @@ import { ModuleDefinition } from "../../types/global" -export const MODULE_DEFINITIONS: ModuleDefinition[] = [] +export const MODULE_DEFINITIONS: ModuleDefinition[] = [ + { + key: "stockLocationService", + registrationName: "stockLocationService", + defaultPackage: false, + label: "StockLocationService", + isRequired: false, + canOverride: true, + }, + { + key: "inventoryService", + registrationName: "inventoryService", + defaultPackage: false, + label: "InventoryService", + isRequired: false, + canOverride: true, + }, +] export default MODULE_DEFINITIONS diff --git a/packages/medusa/src/loaders/module-definitions/index.ts b/packages/medusa/src/loaders/module-definitions/index.ts index 93255a67bc..294e21573f 100644 --- a/packages/medusa/src/loaders/module-definitions/index.ts +++ b/packages/medusa/src/loaders/module-definitions/index.ts @@ -18,6 +18,7 @@ export default ({ modules }: ConfigModule) => { } if (!moduleConfiguration) { moduleResolutions[definition.key] = { + resolutionPath: false, definition, options: {}, } diff --git a/packages/medusa/src/loaders/module.ts b/packages/medusa/src/loaders/module.ts index 333cada22f..927fb3004c 100644 --- a/packages/medusa/src/loaders/module.ts +++ b/packages/medusa/src/loaders/module.ts @@ -45,7 +45,12 @@ const registerModule = async ( const moduleLoaders = loadedModule?.loaders || [] try { for (const loader of moduleLoaders) { - await loader({ container, configModule, logger }) + await loader({ + container, + configModule, + logger, + options: resolution.options, + }) } } catch (err) { return { diff --git a/packages/medusa/src/types/global.ts b/packages/medusa/src/types/global.ts index 7043efa4fb..8d9fabeff5 100644 --- a/packages/medusa/src/types/global.ts +++ b/packages/medusa/src/types/global.ts @@ -38,7 +38,7 @@ export type Logger = _Logger & { } export type ModuleResolution = { - resolutionPath?: string + resolutionPath: string | false definition: ModuleDefinition options?: Record } @@ -46,7 +46,7 @@ export type ModuleResolution = { export type ModuleDefinition = { key: string registrationName: string - defaultPackage: string + defaultPackage: string | false label: string canOverride?: boolean isRequired?: boolean diff --git a/packages/medusa/src/types/modules.ts b/packages/medusa/src/types/modules.ts index dcca1cc063..c11f53728f 100644 --- a/packages/medusa/src/types/modules.ts +++ b/packages/medusa/src/types/modules.ts @@ -1,4 +1,4 @@ export type ModulesResponse = { module: string - resolution?: string + resolution: string | false }[]