From e0943f3c9012a4a7b63c455bc23ade6ada26b33e Mon Sep 17 00:00:00 2001 From: William Bouchard <46496014+willbouch@users.noreply.github.com> Date: Tue, 9 Sep 2025 14:10:56 -0400 Subject: [PATCH] fix(medusa): stop loading entry points in exec command (#13438) --- .changeset/tough-poets-shop.md | 5 +++++ .../modules/__tests__/index/query-index.spec.ts | 2 +- packages/medusa/src/commands/exec.ts | 7 ++----- packages/medusa/src/commands/user.ts | 1 + packages/medusa/src/loaders/index.ts | 13 ++++++------- 5 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 .changeset/tough-poets-shop.md diff --git a/.changeset/tough-poets-shop.md b/.changeset/tough-poets-shop.md new file mode 100644 index 0000000000..4e1914a989 --- /dev/null +++ b/.changeset/tough-poets-shop.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +"fix(medusa): stop loading entry points in exec command diff --git a/integration-tests/modules/__tests__/index/query-index.spec.ts b/integration-tests/modules/__tests__/index/query-index.spec.ts index 8a17383dc0..0725d5f4c8 100644 --- a/integration-tests/modules/__tests__/index/query-index.spec.ts +++ b/integration-tests/modules/__tests__/index/query-index.spec.ts @@ -91,7 +91,7 @@ async function populateData(api: any) { ) const products = response.data.created - await setTimeout(4000) + await setTimeout(10000) return products } diff --git a/packages/medusa/src/commands/exec.ts b/packages/medusa/src/commands/exec.ts index b5b7d4cdc6..cc6b750875 100644 --- a/packages/medusa/src/commands/exec.ts +++ b/packages/medusa/src/commands/exec.ts @@ -1,9 +1,5 @@ import { ExecArgs } from "@medusajs/framework/types" -import { - ContainerRegistrationKeys, - dynamicImport, - isFileSkipped, -} from "@medusajs/framework/utils" +import { ContainerRegistrationKeys, dynamicImport, isFileSkipped, } from "@medusajs/framework/utils" import express from "express" import { existsSync } from "fs" import path from "path" @@ -47,6 +43,7 @@ export default async function exec({ file, args }: Options) { const { container } = await loaders({ directory, expressApp: app, + skipLoadingEntryPoints: true, }) const scriptParams: ExecArgs = { diff --git a/packages/medusa/src/commands/user.ts b/packages/medusa/src/commands/user.ts index fc4416803d..a734b380ca 100644 --- a/packages/medusa/src/commands/user.ts +++ b/packages/medusa/src/commands/user.ts @@ -23,6 +23,7 @@ export default async function ({ const { container } = await loaders({ directory, expressApp: app, + skipLoadingEntryPoints: true, }) const logger = container.resolve(ContainerRegistrationKeys.LOGGER) diff --git a/packages/medusa/src/loaders/index.ts b/packages/medusa/src/loaders/index.ts index 04860082f2..8a04cd3d2e 100644 --- a/packages/medusa/src/loaders/index.ts +++ b/packages/medusa/src/loaders/index.ts @@ -33,6 +33,7 @@ import apiLoader from "./api" type Options = { directory: string expressApp: Express + skipLoadingEntryPoints?: boolean } const isWorkerMode = (configModule) => { @@ -71,7 +72,7 @@ async function jobsLoader( ) { const pluginJobSourcePaths = [ /** - * Load jobs from the medusa/medusa package. Remove once the medusa core is converted to a plugin + * Load jobs from the medusa/medusa package. Remove once the medusa core is converted to a plugin */ join(__dirname, "../jobs"), ].concat(plugins.map((plugin) => join(plugin.resolve, "jobs"))) @@ -161,6 +162,7 @@ export async function initializeContainer( export default async ({ directory: rootDirectory, expressApp, + skipLoadingEntryPoints = false, }: Options): Promise<{ container: MedusaContainer app: Express @@ -198,12 +200,9 @@ export default async ({ const workflowLoader = new WorkflowLoader(workflowsSourcePaths, container) await workflowLoader.load() - const entrypointsShutdown = await loadEntrypoints( - plugins, - container, - expressApp, - rootDirectory - ) + const entrypointsShutdown = skipLoadingEntryPoints + ? () => {} + : await loadEntrypoints(plugins, container, expressApp, rootDirectory) const { createDefaultsWorkflow } = await import("@medusajs/core-flows") await createDefaultsWorkflow(container).run()