From e9c9e4903dc313840bc224a6d465ad05a990116e Mon Sep 17 00:00:00 2001 From: daiwei Date: Thu, 24 Apr 2025 16:58:18 +0800 Subject: [PATCH] wip: refactor hydration for v-if --- .../__tests__/ssrComponent.spec.ts | 3 + .../__tests__/ssrFallthroughAttrs.spec.ts | 1 + .../__tests__/ssrInjectCssVars.spec.ts | 1 + .../__tests__/ssrSlotOutlet.spec.ts | 1 + .../__tests__/ssrTransitionGroup.spec.ts | 2 + .../compiler-ssr/__tests__/ssrVIf.spec.ts | 30 ++++-- .../compiler-ssr/__tests__/ssrVModel.spec.ts | 1 + .../compiler-ssr/src/ssrCodegenTransform.ts | 9 +- .../compiler-ssr/src/transforms/ssrVIf.ts | 10 +- .../runtime-core/__tests__/hydration.spec.ts | 12 +-- packages/runtime-core/src/hydration.ts | 16 +++- packages/runtime-core/src/index.ts | 2 +- .../runtime-vapor/__tests__/hydration.spec.ts | 92 ++++++++++++++++++- packages/runtime-vapor/src/apiCreateIf.ts | 29 +----- packages/runtime-vapor/src/block.ts | 33 ++++++- packages/runtime-vapor/src/dom/hydration.ts | 37 +++++++- packages/runtime-vapor/src/dom/node.ts | 62 +++++++++++-- 17 files changed, 274 insertions(+), 67 deletions(-) diff --git a/packages/compiler-ssr/__tests__/ssrComponent.spec.ts b/packages/compiler-ssr/__tests__/ssrComponent.spec.ts index 2fde4560e..7459cb492 100644 --- a/packages/compiler-ssr/__tests__/ssrComponent.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrComponent.spec.ts @@ -245,6 +245,7 @@ describe('ssr: components', () => { _push(\`\`) }) _push(\`\`) + _push(\`\`) } else { _push(\`\`) } @@ -268,6 +269,7 @@ describe('ssr: components', () => { _push(\`\`) }) _push(\`\`) + _push(\`\`) } else { _push(\`\`) } @@ -361,6 +363,7 @@ describe('ssr: components', () => { _push(\`\`) if (false) { _push(\`\`) + _push(\`\`) } else { _push(\`\`) } diff --git a/packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts b/packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts index 7b3d1962c..a83797900 100644 --- a/packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrFallthroughAttrs.spec.ts @@ -29,6 +29,7 @@ describe('ssr: attrs fallthrough', () => { _push(\`\`) if (true) { _push(\`
\`) + _push(\`\`) } else { _push(\`\`) } diff --git a/packages/compiler-ssr/__tests__/ssrInjectCssVars.spec.ts b/packages/compiler-ssr/__tests__/ssrInjectCssVars.spec.ts index 9e70dac0b..3eef5a777 100644 --- a/packages/compiler-ssr/__tests__/ssrInjectCssVars.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrInjectCssVars.spec.ts @@ -70,6 +70,7 @@ describe('ssr: inject