From c11436bc4ec8c3eb66bf4e512c7dc109739c1b68 Mon Sep 17 00:00:00 2001 From: 0x009922 Date: Thu, 6 May 2021 07:36:41 +0300 Subject: [PATCH] fix: process render function, exported as default --- .../basic/components/FunctionalRenderFn.vue | 12 ++++++++++++ e2e/__projects__/basic/test.js | 9 +++++++++ lib/generate-code.js | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 e2e/__projects__/basic/components/FunctionalRenderFn.vue diff --git a/e2e/__projects__/basic/components/FunctionalRenderFn.vue b/e2e/__projects__/basic/components/FunctionalRenderFn.vue new file mode 100644 index 00000000..eccb3f2e --- /dev/null +++ b/e2e/__projects__/basic/components/FunctionalRenderFn.vue @@ -0,0 +1,12 @@ + diff --git a/e2e/__projects__/basic/test.js b/e2e/__projects__/basic/test.js index a1a6e89b..2a889ba9 100644 --- a/e2e/__projects__/basic/test.js +++ b/e2e/__projects__/basic/test.js @@ -18,6 +18,7 @@ import NoScript from './components/NoScript.vue' import PugRelative from './components/PugRelativeExtends.vue' import { randomExport } from './components/NamedExport.vue' import ScriptSetup from './components/ScriptSetup.vue' +import FunctionalRenderFn from './components/FunctionalRenderFn.vue' // TODO: JSX for Vue 3? TSX? import Jsx from './components/Jsx.vue' @@ -158,3 +159,11 @@ xtest('processes .vue file using jsx', () => { mount(Jsx) expect(document.querySelector('#jsx')).toBeTruthy() }) + +test('processes functional component exported as function', () => { + mount(FunctionalRenderFn) + + const elem = document.querySelector('#functional-render-fn') + expect(elem).toBeTruthy() + expect(elem.innerHTML).toBe('Nyan') +}) diff --git a/lib/generate-code.js b/lib/generate-code.js index 45235b17..d26d4ec2 100644 --- a/lib/generate-code.js +++ b/lib/generate-code.js @@ -42,7 +42,7 @@ module.exports = function generateCode( if (tempOutput.includes('exports.render = render;')) { node.add(';exports.default = {...exports.default, render};') } else { - node.add(';exports.default = {...exports.default};') + // node.add(';exports.default = {...exports.default};') } return node.toStringWithSourceMap({ file: filename })