diff --git a/packages/vite/src/module-runner/runner.ts b/packages/vite/src/module-runner/runner.ts index 43e5e95dfe2f4e..0036e6b90b1eda 100644 --- a/packages/vite/src/module-runner/runner.ts +++ b/packages/vite/src/module-runner/runner.ts @@ -222,15 +222,16 @@ export class ModuleRunner { url: string, importer?: string, ): Promise { - let cached = this.concurrentModuleNodePromises.get(url) + const key = `${url}:${importer}` + let cached = this.concurrentModuleNodePromises.get(key) if (!cached) { const cachedModule = this.evaluatedModules.getModuleByUrl(url) cached = this.getModuleInformation(url, importer, cachedModule).finally( () => { - this.concurrentModuleNodePromises.delete(url) + this.concurrentModuleNodePromises.delete(key) }, ) - this.concurrentModuleNodePromises.set(url, cached) + this.concurrentModuleNodePromises.set(key, cached) } else { this.debug?.('[module runner] using cached module info for', url) }