Skip to content

Commit 13a10b5

Browse files
committed
add module auto-require, fixes #794
1 parent dccd36e commit 13a10b5

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

packages/react-hot-loader/src/hot.dev.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ import reactHotLoader from './reactHotLoader'
66
import { isOpened as isModuleOpened } from './global/modules'
77
import logger from './logger'
88

9+
/* eslint-disable camelcase, no-undef */
10+
const requireIndirect =
11+
typeof __webpack_require__ !== 'undefined' ? __webpack_require__ : require
12+
/* eslint-enable */
13+
914
const createHoc = (SourceComponent, TargetComponent) => {
1015
hoistNonReactStatic(TargetComponent, SourceComponent)
1116
TargetComponent.displayName = `HotExported${getComponentDisplayName(
@@ -16,7 +21,16 @@ const createHoc = (SourceComponent, TargetComponent) => {
1621

1722
const makeHotExport = (sourceModule, getInstances) => {
1823
const updateInstances = () =>
19-
setTimeout(() => getInstances().forEach(inst => inst.forceUpdate()))
24+
setTimeout(() => {
25+
if (sourceModule.id) {
26+
try {
27+
requireIndirect(sourceModule.id)
28+
} catch (e) {
29+
// just swallow
30+
}
31+
}
32+
getInstances().forEach(inst => inst.forceUpdate())
33+
})
2034

2135
if (sourceModule.hot) {
2236
// Mark as self-accepted for Webpack

0 commit comments

Comments
 (0)