diff --git a/.changeset/beige-zebras-explain.md b/.changeset/beige-zebras-explain.md new file mode 100644 index 0000000000..8c1647787c --- /dev/null +++ b/.changeset/beige-zebras-explain.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix(medusa): Exclude subscribers correctly on Windows diff --git a/packages/medusa/src/loaders/plugins.ts b/packages/medusa/src/loaders/plugins.ts index a5db6bc287..47fbeb172f 100644 --- a/packages/medusa/src/loaders/plugins.ts +++ b/packages/medusa/src/loaders/plugins.ts @@ -579,8 +579,6 @@ async function registerSubscribers( container: MedusaContainer, activityId: string ): Promise { - const exclude: string[] = [] - const loadedFiles = await new SubscriberLoader( path.join(pluginDetails.resolve, "subscribers"), container, @@ -591,11 +589,12 @@ async function registerSubscribers( /** * Exclude any files that have already been loaded by the subscriber loader */ - exclude.push(...(loadedFiles ?? [])) + const normalizedLoadedFiles = + loadedFiles?.map((file) => file.replace(/\\/g, "/")) ?? [] const files = glob.sync(`${pluginDetails.resolve}/subscribers/*.js`, {}) files - .filter((file) => !exclude.includes(file)) + .filter((file) => !normalizedLoadedFiles.includes(file)) .forEach((fn) => { const loaded = require(fn).default