]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip: avoid including vdom-only public properties map in bundle
authorEvan You <evan@vuejs.org>
Fri, 6 Dec 2024 15:06:11 +0000 (23:06 +0800)
committerEvan You <evan@vuejs.org>
Fri, 6 Dec 2024 15:06:11 +0000 (23:06 +0800)
packages/runtime-core/src/apiCreateApp.ts
packages/runtime-core/src/renderer.ts
packages/runtime-vapor/src/apiCreateApp.ts

index 511344ebe6afda693f4d5eaa346987f1c422fb66..9162b0e004c09702fedf2eeb920ac8df554c220e 100644 (file)
@@ -4,7 +4,6 @@ import {
   type Data,
   type GenericComponent,
   type GenericComponentInstance,
-  getComponentPublicInstance,
   validateComponentName,
 } from './component'
 import type {
@@ -280,6 +279,7 @@ export function createAppAPI<HostElement, Comp = Component>(
   // hydrate?: RootHydrateFunction,
   mount: AppMountFn<HostElement>,
   unmount: AppUnmountFn,
+  getPublicInstance: (instance: GenericComponentInstance) => any,
   render?: RootRenderFunction,
 ): CreateAppFunction<HostElement, Comp> {
   return function createApp(rootComponent, rootProps = null) {
@@ -409,7 +409,7 @@ export function createAppAPI<HostElement, Comp = Component>(
           // for devtools and telemetry
           rootContainer.__vue_app__ = app
 
-          return getComponentPublicInstance(instance)
+          return getPublicInstance(instance)
         } else if (__DEV__) {
           warn(
             `App has already been mounted.\n` +
index 9f4e3e2e4d37751d4ee54b224d3325ca98bdb77d..a21476de2cb48cda994220d3ef2ea7a4f13744e3 100644 (file)
@@ -20,6 +20,7 @@ import {
   type Data,
   type LifecycleHook,
   createComponentInstance,
+  getComponentPublicInstance,
   setupComponent,
 } from './component'
 import {
@@ -2445,7 +2446,12 @@ function baseCreateRenderer(
   return {
     render,
     hydrate,
-    createApp: createAppAPI(mountApp, unmountApp, render),
+    createApp: createAppAPI(
+      mountApp,
+      unmountApp,
+      getComponentPublicInstance,
+      render,
+    ),
   }
 }
 
index 55b0f7a25fdb9f64919d06381b869fc1b6854c58..597918e58973fe469fbdc813cb8d7a95b482a452 100644 (file)
@@ -29,7 +29,8 @@ export const createVaporApp: CreateAppFunction<
   ParentNode,
   VaporComponent
 > = comp => {
-  if (!_createApp) _createApp = createAppAPI(mountApp, unmountApp)
+  if (!_createApp)
+    _createApp = createAppAPI(mountApp, unmountApp, i => i.exposed)
   const app = _createApp(comp)
   const mount = app.mount
   app.mount = (container, ...args: any[]) => {