From 585615beb1727e6eb32c41f1e0bba6975ff40b28 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sat, 18 Sep 2021 17:42:09 -0400 Subject: [PATCH] feat(compiler-sfc): allow disabling sourcemap when not needed --- packages/compiler-sfc/src/compileScript.ts | 33 +++++++++++--------- packages/compiler-sfc/src/compileTemplate.ts | 2 +- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index 253abbae..440c013d 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -77,6 +77,10 @@ export interface SFCScriptCompileOptions { * Production mode. Used to determine whether to generate hashed CSS variables */ isProd?: boolean + /** + * Enable/disable source map. Defaults to true. + */ + sourceMap?: boolean /** * https://babeljs.io/docs/en/babel-parser#plugins */ @@ -127,12 +131,9 @@ export function compileScript( let { script, scriptSetup, source, filename } = sfc // feature flags const enableRefTransform = !!options.refSugar || !!options.refTransform + const genSourceMap = options.sourceMap !== false let refBindings: string[] | undefined - // for backwards compat - if (!options) { - options = { id: '' } - } if (!options.id) { warnOnce( `compileScript now requires passing the \`id\` option.\n` + @@ -188,11 +189,13 @@ export function compileScript( s.remove(0, startOffset) s.remove(endOffset, source.length) content = s.toString() - map = s.generateMap({ - source: filename, - hires: true, - includeContent: true - }) as unknown as RawSourceMap + if (genSourceMap) { + map = s.generateMap({ + source: filename, + hires: true, + includeContent: true + }) as unknown as RawSourceMap + } } if (cssVars.length) { content = rewriteDefault(content, `__default__`, plugins) @@ -1307,11 +1310,13 @@ export function compileScript( ...scriptSetup, bindings: bindingMetadata, content: s.toString(), - map: s.generateMap({ - source: filename, - hires: true, - includeContent: true - }) as unknown as RawSourceMap, + map: genSourceMap + ? (s.generateMap({ + source: filename, + hires: true, + includeContent: true + }) as unknown as RawSourceMap) + : undefined, scriptAst: scriptAst?.body, scriptSetupAst: scriptSetupAst?.body } diff --git a/packages/compiler-sfc/src/compileTemplate.ts b/packages/compiler-sfc/src/compileTemplate.ts index 4e54942a..6f44616d 100644 --- a/packages/compiler-sfc/src/compileTemplate.ts +++ b/packages/compiler-sfc/src/compileTemplate.ts @@ -206,10 +206,10 @@ function doCompileTemplate({ : '', scopeId: scoped ? longId : undefined, slotted, + sourceMap: true, ...compilerOptions, nodeTransforms: nodeTransforms.concat(compilerOptions.nodeTransforms || []), filename, - sourceMap: true, onError: e => errors.push(e), onWarn: w => warnings.push(w) })