From 46d80f4d585195446e7f8cf4ba42d00a98e9ee5d Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 27 Nov 2020 10:34:45 -0500 Subject: [PATCH] fix: allow hmr in all builds close #2571 --- packages/runtime-core/src/component.ts | 2 +- packages/runtime-core/src/customFormatter.ts | 4 ++-- packages/runtime-core/src/hmr.ts | 2 +- packages/runtime-core/src/renderer.ts | 13 ++++--------- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 99b261a6..43f700cc 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -614,7 +614,7 @@ export function handleSetupResult( ) { if (isFunction(setupResult)) { // setup returned an inline render function - if (!__BROWSER__ && (instance.type as ComponentOptions).__ssrInlineRender) { + if (__NODE_JS__ && (instance.type as ComponentOptions).__ssrInlineRender) { // when the function's name is `ssrRender` (compiled by SFC inline mode), // set it as ssrRender instead. instance.ssrRender = setupResult diff --git a/packages/runtime-core/src/customFormatter.ts b/packages/runtime-core/src/customFormatter.ts index 706cef69..e628f75b 100644 --- a/packages/runtime-core/src/customFormatter.ts +++ b/packages/runtime-core/src/customFormatter.ts @@ -4,7 +4,8 @@ import { ComponentInternalInstance, ComponentOptions } from './component' import { ComponentPublicInstance } from './componentPublicInstance' export function initCustomFormatter() { - if (!__DEV__ || !__BROWSER__) { + /* eslint-disable no-restricted-globals */ + if (!__DEV__ || typeof window === 'undefined') { return } @@ -189,7 +190,6 @@ export function initCustomFormatter() { return `Ref` } - /* eslint-disable no-restricted-globals */ if ((window as any).devtoolsFormatters) { ;(window as any).devtoolsFormatters.push(formatter) } else { diff --git a/packages/runtime-core/src/hmr.ts b/packages/runtime-core/src/hmr.ts index 7f28b2c7..e9053864 100644 --- a/packages/runtime-core/src/hmr.ts +++ b/packages/runtime-core/src/hmr.ts @@ -26,7 +26,7 @@ export interface HMRRuntime { // it easier to be used in toolings like vue-loader // Note: for a component to be eligible for HMR it also needs the __hmrId option // to be set so that its instances can be registered / removed. -if (__DEV__ && (__BROWSER__ || __TEST__)) { +if (__DEV__) { const globalObject: any = typeof global !== 'undefined' ? global diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 9c3b6eef..7960a2ec 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -889,7 +889,7 @@ function baseCreateRenderer( invokeDirectiveHook(n2, n1, parentComponent, 'beforeUpdate') } - if (__DEV__ && (__BROWSER__ || __TEST__) && isHmrUpdating) { + if (__DEV__ && isHmrUpdating) { // HMR updated, force full diff patchFlag = 0 optimized = false @@ -990,12 +990,7 @@ function baseCreateRenderer( parentSuspense, areChildrenSVG ) - if ( - __DEV__ && - (__BROWSER__ || __TEST__) && - parentComponent && - parentComponent.type.__hmrId - ) { + if (__DEV__ && parentComponent && parentComponent.type.__hmrId) { traverseStaticChildren(n1, n2) } } else if (!optimized) { @@ -1248,7 +1243,7 @@ function baseCreateRenderer( parentSuspense )) - if (__DEV__ && (__BROWSER__ || __TEST__) && instance.type.__hmrId) { + if (__DEV__ && instance.type.__hmrId) { registerHMR(instance) } @@ -2122,7 +2117,7 @@ function baseCreateRenderer( parentSuspense: SuspenseBoundary | null, doRemove?: boolean ) => { - if (__DEV__ && (__BROWSER__ || __TEST__) && instance.type.__hmrId) { + if (__DEV__ && instance.type.__hmrId) { unregisterHMR(instance) }