diff --git a/packages/medusa/src/loaders/index.ts b/packages/medusa/src/loaders/index.ts index bcba11652d..45e90bf8ac 100644 --- a/packages/medusa/src/loaders/index.ts +++ b/packages/medusa/src/loaders/index.ts @@ -53,8 +53,10 @@ async function subscribersLoader( ignore: ["**/*.d.ts", "**/*.map"], } ) - return Promise.all( - files.map(async (file) => new SubscriberLoader(file, container).load()) + return await Promise.all( + files.map( + async (file) => await new SubscriberLoader(file, container).load() + ) ) }) ) @@ -124,7 +126,6 @@ export default async ({ container: MedusaContainer app: Express shutdown: () => Promise - prepareShutdown: () => Promise }> => { const container = await initializeContainer(rootDirectory) const configModule = container.resolve( @@ -134,13 +135,12 @@ export default async ({ const plugins = getResolvedPlugins(rootDirectory, configModule, true) || [] await registerWorkflows(plugins) - const { - onApplicationShutdown: medusaAppOnApplicationShutdown, - onApplicationPrepareShutdown: medusaAppOnApplicationPrepareShutdown, - } = await loadMedusaApp({ - container, - linkModules: await resolvePluginsLinks(plugins, container), - }) + const pluginLinks = await resolvePluginsLinks(plugins, container) + const { onApplicationShutdown, onApplicationPrepareShutdown } = + await loadMedusaApp({ + container, + linkModules: pluginLinks, + }) const entrypointsShutdown = await loadEntrypoints( plugins, @@ -154,13 +154,14 @@ export default async ({ const pgConnection = container.resolve( ContainerRegistrationKeys.PG_CONNECTION ) - await medusaAppOnApplicationShutdown() + + await onApplicationPrepareShutdown() + await onApplicationShutdown() await promiseAll([ container.dispose(), pgConnection?.context?.destroy(), entrypointsShutdown(), - medusaAppOnApplicationShutdown(), ]) } @@ -168,6 +169,5 @@ export default async ({ container, app: expressApp, shutdown, - prepareShutdown: medusaAppOnApplicationPrepareShutdown, } }