From: daiwei Date: Thu, 25 Dec 2025 09:26:24 +0000 (+0800) Subject: chore(runtime-vapor): improve Teleport tree-shaking with duck typing X-Git-Tag: v3.6.0-beta.2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da6ddaca325caca3a6772ec98386d4e741777a71;p=thirdparty%2Fvuejs%2Fcore.git chore(runtime-vapor): improve Teleport tree-shaking with duck typing --- diff --git a/packages/runtime-vapor/src/components/Teleport.ts b/packages/runtime-vapor/src/components/Teleport.ts index 83feee9b3c..4a54ac3bec 100644 --- a/packages/runtime-vapor/src/components/Teleport.ts +++ b/packages/runtime-vapor/src/components/Teleport.ts @@ -334,10 +334,14 @@ export class TeleportFragment extends VaporFragment { } } +/** + * Use duck typing to check for VaporTeleport instead of direct reference + * to VaporTeleportImpl, allowing tree-shaking when Teleport is not used. + */ export function isVaporTeleport( value: unknown, ): value is typeof VaporTeleportImpl { - return value === VaporTeleportImpl + return !!(value && (value as any).__isTeleport && (value as any).__vapor) } function locateTeleportEndAnchor(