From 55e94d0b45776776639d3970d4264b8f5c5385dd Mon Sep 17 00:00:00 2001 From: "Carlos R. L. Rodrigues" <37986729+carlos-r-l-rodrigues@users.noreply.github.com> Date: Wed, 29 Mar 2023 03:47:12 -0300 Subject: [PATCH] fix(modules-sdk): check if dependency is registered (#3620) * fix: check if dependency is registered * changeset --- .changeset/ninety-crews-develop.md | 5 +++++ packages/inventory/src/services/inventory.ts | 6 +----- packages/modules-sdk/src/loaders/utils/load-internal.ts | 6 +++++- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/ninety-crews-develop.md diff --git a/.changeset/ninety-crews-develop.md b/.changeset/ninety-crews-develop.md new file mode 100644 index 0000000000..b06beec3e9 --- /dev/null +++ b/.changeset/ninety-crews-develop.md @@ -0,0 +1,5 @@ +--- +"@medusajs/modules-sdk": patch +--- + +Checks if dependency is registered before resolving it diff --git a/packages/inventory/src/services/inventory.ts b/packages/inventory/src/services/inventory.ts index 727ad8ffd1..8cf4bdf58a 100644 --- a/packages/inventory/src/services/inventory.ts +++ b/packages/inventory/src/services/inventory.ts @@ -7,7 +7,6 @@ import { FilterableInventoryLevelProps, FilterableReservationItemProps, FindConfig, - IEventBusService, IInventoryService, InventoryItemDTO, InventoryLevelDTO, @@ -28,21 +27,19 @@ import ReservationItemService from "./reservation-item" type InjectedDependencies = { manager: EntityManager - eventBusService: IEventBusService inventoryItemService: InventoryItemService inventoryLevelService: InventoryLevelService reservationItemService: ReservationItemService } export default class InventoryService implements IInventoryService { protected readonly manager_: EntityManager - protected readonly eventBusService_: IEventBusService | undefined + protected readonly inventoryItemService_: InventoryItemService protected readonly reservationItemService_: ReservationItemService protected readonly inventoryLevelService_: InventoryLevelService constructor( { - eventBusService, manager, inventoryItemService, inventoryLevelService, @@ -52,7 +49,6 @@ export default class InventoryService implements IInventoryService { moduleDeclaration?: InternalModuleDeclaration ) { this.manager_ = manager - this.eventBusService_ = eventBusService this.inventoryItemService_ = inventoryItemService this.inventoryLevelService_ = inventoryLevelService this.reservationItemService_ = reservationItemService diff --git a/packages/modules-sdk/src/loaders/utils/load-internal.ts b/packages/modules-sdk/src/loaders/utils/load-internal.ts index e22f5d71da..b755cfc158 100644 --- a/packages/modules-sdk/src/loaders/utils/load-internal.ts +++ b/packages/modules-sdk/src/loaders/utils/load-internal.ts @@ -75,7 +75,11 @@ export async function loadInternalModule( for (const dependency of moduleDependencies) { localContainer.register( dependency, - asFunction(() => container.resolve(dependency)) + asFunction(() => { + return container.hasRegistration(dependency) + ? container.resolve(dependency) + : undefined + }) ) } }