From 1cc835f7fff88aebe10d594e79acc9196691a058 Mon Sep 17 00:00:00 2001 From: zhiyuanzmj <260480378@qq.com> Date: Thu, 2 Oct 2025 15:18:28 +0800 Subject: [PATCH 1/3] fix(compiler-vapor): handle numbers as static text --- .../__snapshots__/transformText.spec.ts.snap | 11 +++++ .../__snapshots__/vBind.spec.ts.snap | 4 +- .../transforms/transformText.spec.ts | 14 +++++++ .../compiler-vapor/src/generators/text.ts | 2 +- .../src/transforms/transformText.ts | 40 ++++++------------- .../compiler-vapor/src/transforms/vBind.ts | 4 +- packages/compiler-vapor/src/utils.ts | 16 +++++--- 7 files changed, 53 insertions(+), 38 deletions(-) diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap index f18f8520353..1898cce3bff 100644 --- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap @@ -11,6 +11,17 @@ export function render(_ctx) { }" `; +exports[`compiler: text transform > constant text 1`] = ` +"import { child as _child, template as _template } from 'vue'; +const t0 = _template("
2 foo1 1 1
", true) + +export function render(_ctx) { + const n1 = t0() + const n0 = _child(n1) + return n1 +}" +`; + exports[`compiler: text transform > no consecutive text 1`] = ` "import { setText as _setText, template as _template } from 'vue'; const t0 = _template(" ") diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vBind.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vBind.spec.ts.snap index 4ea0db55fe5..4bbf1884d94 100644 --- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vBind.spec.ts.snap +++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vBind.spec.ts.snap @@ -633,7 +633,7 @@ export function render(_ctx) { exports[`compiler v-bind > with constant value 1`] = ` "import { setProp as _setProp, template as _template } from 'vue'; -const t0 = _template("
", true) +const t0 = _template("
", true) export function render(_ctx, $props, $emit, $attrs, $slots) { const n0 = t0() @@ -641,8 +641,6 @@ export function render(_ctx, $props, $emit, $attrs, $slots) { _setProp(n0, "b", 1 > 2) _setProp(n0, "c", 1 + 2) _setProp(n0, "d", 1 ? 2 : 3) - _setProp(n0, "e", (2)) - _setProp(n0, "g", 1) _setProp(n0, "i", true) _setProp(n0, "j", null) _setProp(n0, "k", _ctx.x) diff --git a/packages/compiler-vapor/__tests__/transforms/transformText.spec.ts b/packages/compiler-vapor/__tests__/transforms/transformText.spec.ts index dbff56f2a42..747be50b428 100644 --- a/packages/compiler-vapor/__tests__/transforms/transformText.spec.ts +++ b/packages/compiler-vapor/__tests__/transforms/transformText.spec.ts @@ -54,4 +54,18 @@ describe('compiler: text transform', () => { expect(ir.template).toContain('<script>') expect(ir.template).not.toContain('