diff --git a/package.json b/package.json index d3578bc..c01b5d0 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "parse5": "^2.2.2", "rollup-pluginutils": "^1.5.2", "vue-template-compiler": "^2.0.3", - "vue-template-es2015-compiler": "^1.2.4", + "vue-template-es2015-compiler": "^1.3.0", "vue-template-validator": "^1.1.5" }, "devDependencies": { diff --git a/src/vueTransform.js b/src/vueTransform.js index c17a957..a797dc0 100644 --- a/src/vueTransform.js +++ b/src/vueTransform.js @@ -60,16 +60,14 @@ function injectRender(script, render, lang) { if (['js', 'babel'].indexOf(lang.toLowerCase()) > -1) { const matches = /(export default[^{]*\{)/g.exec(script); if (matches) { - const scriptWithRender = script.split(matches[1]) - // buble doesn't support export default, not even with the - // module: false trasforms: - // https://buble.surge.sh/guide/#using-es-modules - .join('module.exports={' + - `render: ${wrapRenderFunction(render.render)},` + - 'staticRenderFns: [' + - `${render.staticRenderFns.map(wrapRenderFunction).join(',')}],` - ); - return transpileVueTemplate(scriptWithRender, { + let codes = script.split(matches[1]); + + const scriptWithRender = 'module.exports={' + + `render: ${wrapRenderFunction(render.render)},` + + 'staticRenderFns: [' + + `${render.staticRenderFns.map(wrapRenderFunction).join(',')}], ${codes[1]}`; + + return codes[0] + transpileVueTemplate(scriptWithRender, { // Remove all trasforms added by vue since it's up to the user // to use whatever he wants // https://github.com/vuejs/vue-template-es2015-compiler/blob/master/index.js#L6 diff --git a/yarn.lock b/yarn.lock index 34605f5..728b5a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1842,9 +1842,9 @@ vue-template-compiler@^2.0.3: de-indent "^1.0.2" he "^1.1.0" -vue-template-es2015-compiler: - version "1.2.4" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.2.4.tgz#f8068d805bd93b0b47afb9dc9f47976f77c8282a" +vue-template-es2015-compiler@^1.3.0: + version "1.3.0" + resolved "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.3.0.tgz#4a0f2a0bbef8b5731f78add8263cd86fe4f643ca" vue-template-validator@^1.1.5: version "1.1.5"