]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
feat(compiler): set sourcesContent for source map
authorEvan You <yyx990803@gmail.com>
Fri, 20 Sep 2019 16:19:52 +0000 (12:19 -0400)
committerEvan You <yyx990803@gmail.com>
Fri, 20 Sep 2019 16:19:52 +0000 (12:19 -0400)
packages/compiler-core/__tests__/codegen.spec.ts
packages/compiler-core/src/codegen.ts

index 4090853545f33610858454c6cea0b08458998794..73e4a5a593fbf2febcc80b75aeebfd639571d554 100644 (file)
@@ -3,10 +3,16 @@ import { SourceMapConsumer, RawSourceMap } from 'source-map'
 
 describe('compiler: codegen', () => {
   test('basic source map support', async () => {
-    const ast = parse(`hello {{ world }}`)
-    const { code, map } = generate(ast)
+    const source = `hello {{ world }}`
+    const ast = parse(source)
+    const { code, map } = generate(ast, {
+      filename: `foo.vue`
+    })
     expect(code).toBe(`["hello ", world]`)
 
+    expect(map!.sources).toEqual([`foo.vue`])
+    expect(map!.sourcesContent).toEqual([source])
+
     const consumer = await new SourceMapConsumer(map as RawSourceMap)
     const pos = consumer.originalPositionFor({
       line: 1,
index 857aa92a3631fb4a3105afd4f6ddee5c6bfd8bd1..e85bb19376cc67ef3f9c223819ce5e1338fbcf64 100644 (file)
@@ -107,6 +107,9 @@ function createCodegenContext(
       }
     }
   }
+  if (!__BROWSER__) {
+    context.map!.setSourceContent(filename, context.source)
+  }
   return context
 }