mirror of https://github.com/vuejs/core.git
fix(hmr): prevent __VUE_HMR_RUNTIME__ from being overwritten by vue runtime in 3rd-party libraries (#13817)
close vitejs/vite-plugin-vue#644
This commit is contained in:
parent
8696e346b4
commit
1392734ae5
|
@ -31,11 +31,17 @@ export interface HMRRuntime {
|
|||
// 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__) {
|
||||
getGlobalThis().__VUE_HMR_RUNTIME__ = {
|
||||
const g = getGlobalThis()
|
||||
// vite-plugin-vue/issues/644, #13202
|
||||
// custom-element libraries bundle Vue to simplify usage outside Vue projects but
|
||||
// it overwrite __VUE_HMR_RUNTIME__, causing HMR to break.
|
||||
if (!g.__VUE_HMR_RUNTIME__) {
|
||||
g.__VUE_HMR_RUNTIME__ = {
|
||||
createRecord: tryWrap(createRecord),
|
||||
rerender: tryWrap(rerender),
|
||||
reload: tryWrap(reload),
|
||||
} as HMRRuntime
|
||||
}
|
||||
}
|
||||
|
||||
const map: Map<
|
||||
|
|
Loading…
Reference in New Issue