Skip to content

Commit 9383139

Browse files
committed
refactor: exrtract process function to own file
1 parent f55359e commit 9383139

File tree

2 files changed

+56
-53
lines changed

2 files changed

+56
-53
lines changed

jest-vue.js

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,5 @@
1-
const vueCompiler = require('vue-template-compiler')
2-
const compileTemplate = require('./lib/template-compiler')
3-
const generateSourceMap = require('./lib/generate-source-map')
4-
const addTemplateMapping = require('./lib/add-template-mapping')
5-
const convertSourceMap = require('convert-source-map')
6-
const compileBabel = require('./lib/compilers/babel-compiler')
7-
const compileTypescript = require('./lib/compilers/typescript-compiler')
8-
const compileCoffeeScript = require('./lib/compilers/coffee-compiler')
9-
10-
const splitRE = /\r?\n/g
11-
12-
function processScript (scriptPart) {
13-
if (scriptPart.lang === 'typescript' || scriptPart.lang === 'ts') {
14-
return compileTypescript(scriptPart.content)
15-
}
16-
17-
if (scriptPart.lang === 'coffee' || scriptPart.lang === 'coffeescript') {
18-
return compileCoffeeScript(scriptPart.content)
19-
}
20-
21-
return compileBabel(scriptPart.content)
22-
}
1+
const process = require('./lib/process')
232

243
module.exports = {
25-
process (src, path) {
26-
var parts = vueCompiler.parseComponent(src, { pad: true })
27-
const renderFunctions = compileTemplate(parts.template)
28-
29-
const result = processScript(parts.script)
30-
31-
const script = result.code
32-
const inputMap = result.sourceMap
33-
34-
const map = generateSourceMap(script, '', path, src, inputMap)
35-
let output = ';(function(){\n' + script + '\n})()\n' +
36-
'if (module.exports.__esModule) module.exports = module.exports.default\n' +
37-
'var __vue__options__ = (typeof module.exports === "function"' +
38-
'? module.exports.options' +
39-
': module.exports)\n'
40-
var beforeLines
41-
if (map) {
42-
beforeLines = output.split(splitRE).length
43-
}
44-
output += '__vue__options__.render = ' + renderFunctions.render + '\n' +
45-
'__vue__options__.staticRenderFns = ' + renderFunctions.staticRenderFns + '\n'
46-
if (map) {
47-
addTemplateMapping(script, parts, output, map, beforeLines)
48-
}
49-
50-
if (map) {
51-
output += '\n' + convertSourceMap.fromJSON(map.toString()).toComment()
52-
}
53-
54-
return output
55-
}
4+
process: process
565
}

lib/process.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
const vueCompiler = require('vue-template-compiler')
2+
const convertSourceMap = require('convert-source-map')
3+
const compileTemplate = require('./template-compiler')
4+
const generateSourceMap = require('./generate-source-map')
5+
const addTemplateMapping = require('./add-template-mapping')
6+
const compileBabel = require('./compilers/babel-compiler')
7+
const compileTypescript = require('./compilers/typescript-compiler')
8+
const compileCoffeeScript = require('./compilers/coffee-compiler')
9+
10+
const splitRE = /\r?\n/g
11+
12+
function processScript (scriptPart) {
13+
if (scriptPart.lang === 'typescript' || scriptPart.lang === 'ts') {
14+
return compileTypescript(scriptPart.content)
15+
}
16+
17+
if (scriptPart.lang === 'coffee' || scriptPart.lang === 'coffeescript') {
18+
return compileCoffeeScript(scriptPart.content)
19+
}
20+
21+
return compileBabel(scriptPart.content)
22+
}
23+
24+
module.exports = function(src, path){
25+
var parts = vueCompiler.parseComponent(src, { pad: true })
26+
const renderFunctions = compileTemplate(parts.template)
27+
28+
const result = processScript(parts.script)
29+
30+
const script = result.code
31+
const inputMap = result.sourceMap
32+
33+
const map = generateSourceMap(script, '', path, src, inputMap)
34+
let output = ';(function(){\n' + script + '\n})()\n' +
35+
'if (module.exports.__esModule) module.exports = module.exports.default\n' +
36+
'var __vue__options__ = (typeof module.exports === "function"' +
37+
'? module.exports.options' +
38+
': module.exports)\n'
39+
var beforeLines
40+
if (map) {
41+
beforeLines = output.split(splitRE).length
42+
}
43+
output += '__vue__options__.render = ' + renderFunctions.render + '\n' +
44+
'__vue__options__.staticRenderFns = ' + renderFunctions.staticRenderFns + '\n'
45+
if (map) {
46+
addTemplateMapping(script, parts, output, map, beforeLines)
47+
}
48+
49+
if (map) {
50+
output += '\n' + convertSourceMap.fromJSON(map.toString()).toComment()
51+
}
52+
53+
return output
54+
}

0 commit comments

Comments
 (0)