Skip to content

Commit 31b755a

Browse files
authored
Merge pull request webpack#7498 from webpack/bugfix/hmr-parent-import
add parents correctly when creating namespace objects
2 parents 603cb60 + b9229fa commit 31b755a

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

lib/HotModuleReplacement.runtime.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ module.exports = function() {
5555
for (var name in $require$) {
5656
if (
5757
Object.prototype.hasOwnProperty.call($require$, name) &&
58-
name !== "e"
58+
name !== "e" &&
59+
name !== "t"
5960
) {
6061
Object.defineProperty(fn, name, ObjectFactory(name));
6162
}
@@ -80,6 +81,10 @@ module.exports = function() {
8081
}
8182
}
8283
};
84+
fn.t = function(value, mode) {
85+
if (mode & 1) value = fn(value);
86+
return $require$.t(value, mode & ~1);
87+
};
8388
return fn;
8489
}
8590

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = 1;
2+
---
3+
module.exports = 2;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { load } from "./parent-file";
2+
import update from "../../update";
3+
4+
it("should bubble update from a nested dependency", () => {
5+
return load().then(value => {
6+
expect(value).toBe(1);
7+
return new Promise((resolve, reject) => {
8+
module.hot.accept("./parent-file", () => {
9+
resolve(load().then(value => {
10+
expect(value).toBe(2);
11+
}));
12+
});
13+
NEXT(update(reject));
14+
});
15+
})
16+
});
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export function load() {
2+
return import("./file").then(file => file.default);
3+
}

0 commit comments

Comments
 (0)