|
1 | 1 | const vueCompiler = require('vue-template-compiler') |
2 | 2 | const babel = require('babel-core') |
3 | | -const sourceMap = require('source-map') |
4 | | -const path = require('path') |
5 | | -const compileTemplate = require('./template-compiler') |
| 3 | +const compileTemplate = require('./lib/template-compiler') |
| 4 | +const generateSourceMap = require('./lib/generate-source-map') |
| 5 | +const addTemplateMapping = require('./lib/add-template-mapping') |
| 6 | + |
6 | 7 | const convert = require('convert-source-map') |
7 | | -const fs = require('fs') |
8 | 8 | const splitRE = /\r?\n/g |
9 | 9 |
|
10 | | -function generateSourceMap (script, output, filePath, content, inputMap) { |
11 | | - var hashedFilename = path.basename(filePath) |
12 | | - var map = new sourceMap.SourceMapGenerator() |
13 | | - map.setSourceContent(hashedFilename, content) |
14 | | - // check input source map from babel/coffee etc |
15 | | - var inputMapConsumer = inputMap && new sourceMap.SourceMapConsumer(inputMap) |
16 | | - var generatedOffset = (output ? output.split(splitRE).length : 0) + 1 |
17 | | - script.split(splitRE).forEach(function (line, index) { |
18 | | - var ln = index + 1 |
19 | | - var originalLine = inputMapConsumer |
20 | | - ? inputMapConsumer.originalPositionFor({ line: ln, column: 0 }).line |
21 | | - : ln |
22 | | - if (originalLine) { |
23 | | - map.addMapping({ |
24 | | - source: hashedFilename, |
25 | | - generated: { |
26 | | - line: ln + generatedOffset, |
27 | | - column: 0 |
28 | | - }, |
29 | | - original: { |
30 | | - line: originalLine, |
31 | | - column: 0 |
32 | | - } |
33 | | - }) |
34 | | - } |
35 | | - }) |
36 | | - map._hashedFilename = hashedFilename |
37 | | - return map |
38 | | -} |
39 | | - |
40 | | -function addTemplateMapping (content, parts, output, map, beforeLines) { |
41 | | - var afterLines = output.split(splitRE).length |
42 | | - var templateLine = content.slice(0, parts.template.start).split(splitRE).length |
43 | | - for (; beforeLines < afterLines; beforeLines++) { |
44 | | - map.addMapping({ |
45 | | - source: map._hashedFilename, |
46 | | - generated: { |
47 | | - line: beforeLines, |
48 | | - column: 0 |
49 | | - }, |
50 | | - original: { |
51 | | - line: templateLine, |
52 | | - column: 0 |
53 | | - } |
54 | | - }) |
55 | | - } |
56 | | -} |
57 | | - |
58 | 10 | module.exports = { |
59 | 11 | process (src, path) { |
60 | 12 | var parts = vueCompiler.parseComponent(src, { pad: true }) |
|
0 commit comments