From: Evan You Date: Fri, 6 Dec 2024 15:06:11 +0000 (+0800) Subject: wip: avoid including vdom-only public properties map in bundle X-Git-Tag: v3.6.0-alpha.1~16^2~217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db3151b1a5afd346d70a72e4e473d4fabacd5bd7;p=thirdparty%2Fvuejs%2Fcore.git wip: avoid including vdom-only public properties map in bundle --- diff --git a/packages/runtime-core/src/apiCreateApp.ts b/packages/runtime-core/src/apiCreateApp.ts index 511344ebe6..9162b0e004 100644 --- a/packages/runtime-core/src/apiCreateApp.ts +++ b/packages/runtime-core/src/apiCreateApp.ts @@ -4,7 +4,6 @@ import { type Data, type GenericComponent, type GenericComponentInstance, - getComponentPublicInstance, validateComponentName, } from './component' import type { @@ -280,6 +279,7 @@ export function createAppAPI( // hydrate?: RootHydrateFunction, mount: AppMountFn, unmount: AppUnmountFn, + getPublicInstance: (instance: GenericComponentInstance) => any, render?: RootRenderFunction, ): CreateAppFunction { return function createApp(rootComponent, rootProps = null) { @@ -409,7 +409,7 @@ export function createAppAPI( // for devtools and telemetry rootContainer.__vue_app__ = app - return getComponentPublicInstance(instance) + return getPublicInstance(instance) } else if (__DEV__) { warn( `App has already been mounted.\n` + diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 9f4e3e2e4d..a21476de2c 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -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, + ), } } diff --git a/packages/runtime-vapor/src/apiCreateApp.ts b/packages/runtime-vapor/src/apiCreateApp.ts index 55b0f7a25f..597918e589 100644 --- a/packages/runtime-vapor/src/apiCreateApp.ts +++ b/packages/runtime-vapor/src/apiCreateApp.ts @@ -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[]) => {