diff --git a/.changeset/smart-ants-compete.md b/.changeset/smart-ants-compete.md new file mode 100644 index 0000000000..63a1d5ddb5 --- /dev/null +++ b/.changeset/smart-ants-compete.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix(medusa): improve error message on incorrect service export diff --git a/packages/medusa/src/loaders/plugins.ts b/packages/medusa/src/loaders/plugins.ts index 1e21f1f8cb..97e2399837 100644 --- a/packages/medusa/src/loaders/plugins.ts +++ b/packages/medusa/src/loaders/plugins.ts @@ -469,6 +469,12 @@ export async function registerServices( const loaded = require(fn).default const name = formatRegistrationName(fn) + if (typeof loaded !== "function") { + throw new Error( + `Cannot register ${name}. Make sure to default export a service class in ${fn}` + ) + } + const context = { container, pluginDetails, registrationName: name } registerPaymentProcessorFromClass(loaded, context)