From 24c469d2173e814a567e18454f5cc5c81f5dcc6a Mon Sep 17 00:00:00 2001 From: Adrien de Peretti Date: Fri, 5 Dec 2025 12:55:23 +0100 Subject: [PATCH] chore(): Run some commands in server mode only (#14202) * chore(): Run some commands in server mode only * Create orange-timers-lay.md * chore(): Run some commands in server mode only * chore(): Run some commands in server mode only * chore(): Run some commands in server mode only --- .changeset/orange-timers-lay.md | 5 +++++ packages/medusa/src/commands/db/migrate.ts | 1 + packages/medusa/src/commands/db/rollback.ts | 2 ++ packages/medusa/src/commands/db/run-scripts.ts | 1 + packages/medusa/src/commands/exec.ts | 4 ++-- packages/medusa/src/commands/user.ts | 6 +----- packages/medusa/src/loaders/index.ts | 16 ++++++++-------- 7 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 .changeset/orange-timers-lay.md diff --git a/.changeset/orange-timers-lay.md b/.changeset/orange-timers-lay.md new file mode 100644 index 0000000000..0b63ee2c2a --- /dev/null +++ b/.changeset/orange-timers-lay.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +chore(): Run some commands in server mode only diff --git a/packages/medusa/src/commands/db/migrate.ts b/packages/medusa/src/commands/db/migrate.ts index 95e61fd7ea..6a78770e91 100644 --- a/packages/medusa/src/commands/db/migrate.ts +++ b/packages/medusa/src/commands/db/migrate.ts @@ -128,6 +128,7 @@ const main = async function ({ executeSafeLinks, concurrency, }) { + process.env.MEDUSA_WORKER_MODE = "server" const container = await initializeContainer(directory) const logger = container.resolve(ContainerRegistrationKeys.LOGGER) diff --git a/packages/medusa/src/commands/db/rollback.ts b/packages/medusa/src/commands/db/rollback.ts index 8991aeebd5..1b2fe8c43d 100644 --- a/packages/medusa/src/commands/db/rollback.ts +++ b/packages/medusa/src/commands/db/rollback.ts @@ -13,6 +13,8 @@ import { ensureDbExists } from "../utils" const TERMINAL_SIZE = process.stdout.columns const main = async function ({ directory, modules }) { + process.env.MEDUSA_WORKER_MODE = "server" + const container = await initializeContainer(directory) const logger = container.resolve(ContainerRegistrationKeys.LOGGER) diff --git a/packages/medusa/src/commands/db/run-scripts.ts b/packages/medusa/src/commands/db/run-scripts.ts index e4d38cd78b..9f6e0aaadf 100644 --- a/packages/medusa/src/commands/db/run-scripts.ts +++ b/packages/medusa/src/commands/db/run-scripts.ts @@ -122,6 +122,7 @@ const main = async function ({ directory: string container?: MedusaContainer }) { + process.env.MEDUSA_WORKER_MODE = "server" const container = await initializeContainer(directory) const logger = container.resolve(ContainerRegistrationKeys.LOGGER) diff --git a/packages/medusa/src/commands/exec.ts b/packages/medusa/src/commands/exec.ts index 3999397d39..3fd9cbe6c2 100644 --- a/packages/medusa/src/commands/exec.ts +++ b/packages/medusa/src/commands/exec.ts @@ -15,6 +15,8 @@ type Options = { } export default async function exec({ file, args }: Options) { + process.env.MEDUSA_WORKER_MODE = "server" + const container = await initializeContainer(process.cwd(), { skipDbConnection: true, }) @@ -41,8 +43,6 @@ export default async function exec({ file, args }: Options) { throw new Error(`File doesn't default export a function to execute.`) } - process.env.MEDUSA_WORKER_MODE = "server" - const { container } = await loaders({ directory, expressApp: app, diff --git a/packages/medusa/src/commands/user.ts b/packages/medusa/src/commands/user.ts index a734b380ca..cfe38f87b6 100644 --- a/packages/medusa/src/commands/user.ts +++ b/packages/medusa/src/commands/user.ts @@ -14,11 +14,7 @@ export default async function ({ track("CLI_USER", { with_id: !!id }) const app = express() try { - /** - * Enabling worker mode to prevent discovering/loading - * of API routes from the starter kit - */ - process.env.MEDUSA_WORKER_MODE = "worker" + process.env.MEDUSA_WORKER_MODE = "server" const { container } = await loaders({ directory, diff --git a/packages/medusa/src/loaders/index.ts b/packages/medusa/src/loaders/index.ts index 7cf8f07076..ade6353f68 100644 --- a/packages/medusa/src/loaders/index.ts +++ b/packages/medusa/src/loaders/index.ts @@ -91,14 +91,6 @@ async function loadEntrypoints( ContainerRegistrationKeys.CONFIG_MODULE ) - // Subscribers should be loaded no matter the worker mode, simply they will never handle anything - // since worker/shared instances only will have a running worker to process events. - await subscribersLoader(plugins, container) - - if (shouldLoadBackgroundProcessors(configModule)) { - await jobsLoader(plugins, container) - } - if (isWorkerMode(configModule)) { return async () => {} } @@ -202,6 +194,14 @@ export default async ({ const workflowLoader = new WorkflowLoader(workflowsSourcePaths, container) await workflowLoader.load() + // Subscribers should be loaded no matter the worker mode, simply they will never handle anything + // since worker/shared instances only will have a running worker to process events. + await subscribersLoader(plugins, container) + + if (shouldLoadBackgroundProcessors(configModule)) { + await jobsLoader(plugins, container) + } + const entrypointsShutdown = skipLoadingEntryPoints ? () => {} : await loadEntrypoints(plugins, container, expressApp, rootDirectory)