const isSetupInlined = !!options.inline
preamble += ast.template
- .map((template, i) => `const t${i} = template(\`${template.template}\`)`)
- .join('\n')
+ .map((template, i) => `const t${i} = template(\`${template.template}\`)\n`)
+ .join('')
code += 'const root = t0()\n'
code += 'return root'
if (isSetupInlined) {
code = `(() => {\n${code}\n})();`
} else {
- code = `${preamble}\nexport function ${functionName}() {\n${code}\n}`
+ code = `${preamble}export function ${functionName}() {\n${code}\n}`
}
return {
case 2 satisfies NodeTypes.TEXT:
template += node.content
break
+ case 3 satisfies NodeTypes.COMMENT:
+ template += `<!--${node.content}-->`
+ break
case 5 satisfies NodeTypes.INTERPOLATION:
template += transformInterpolation(node)
break
- case 12 satisfies NodeTypes.TEXT_CALL:
- template += node.content
+ // case 12 satisfies NodeTypes.TEXT_CALL:
+ // template += node.content
+ default:
+ template += `[${node.type}]`
}
}
}
"version": "0.0.0",
"type": "module",
"scripts": {
- "dev": "vite"
+ "dev": "vite",
+ "build": "vite build"
},
"dependencies": {
"vue": "workspace:*"
<template>
<div>
<h1 class="red">Hello world</h1>
- {{ count }}
+ <!-- {{ count }} -->
<button style="font-weight: bold">Inc</button>
</div>
</template>
import * as CompilerVapor from '../packages/compiler-vapor/src'
export default defineConfig({
+ build: {
+ target: 'esnext'
+ },
plugins: [
Vue({
template: {