Skip to content

Commit a7b0954

Browse files
committed
wip(ssr): move ssr only utils to conditional export
1 parent e6e2c58 commit a7b0954

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

packages/runtime-core/src/index.ts

+14-6
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,20 @@ export const camelize = _camelize as (s: string) => string
101101
// For integration with runtime compiler
102102
export { registerRuntimeCompiler } from './component'
103103

104-
// For server-renderer
105-
// TODO move these into a conditional object to avoid exporting them in client
106-
// builds
107-
export { createComponentInstance, setupComponent } from './component'
108-
export { renderComponentRoot } from './componentRenderUtils'
109-
export { normalizeVNode } from './vnode'
104+
// SSR -------------------------------------------------------------------------
105+
import { createComponentInstance, setupComponent } from './component'
106+
import { renderComponentRoot } from './componentRenderUtils'
107+
import { normalizeVNode } from './vnode'
108+
109+
// SSR utils are only exposed in SSR builds.
110+
const _ssrUtils = {
111+
createComponentInstance,
112+
setupComponent,
113+
renderComponentRoot,
114+
normalizeVNode
115+
}
116+
117+
export const ssrUtils = (__SSR__ ? _ssrUtils : null) as typeof _ssrUtils
110118

111119
// Types -----------------------------------------------------------------------
112120

packages/server-renderer/src/renderToString.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,13 @@ import {
44
ComponentInternalInstance,
55
VNode,
66
VNodeChildren,
7-
createComponentInstance,
8-
setupComponent,
97
createVNode,
10-
renderComponentRoot,
118
Text,
129
Comment,
1310
Fragment,
1411
Portal,
1512
ShapeFlags,
16-
normalizeVNode
13+
ssrUtils
1714
} from 'vue'
1815
import {
1916
isString,
@@ -25,6 +22,13 @@ import {
2522
import { renderProps } from './renderProps'
2623
import { escape } from './escape'
2724

25+
const {
26+
createComponentInstance,
27+
setupComponent,
28+
renderComponentRoot,
29+
normalizeVNode
30+
} = ssrUtils
31+
2832
// Each component has a buffer array.
2933
// A buffer array can contain one of the following:
3034
// - plain string

0 commit comments

Comments
 (0)