* 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
*/
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` +
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)
...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
}
: '',
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)
})