diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts index 246fb8f9667a63..304cdd31cd66c9 100644 --- a/packages/vite/src/node/plugins/esbuild.ts +++ b/packages/vite/src/node/plugins/esbuild.ts @@ -18,7 +18,6 @@ import { createFilter, ensureWatchedFile, generateCodeFrame, - toUpperCaseDriveLetter, } from '../utils' import type { ResolvedConfig, ViteDevServer } from '..' import type { Plugin } from '../plugin' @@ -192,8 +191,14 @@ export async function transformWithEsbuild( ? JSON.parse(result.map) : { mappings: '' } } - if (Array.isArray(map.sources)) { - map.sources = map.sources.map((it) => toUpperCaseDriveLetter(it)) + if (Array.isArray(map.sources) && path.isAbsolute(filename)) { + const sourceFolder = path.dirname(filename) + map.sources = map.sources.map((source) => { + if (path.isAbsolute(source)) { + source = path.relative(sourceFolder, source) + } + return source + }) } return { ...result, diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 13ef1c8c91326e..738e323f8c8739 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -909,10 +909,6 @@ export function arraify(target: T | T[]): T[] { return Array.isArray(target) ? target : [target] } -export function toUpperCaseDriveLetter(pathName: string): string { - return pathName.replace(/^\w:/, (letter) => letter.toUpperCase()) -} - // Taken from https://stackoverflow.com/a/36328890 export const multilineCommentsRE = /\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g export const singlelineCommentsRE = /\/\/.*/g