Skip to content

Commit 1596f42

Browse files
committed
perf: avoid sourcemap generation during dev for line-stable transforms
1 parent 8de4319 commit 1596f42

File tree

6 files changed

+18
-14
lines changed

6 files changed

+18
-14
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import MagicString from 'magic-string'
33
import { stripLiteral } from 'strip-literal'
44
import type { Plugin } from '../plugin'
55
import type { ResolvedConfig } from '../config'
6-
import { transformResult } from '../utils'
6+
import { transformStableResult } from '../utils'
77
import { fileToUrl } from './asset'
88
import { preloadHelperId } from './importAnalysisBuild'
99

@@ -81,7 +81,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
8181
)
8282
}
8383
if (s) {
84-
return transformResult(s, id, config)
84+
return transformStableResult(s, id, config)
8585
}
8686
}
8787
return null

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
normalizePath,
1212
parseRequest,
1313
requestQuerySplitRE,
14-
transformResult
14+
transformStableResult
1515
} from '../utils'
1616

1717
export const dynamicImportHelperId = '/@vite/dynamic-import-helper'
@@ -209,7 +209,7 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin {
209209
`import __variableDynamicImportRuntimeHelper from "${dynamicImportHelperId}";`
210210
)
211211
}
212-
return transformResult(s, importer, config)
212+
return transformStableResult(s, importer, config)
213213
}
214214
}
215215
}

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import {
4040
removeImportQuery,
4141
stripBomTag,
4242
timeFrom,
43-
transformResult,
43+
transformStableResult,
4444
unwrapId
4545
} from '../utils'
4646
import type { ResolvedConfig } from '../config'
@@ -711,7 +711,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin {
711711
}
712712

713713
if (s) {
714-
return transformResult(s, importer, config)
714+
return transformStableResult(s, importer, config)
715715
} else {
716716
return source
717717
}

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import type { Plugin } from '../plugin'
1717
import type { ViteDevServer } from '../server'
1818
import type { ModuleNode } from '../server/moduleGraph'
1919
import type { ResolvedConfig } from '../config'
20-
import { normalizePath, slash, transformResult } from '../utils'
20+
import { normalizePath, slash, transformStableResult } from '../utils'
2121

2222
const { isMatch, scan } = micromatch
2323

@@ -75,7 +75,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin {
7575
server!.watcher.add(dirname(file))
7676
})
7777
}
78-
return transformResult(result.s, id, config)
78+
return transformStableResult(result.s, id, config)
7979
}
8080
}
8181
}

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
injectQuery,
1111
normalizePath,
1212
parseRequest,
13-
transformResult
13+
transformStableResult
1414
} from '../utils'
1515
import { getDepsOptimizer } from '../optimizer'
1616
import type { WorkerType } from './worker'
@@ -136,7 +136,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
136136
}
137137

138138
if (s) {
139-
return transformResult(s, id, config)
139+
return transformStableResult(s, id, config)
140140
}
141141

142142
return null

packages/vite/src/node/utils.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -1028,16 +1028,20 @@ function normalizeSingleAlias({
10281028
return alias
10291029
}
10301030

1031-
export function transformResult(
1031+
/**
1032+
* Transforms transpiled code result where line numbers aren't altered,
1033+
* so we can skip sourcemap generation during dev
1034+
*/
1035+
export function transformStableResult(
10321036
s: MagicString,
10331037
id: string,
10341038
config: ResolvedConfig
10351039
): TransformResult {
1036-
const isBuild = config.command === 'build'
1037-
const needSourceMap = !isBuild || config.build.sourcemap
10381040
return {
10391041
code: s.toString(),
1040-
map: needSourceMap ? s.generateMap({ hires: true, source: id }) : null
1042+
map: config.build.sourcemap
1043+
? s.generateMap({ hires: true, source: id })
1044+
: null
10411045
}
10421046
}
10431047

0 commit comments

Comments
 (0)