]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip(ssr): move ssr only utils to conditional export
authorEvan You <yyx990803@gmail.com>
Wed, 29 Jan 2020 03:14:43 +0000 (22:14 -0500)
committerEvan You <yyx990803@gmail.com>
Wed, 29 Jan 2020 03:14:43 +0000 (22:14 -0500)
packages/runtime-core/src/index.ts
packages/server-renderer/src/renderToString.ts

index 1c20819fb1373d65c41d493e89176032c4c9c1e9..df3d04bd5375dd5654ea5c8140020a48f2af19ba 100644 (file)
@@ -101,12 +101,20 @@ export const camelize = _camelize as (s: string) => string
 // For integration with runtime compiler
 export { registerRuntimeCompiler } from './component'
 
-// For server-renderer
-// TODO move these into a conditional object to avoid exporting them in client
-// builds
-export { createComponentInstance, setupComponent } from './component'
-export { renderComponentRoot } from './componentRenderUtils'
-export { normalizeVNode } from './vnode'
+// SSR -------------------------------------------------------------------------
+import { createComponentInstance, setupComponent } from './component'
+import { renderComponentRoot } from './componentRenderUtils'
+import { normalizeVNode } from './vnode'
+
+// SSR utils are only exposed in SSR builds.
+const _ssrUtils = {
+  createComponentInstance,
+  setupComponent,
+  renderComponentRoot,
+  normalizeVNode
+}
+
+export const ssrUtils = (__SSR__ ? _ssrUtils : null) as typeof _ssrUtils
 
 // Types -----------------------------------------------------------------------
 
index 1b936cfbcd4b18863d691c8562157e69d7c2f0bd..412fdb277900ecf88cb55725f58fe1a932deca4a 100644 (file)
@@ -4,16 +4,13 @@ import {
   ComponentInternalInstance,
   VNode,
   VNodeChildren,
-  createComponentInstance,
-  setupComponent,
   createVNode,
-  renderComponentRoot,
   Text,
   Comment,
   Fragment,
   Portal,
   ShapeFlags,
-  normalizeVNode
+  ssrUtils
 } from 'vue'
 import {
   isString,
@@ -25,6 +22,13 @@ import {
 import { renderProps } from './renderProps'
 import { escape } from './escape'
 
+const {
+  createComponentInstance,
+  setupComponent,
+  renderComponentRoot,
+  normalizeVNode
+} = ssrUtils
+
 // Each component has a buffer array.
 // A buffer array can contain one of the following:
 // - plain string