]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore(runtime-vapor): improve Teleport tree-shaking with duck typing
authordaiwei <daiwei521@126.com>
Thu, 25 Dec 2025 09:26:24 +0000 (17:26 +0800)
committeredison <daiwei521@126.com>
Fri, 26 Dec 2025 05:37:59 +0000 (13:37 +0800)
packages/runtime-vapor/src/components/Teleport.ts

index 83feee9b3cbb4c41cf5b15e8047145aa0b62c92b..4a54ac3bec69ae2ba92055a8751e5bf95a1a1543 100644 (file)
@@ -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(