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 15f8acf4..8ea3b7d3 100644 --- a/e2e/__projects__/basic/test.js +++ b/e2e/__projects__/basic/test.js @@ -20,6 +20,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' @@ -179,3 +180,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 8ec4443a..9e0b9ca1 100644 --- a/lib/generate-code.js +++ b/lib/generate-code.js @@ -44,7 +44,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 })