From 7d257c38356f8195ca44b39b55f9d791c6b8c33e Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 30 Sep 2021 17:26:12 +0200 Subject: [PATCH] fix: properly handle postfix for getRealPath (#5149) --- packages/vite/src/node/plugins/resolve.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 5fd2c38ba99b50..9b8519a43119c0 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -382,7 +382,7 @@ function tryResolveFile( } catch (e) {} if (isReadable) { if (!fs.statSync(file).isDirectory()) { - return normalizePath(ensureVolumeInPath(file)) + postfix + return getRealPath(file, preserveSymlinks) + postfix } else if (tryIndex) { if (!skipPackageJson) { const pkgPath = file + '/package.json' @@ -396,7 +396,7 @@ function tryResolveFile( targetWeb, preserveSymlinks ) - return resolved ? getRealPath(resolved, preserveSymlinks) : resolved + return resolved } } const index = tryFsResolve(file + '/index', options, preserveSymlinks) @@ -479,8 +479,6 @@ export function tryNodeResolve( return } - resolved = getRealPath(resolved, preserveSymlinks) - // link id to pkg for browser field mapping check idToPkgMap.set(resolved, pkg) if (isBuild) { @@ -919,8 +917,9 @@ function equalWithoutSuffix(path: string, key: string, suffix: string) { } function getRealPath(resolved: string, preserveSymlinks?: boolean): string { + resolved = ensureVolumeInPath(resolved) if (!preserveSymlinks && browserExternalId !== resolved) { - return normalizePath(fs.realpathSync(resolved)) + resolved = fs.realpathSync(resolved) } - return resolved + return normalizePath(resolved) }