From 7db74879ad92eb0f6017cfdd0409e2e2724e5f51 Mon Sep 17 00:00:00 2001
From: CathLee <447932704@qq.com>
Date: Tue, 20 Feb 2024 22:50:56 +0800
Subject: [PATCH 1/3] test(compiler-translate):test close tag with component
tagType
---
.../__tests__/__snapshots__/compile.spec.ts.snap | 4 ++--
packages/compiler-vapor/__tests__/compile.spec.ts | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
index 1884981fd..59f6f69fc 100644
--- a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
@@ -130,7 +130,7 @@ export function render(_ctx) {
exports[`compile > directives > v-pre > self-closing v-pre 1`] = `
"import { children as _children, createTextNode as _createTextNode, append as _append, renderEffect as _renderEffect, setText as _setText, setDynamicProp as _setDynamicProp, template as _template } from 'vue/vapor';
-const t0 = _template("
")
+const t0 = _template("
")
export function render(_ctx) {
const n0 = t0()
@@ -145,7 +145,7 @@ export function render(_ctx) {
exports[`compile > directives > v-pre > should not affect siblings after it 1`] = `
"import { children as _children, createTextNode as _createTextNode, append as _append, renderEffect as _renderEffect, setText as _setText, setDynamicProp as _setDynamicProp, template as _template } from 'vue/vapor';
-const t0 = _template("{{ bar }}
")
+const t0 = _template("{{ bar }}
")
export function render(_ctx) {
const n0 = t0()
diff --git a/packages/compiler-vapor/__tests__/compile.spec.ts b/packages/compiler-vapor/__tests__/compile.spec.ts
index 23ba98882..c9684c9a3 100644
--- a/packages/compiler-vapor/__tests__/compile.spec.ts
+++ b/packages/compiler-vapor/__tests__/compile.spec.ts
@@ -96,7 +96,7 @@ describe('compile', () => {
)
expect(code).toMatchSnapshot()
- expect(code).contains('
')
+ expect(code).contains('
')
// Waiting for TODO, There should be more here.
})
})
From 4533af4e234079e06bbb832db319640eb153047a Mon Sep 17 00:00:00 2001
From: CathLee <447932704@qq.com>
Date: Tue, 20 Feb 2024 22:53:29 +0800
Subject: [PATCH 2/3] feat(compiler-translate)remove unnecessary close tag in
componet tagType
---
packages/compiler-vapor/src/transforms/transformElement.ts | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/packages/compiler-vapor/src/transforms/transformElement.ts b/packages/compiler-vapor/src/transforms/transformElement.ts
index 8aed3a9e3..a9a10a3aa 100644
--- a/packages/compiler-vapor/src/transforms/transformElement.ts
+++ b/packages/compiler-vapor/src/transforms/transformElement.ts
@@ -61,7 +61,11 @@ export const transformElement: NodeTransform = (node, context) => {
// TODO remove unnecessary close tag, e.g. if it's the last element of the template
if (!isVoidTag(tag)) {
- context.template += `${tag}>`
+ if (node.tagType === ElementTypes.COMPONENT) {
+ context.template = `<${tag}/>`
+ } else {
+ context.template += `${tag}>`
+ }
}
}
}
From f2da119f8bf815da54676a810fee73d1a664edd1 Mon Sep 17 00:00:00 2001
From: CathLee <447932704@qq.com>
Date: Wed, 21 Feb 2024 16:35:03 +0800
Subject: [PATCH 3/3] test:component close tag test
---
.../__tests__/__snapshots__/compile.spec.ts.snap | 10 ++++++++++
packages/compiler-vapor/__tests__/compile.spec.ts | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
index 59f6f69fc..29eced80f 100644
--- a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
@@ -12,6 +12,16 @@ export function render(_ctx) {
}"
`;
+exports[`compile > component close tag 1`] = `
+"import { template as _template } from 'vue/vapor';
+const t0 = _template("
")
+
+export function render(_ctx) {
+ const n0 = t0()
+ return n0
+}"
+`;
+
exports[`compile > custom directive > basic 1`] = `
"import { children as _children, resolveDirective as _resolveDirective, withDirectives as _withDirectives, template as _template } from 'vue/vapor';
const t0 = _template("")
diff --git a/packages/compiler-vapor/__tests__/compile.spec.ts b/packages/compiler-vapor/__tests__/compile.spec.ts
index c9684c9a3..0d81ff838 100644
--- a/packages/compiler-vapor/__tests__/compile.spec.ts
+++ b/packages/compiler-vapor/__tests__/compile.spec.ts
@@ -21,6 +21,11 @@ describe('compile', () => {
)
expect(code).matchSnapshot()
})
+ test('component close tag', () => {
+ const code = compile(`
`)
+ expect(code).matchSnapshot()
+ expect(code).contains(JSON.stringify('
'))
+ })
test('dynamic root', () => {
const code = compile(`{{ 1 }}{{ 2 }}`)