]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
feat: build
author三咲智子 Kevin Deng <sxzz@sxzz.moe>
Fri, 17 Nov 2023 09:35:49 +0000 (17:35 +0800)
committer三咲智子 Kevin Deng <sxzz@sxzz.moe>
Fri, 17 Nov 2023 09:35:49 +0000 (17:35 +0800)
packages/compiler-vapor/src/generate.ts
packages/compiler-vapor/src/transform.ts
playground/package.json
playground/src/App.vue
playground/vite.config.ts

index 5763d4f7a25c6f95ffa4d6e4eb2daa976011fd86..9a22ad0310211b1993cacfcaea10bab0886655b8 100644 (file)
@@ -18,8 +18,8 @@ export function generate(
   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'
@@ -28,7 +28,7 @@ export function generate(
   if (isSetupInlined) {
     code = `(() => {\n${code}\n})();`
   } else {
-    code = `${preamble}\nexport function ${functionName}() {\n${code}\n}`
+    code = `${preamble}export function ${functionName}() {\n${code}\n}`
   }
 
   return {
index 598e274b3bad5059dd8372c972ae532be5782bf0..5624b2de3fb25979940a033781a2244cd2562dab 100644 (file)
@@ -65,11 +65,16 @@ function transformChildren(children: TemplateChildNode[]) {
       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}]`
     }
   }
 }
index 94f095cfa5d0b7d4435bf7d745b1d8637ba237d3..c920827d555f20f089326f78d0099deaacc7052b 100644 (file)
@@ -3,7 +3,8 @@
   "version": "0.0.0",
   "type": "module",
   "scripts": {
-    "dev": "vite"
+    "dev": "vite",
+    "build": "vite build"
   },
   "dependencies": {
     "vue": "workspace:*"
index 2794cc64fa4c311c75dd6e86e2b4cdd6869b52fc..cb9bd26c93737fbe1272f9e514e274a859675b5d 100644 (file)
@@ -7,7 +7,7 @@ const count = ref(0)
 <template>
   <div>
     <h1 class="red">Hello world</h1>
-    {{ count }}
+    <!-- {{ count }} -->
     <button style="font-weight: bold">Inc</button>
   </div>
 </template>
index 61c419faec73cab52dbf9f663626b24f23260ab3..bbd8c6cd83d2ac7a90f3941443119c2124077650 100644 (file)
@@ -4,6 +4,9 @@ import Inspect from 'vite-plugin-inspect'
 import * as CompilerVapor from '../packages/compiler-vapor/src'
 
 export default defineConfig({
+  build: {
+    target: 'esnext'
+  },
   plugins: [
     Vue({
       template: {