From 32d88c6475abfe737797d252f0d92a37b6d0bbd4 Mon Sep 17 00:00:00 2001 From: sapphi-red Date: Sat, 29 Oct 2022 20:21:50 +0900 Subject: [PATCH] fix: remove loaded input sourcemap (fixes #8411) --- packages/vite/src/node/server/pluginContainer.ts | 4 ++++ packages/vite/src/node/server/transformRequest.ts | 3 +++ playground/css-sourcemap/index.html | 4 ++++ playground/css-sourcemap/input-map.css | 4 ++++ playground/css-sourcemap/input-map.css.map | 7 +++++++ playground/css-sourcemap/input-map.src.css | 3 +++ 6 files changed, 25 insertions(+) create mode 100644 playground/css-sourcemap/input-map.css create mode 100644 playground/css-sourcemap/input-map.css.map create mode 100644 playground/css-sourcemap/input-map.src.css diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index f44efd1fcd26b7..cd297d1e0826f2 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -472,6 +472,10 @@ export async function createPluginContainer( this.filename = filename this.originalCode = code if (inMap) { + if (isDebugSourcemapCombineFocused) { + // @ts-expect-error inject name for debug purpose + inMap.name = '$inMap' + } this.sourcemapChain.push(inMap) } } diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 8f962c250f22d9..698d52171994cf 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -7,6 +7,7 @@ import type { SourceDescription, SourceMap } from 'rollup' import colors from 'picocolors' import type { ViteDevServer } from '..' import { + blankReplacer, cleanUrl, createDebugger, ensureWatchedFile, @@ -196,6 +197,8 @@ async function loadAndTransform( convertSourceMap.fromSource(code) || convertSourceMap.fromMapFileSource(code, path.dirname(file)) )?.toObject() + + code = code.replace(convertSourceMap.mapFileCommentRegex, blankReplacer) } catch (e) { logger.warn(`Failed to load source map for ${url}.`, { timestamp: true diff --git a/playground/css-sourcemap/index.html b/playground/css-sourcemap/index.html index 6f81e0322e47be..8260ae75ed65ca 100644 --- a/playground/css-sourcemap/index.html +++ b/playground/css-sourcemap/index.html @@ -26,6 +26,8 @@

CSS Sourcemap

<imported stylus>

<imported sugarss>

+ +

<input source-map>

diff --git a/playground/css-sourcemap/input-map.css b/playground/css-sourcemap/input-map.css new file mode 100644 index 00000000000000..575a1751c2cbca --- /dev/null +++ b/playground/css-sourcemap/input-map.css @@ -0,0 +1,4 @@ +.input-map { + color: #00f; +} +/*# sourceMappingURL=input-map.css.map */ diff --git a/playground/css-sourcemap/input-map.css.map b/playground/css-sourcemap/input-map.css.map new file mode 100644 index 00000000000000..05502b8ce18685 --- /dev/null +++ b/playground/css-sourcemap/input-map.css.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["input-map.src.css"], + "sourcesContent": [".input-map {\n color: blue;\n}"], + "mappings": "AAAA,WACE", + "names": [] +} diff --git a/playground/css-sourcemap/input-map.src.css b/playground/css-sourcemap/input-map.src.css new file mode 100644 index 00000000000000..90b9565e271633 --- /dev/null +++ b/playground/css-sourcemap/input-map.src.css @@ -0,0 +1,3 @@ +.input-map { + color: blue; +}