From 1596f425233ce18d36bd415dd6fa6b7a2869f8bd Mon Sep 17 00:00:00 2001 From: patak-dev Date: Sun, 26 Jun 2022 12:38:44 +0200 Subject: [PATCH] perf: avoid sourcemap generation during dev for line-stable transforms --- packages/vite/src/node/plugins/assetImportMetaUrl.ts | 4 ++-- packages/vite/src/node/plugins/dynamicImportVars.ts | 4 ++-- packages/vite/src/node/plugins/importAnalysis.ts | 4 ++-- packages/vite/src/node/plugins/importMetaGlob.ts | 4 ++-- .../vite/src/node/plugins/workerImportMetaUrl.ts | 4 ++-- packages/vite/src/node/utils.ts | 12 ++++++++---- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/packages/vite/src/node/plugins/assetImportMetaUrl.ts b/packages/vite/src/node/plugins/assetImportMetaUrl.ts index af3fa325bfce03..6d7a657706cf9c 100644 --- a/packages/vite/src/node/plugins/assetImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/assetImportMetaUrl.ts @@ -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' @@ -81,7 +81,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { ) } if (s) { - return transformResult(s, id, config) + return transformStableResult(s, id, config) } } return null diff --git a/packages/vite/src/node/plugins/dynamicImportVars.ts b/packages/vite/src/node/plugins/dynamicImportVars.ts index 7093ded9253a39..97f605c1758d53 100644 --- a/packages/vite/src/node/plugins/dynamicImportVars.ts +++ b/packages/vite/src/node/plugins/dynamicImportVars.ts @@ -11,7 +11,7 @@ import { normalizePath, parseRequest, requestQuerySplitRE, - transformResult + transformStableResult } from '../utils' export const dynamicImportHelperId = '/@vite/dynamic-import-helper' @@ -209,7 +209,7 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin { `import __variableDynamicImportRuntimeHelper from "${dynamicImportHelperId}";` ) } - return transformResult(s, importer, config) + return transformStableResult(s, importer, config) } } } diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index c7b4d5c8bb3f1b..9a39c792388400 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -40,7 +40,7 @@ import { removeImportQuery, stripBomTag, timeFrom, - transformResult, + transformStableResult, unwrapId } from '../utils' import type { ResolvedConfig } from '../config' @@ -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 } diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 661093676626e6..ae8bd2963de573 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -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 @@ -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) } } } diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index c88046465f0f42..1b05e6d4a137e1 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -10,7 +10,7 @@ import { injectQuery, normalizePath, parseRequest, - transformResult + transformStableResult } from '../utils' import { getDepsOptimizer } from '../optimizer' import type { WorkerType } from './worker' @@ -136,7 +136,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { } if (s) { - return transformResult(s, id, config) + return transformStableResult(s, id, config) } return null diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index c554fa0396f87b..502f2078cefd5c 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -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 } }