Skip to content

Commit 481e7b4

Browse files
committed
Revert "refactor: can revert vitejs#15805 ?"
This reverts commit eea342d.
1 parent eea342d commit 481e7b4

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

packages/vite/src/node/plugins/define.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { transform } from 'esbuild'
2+
import { TraceMap, decodedMap, encodedMap } from '@jridgewell/trace-mapping'
23
import type { ResolvedConfig } from '../config'
34
import type { Plugin } from '../plugin'
45
import { escapeRegex } from '../utils'
@@ -200,6 +201,26 @@ export async function replaceDefine(
200201
: true,
201202
})
202203

204+
// remove esbuild's <define:...> source entries
205+
// since they would confuse source map remapping/collapsing which expects a single source
206+
if (result.map.includes('<define:')) {
207+
const originalMap = new TraceMap(result.map)
208+
if (originalMap.sources.length >= 2) {
209+
const sourceIndex = originalMap.sources.indexOf(id)
210+
const decoded = decodedMap(originalMap)
211+
decoded.sources = [id]
212+
decoded.mappings = decoded.mappings.map((segments) =>
213+
segments.filter((segment) => {
214+
// modify and filter
215+
const index = segment[1]
216+
segment[1] = 0
217+
return index === sourceIndex
218+
}),
219+
)
220+
result.map = JSON.stringify(encodedMap(new TraceMap(decoded as any)))
221+
}
222+
}
223+
203224
return {
204225
code: result.code,
205226
map: result.map || null,

0 commit comments

Comments
 (0)