diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index dc2804978769f0..95e1c79b600b9f 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -562,6 +562,8 @@ export interface ResolvedConfig configFileDependencies: string[] inlineConfig: InlineConfig root: string + /** @internal */ + fallbackImporter: string base: string /** @internal */ decodedBase: string @@ -1459,6 +1461,7 @@ export async function resolveConfig( ), inlineConfig, root: resolvedRoot, + fallbackImporter: normalizePath(path.resolve(resolvedRoot, 'index.html')), base, decodedBase: decodeBase(base), rawBase: resolvedBase, diff --git a/packages/vite/src/node/server/environment.ts b/packages/vite/src/node/server/environment.ts index 3ce3311e60a501..0b3d0c7c4bc321 100644 --- a/packages/vite/src/node/server/environment.ts +++ b/packages/vite/src/node/server/environment.ts @@ -115,7 +115,7 @@ export class DevEnvironment extends BaseEnvironment { this._pendingRequests = new Map() this.moduleGraph = new EnvironmentModuleGraph(name, (url: string) => - this.pluginContainer!.resolveId(url, undefined), + this.pluginContainer!.resolveId(url, config.fallbackImporter), ) this._crawlEndFinder = setupOnCrawlEnd() diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index ae8305c5a53d5e..b3689975ac6b00 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -30,7 +30,6 @@ SOFTWARE. */ import fs from 'node:fs' -import { join } from 'node:path' import { performance } from 'node:perf_hooks' import { parseAst as rollupParseAst } from 'rollup/parseAst' import type { @@ -338,10 +337,7 @@ class EnvironmentPluginContainer { async resolveId( rawId: string, - importer: string | undefined = join( - this.environment.config.root, - 'index.html', - ), + importer: string | undefined, options?: { attributes?: Record custom?: CustomPluginOptions diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 898d64146fc55c..0b94b72f0b76fd 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -173,7 +173,10 @@ async function doTransform( const resolved = module ? undefined - : ((await pluginContainer.resolveId(url, undefined)) ?? undefined) + : ((await pluginContainer.resolveId( + url, + environment.config.fallbackImporter, + )) ?? undefined) // resolve const id = module?.id ?? resolved?.id ?? url