From 965a50d483a2241d99e5d8d280c107890f3e090d Mon Sep 17 00:00:00 2001 From: Harminder Virk Date: Wed, 22 May 2024 19:31:13 +0530 Subject: [PATCH] fix: Commands loading entrypoints (#7404) * fix: enable worker mode when executing user and migrate commands * refactor: do not enable worker mode for migrate command * refactor: auto detect is application is using ts-node * refactor: remove directories node from config * style: update comments next to enabling worker mode --- .../core/types/src/common/config-module.ts | 18 ++++-------------- packages/medusa/src/commands/migrate.js | 1 - packages/medusa/src/commands/user.js | 6 ++++++ packages/medusa/src/loaders/config.ts | 3 --- .../src/loaders/helpers/resolve-plugins.ts | 15 ++++++++------- 5 files changed, 18 insertions(+), 25 deletions(-) diff --git a/packages/core/types/src/common/config-module.ts b/packages/core/types/src/common/config-module.ts index 771de5a884..9c97458620 100644 --- a/packages/core/types/src/common/config-module.ts +++ b/packages/core/types/src/common/config-module.ts @@ -40,7 +40,7 @@ export type AdminOptions = { /** * Configure the Vite configuration for the admin dashboard. This function receives the default Vite configuration * and returns the modified configuration. The default value is `undefined`. - * + * * @privateRemarks TODO Add example */ vite?: (config: InlineConfig) => InlineConfig @@ -401,9 +401,9 @@ export type ProjectConfigOptions = { * // ... * } * ``` - * + * * @deprecated use {@link http }'s `compression` property instead. - * + * */ http_compression?: HttpCompressionOptions @@ -751,7 +751,7 @@ export type ConfigModule = { /** * Admin dashboard configurations. - * + * * @example * ```js title="medusa-config.js" * module.exports = { @@ -875,16 +875,6 @@ export type ConfigModule = { * ::: */ featureFlags: Record - - /** - * @ignore - * - * @privateRemarks - * Since this is a temporary config, maybe let's not include it in the generated reference for now. - */ - directories?: { - srcDir?: string - } } export type PluginDetails = { diff --git a/packages/medusa/src/commands/migrate.js b/packages/medusa/src/commands/migrate.js index a412043a1f..170846f2c8 100644 --- a/packages/medusa/src/commands/migrate.js +++ b/packages/medusa/src/commands/migrate.js @@ -42,7 +42,6 @@ const runLinkMigrations = async (directory) => { const main = async function ({ directory }) { const args = process.argv - args.shift() args.shift() args.shift() diff --git a/packages/medusa/src/commands/user.js b/packages/medusa/src/commands/user.js index 163fe22040..ede98a7241 100644 --- a/packages/medusa/src/commands/user.js +++ b/packages/medusa/src/commands/user.js @@ -20,6 +20,12 @@ 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" + const { container } = await loaders({ directory, expressApp: app, diff --git a/packages/medusa/src/loaders/config.ts b/packages/medusa/src/loaders/config.ts index 33754ec78f..767f175098 100644 --- a/packages/medusa/src/loaders/config.ts +++ b/packages/medusa/src/loaders/config.ts @@ -102,8 +102,5 @@ export default (rootDirectory: string): ConfigModule => { modules: configModule.modules ?? {}, featureFlags: configModule?.featureFlags ?? {}, plugins: configModule?.plugins ?? [], - directories: configModule?.directories ?? { - srcDir: "dist", - }, } } diff --git a/packages/medusa/src/loaders/helpers/resolve-plugins.ts b/packages/medusa/src/loaders/helpers/resolve-plugins.ts index ecde1c809e..8845e35c95 100644 --- a/packages/medusa/src/loaders/helpers/resolve-plugins.ts +++ b/packages/medusa/src/loaders/helpers/resolve-plugins.ts @@ -106,10 +106,7 @@ function resolvePlugin(pluginName: string): { export function getResolvedPlugins( rootDirectory: string, - configModule: { - plugins: ConfigModule["plugins"] - directories?: ConfigModule["directories"] - }, + configModule: ConfigModule, isMedusaProject = false ): undefined | PluginDetails[] { if (isMedusaProject) { @@ -117,10 +114,14 @@ export function getResolvedPlugins( * Grab directory for loading resources inside a starter kit from * the medusa-config file. * - * This is because, we do not have a "dist" directory inside a starter - * kit. Instead we discover resources from the "src" directory. + * When using ts-node we will read resources from "src" directory + * otherwise from "dist" directory. */ - const extensionDirectoryPath = configModule.directories?.srcDir ?? "dist" + const extensionDirectoryPath = process[ + Symbol.for("ts-node.register.instance") + ] + ? "src" + : "dist" const extensionDirectory = path.join(rootDirectory, extensionDirectoryPath) return [ {