Skip to content

Commit

Permalink
perf: avoid sourcemap generation during dev for line-stable transforms
Browse files Browse the repository at this point in the history
  • Loading branch information
patak-dev committed Jun 26, 2022
1 parent 8de4319 commit 1596f42
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 14 deletions.
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/assetImportMetaUrl.ts
Expand Up @@ -3,7 +3,7 @@ import MagicString from 'magic-string'
import { stripLiteral } from 'strip-literal'
import type { Plugin } from '../plugin'
import type { ResolvedConfig } from '../config'
import { transformResult } from '../utils'
import { transformStableResult } from '../utils'
import { fileToUrl } from './asset'
import { preloadHelperId } from './importAnalysisBuild'

Expand Down Expand Up @@ -81,7 +81,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
)
}
if (s) {
return transformResult(s, id, config)
return transformStableResult(s, id, config)
}
}
return null
Expand Down
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/dynamicImportVars.ts
Expand Up @@ -11,7 +11,7 @@ import {
normalizePath,
parseRequest,
requestQuerySplitRE,
transformResult
transformStableResult
} from '../utils'

export const dynamicImportHelperId = '/@vite/dynamic-import-helper'
Expand Down Expand Up @@ -209,7 +209,7 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin {
`import __variableDynamicImportRuntimeHelper from "${dynamicImportHelperId}";`
)
}
return transformResult(s, importer, config)
return transformStableResult(s, importer, config)
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/importAnalysis.ts
Expand Up @@ -40,7 +40,7 @@ import {
removeImportQuery,
stripBomTag,
timeFrom,
transformResult,
transformStableResult,
unwrapId
} from '../utils'
import type { ResolvedConfig } from '../config'
Expand Down Expand Up @@ -711,7 +711,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin {
}

if (s) {
return transformResult(s, importer, config)
return transformStableResult(s, importer, config)
} else {
return source
}
Expand Down
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/importMetaGlob.ts
Expand Up @@ -17,7 +17,7 @@ import type { Plugin } from '../plugin'
import type { ViteDevServer } from '../server'
import type { ModuleNode } from '../server/moduleGraph'
import type { ResolvedConfig } from '../config'
import { normalizePath, slash, transformResult } from '../utils'
import { normalizePath, slash, transformStableResult } from '../utils'

const { isMatch, scan } = micromatch

Expand Down Expand Up @@ -75,7 +75,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin {
server!.watcher.add(dirname(file))
})
}
return transformResult(result.s, id, config)
return transformStableResult(result.s, id, config)
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/workerImportMetaUrl.ts
Expand Up @@ -10,7 +10,7 @@ import {
injectQuery,
normalizePath,
parseRequest,
transformResult
transformStableResult
} from '../utils'
import { getDepsOptimizer } from '../optimizer'
import type { WorkerType } from './worker'
Expand Down Expand Up @@ -136,7 +136,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
}

if (s) {
return transformResult(s, id, config)
return transformStableResult(s, id, config)
}

return null
Expand Down
12 changes: 8 additions & 4 deletions packages/vite/src/node/utils.ts
Expand Up @@ -1028,16 +1028,20 @@ function normalizeSingleAlias({
return alias
}

export function transformResult(
/**
* Transforms transpiled code result where line numbers aren't altered,
* so we can skip sourcemap generation during dev
*/
export function transformStableResult(
s: MagicString,
id: string,
config: ResolvedConfig
): TransformResult {
const isBuild = config.command === 'build'
const needSourceMap = !isBuild || config.build.sourcemap
return {
code: s.toString(),
map: needSourceMap ? s.generateMap({ hires: true, source: id }) : null
map: config.build.sourcemap
? s.generateMap({ hires: true, source: id })
: null
}
}

Expand Down

0 comments on commit 1596f42

Please sign in to comment.