From f1fcada83fde0d02494cfc3a7ab0934e8d468e4e Mon Sep 17 00:00:00 2001 From: edison Date: Tue, 21 Oct 2025 08:47:14 +0800 Subject: [PATCH] feat(hydration): hydrate VaporTransition (#14001) --- packages/runtime-core/src/hydration.ts | 14 ++--- packages/runtime-core/src/index.ts | 4 ++ .../runtime-vapor/__tests__/hydration.spec.ts | 2 +- .../src/components/Transition.ts | 46 +++++++++++++- .../runtime-vapor/src/directives/vShow.ts | 62 ++++++++++--------- 5 files changed, 88 insertions(+), 40 deletions(-) diff --git a/packages/runtime-core/src/hydration.ts b/packages/runtime-core/src/hydration.ts index 38cce8b5a3..e1c10afdbe 100644 --- a/packages/runtime-core/src/hydration.ts +++ b/packages/runtime-core/src/hydration.ts @@ -805,16 +805,16 @@ export function createHydrationFunctions( } } - const isTemplateNode = (node: Node): node is HTMLTemplateElement => { - return ( - node.nodeType === DOMNodeTypes.ELEMENT && - (node as Element).tagName === 'TEMPLATE' - ) - } - return [hydrate, hydrateNode] } +export const isTemplateNode = (node: Node): node is HTMLTemplateElement => { + return ( + node.nodeType === DOMNodeTypes.ELEMENT && + (node as Element).tagName === 'TEMPLATE' + ) +} + /** * Dev only */ diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts index d0ae0fe79e..e4803b7cc3 100644 --- a/packages/runtime-core/src/index.ts +++ b/packages/runtime-core/src/index.ts @@ -644,3 +644,7 @@ export { * @internal */ export { createCanSetSetupRefChecker } from './rendererTemplateRef' +/** + * @internal + */ +export { isTemplateNode } from './hydration' diff --git a/packages/runtime-vapor/__tests__/hydration.spec.ts b/packages/runtime-vapor/__tests__/hydration.spec.ts index 213ec275c2..50e84e4c08 100644 --- a/packages/runtime-vapor/__tests__/hydration.spec.ts +++ b/packages/runtime-vapor/__tests__/hydration.spec.ts @@ -2897,7 +2897,7 @@ describe('Vapor Mode hydration', () => { }) }) - describe.todo('transition', async () => { + describe('transition', async () => { test('transition appear', async () => { const { container } = await testHydration( `