Skip to content

Commit 9958930

Browse files
committed
Merge branch 'master' into jest
# Conflicts: # test/WatchTestCases.test.js
2 parents 908b465 + 7b81a06 commit 9958930

File tree

9 files changed

+36
-7
lines changed

9 files changed

+36
-7
lines changed

lib/optimize/ConcatenatedModule.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,9 +576,12 @@ class ConcatenatedModule extends Module {
576576
moduleToInfoMap
577577
)
578578
);
579+
580+
// Must use full identifier in our cache here to ensure that the source
581+
// is updated should our dependencies list change.
579582
innerDependencyTemplates.set(
580583
"hash",
581-
innerDependencyTemplates.get("hash") + this.rootModule.identifier()
584+
innerDependencyTemplates.get("hash") + this.identifier()
582585
);
583586

584587
// Generate source code and analyse scopes

test/WatchTestCases.test.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,30 @@ const { remove } = require("./helpers/remove");
1111
const Stats = require("../lib/Stats");
1212
const webpack = require("../lib/webpack");
1313

14-
function copyDiff(src, dest) {
14+
function copyDiff(src, dest, initial) {
1515
if (!fs.existsSync(dest)) fs.mkdirSync(dest);
1616
const files = fs.readdirSync(src);
1717
files.forEach(filename => {
1818
const srcFile = path.join(src, filename);
1919
const destFile = path.join(dest, filename);
2020
const directory = fs.statSync(srcFile).isDirectory();
2121
if (directory) {
22-
copyDiff(srcFile, destFile);
22+
copyDiff(srcFile, destFile, initial);
2323
} else {
2424
var content = fs.readFileSync(srcFile);
25-
if (/^DELETE\s*$/.test(content.toString("utf-8")))
25+
if (/^DELETE\s*$/.test(content.toString("utf-8"))) {
2626
fs.unlinkSync(destFile);
27-
else fs.writeFileSync(destFile, content);
27+
} else {
28+
fs.writeFileSync(destFile, content);
29+
if (initial) {
30+
const longTimeAgo = Date.now() - 1000 * 60 * 60 * 24;
31+
fs.utimesSync(
32+
destFile,
33+
Date.now() - longTimeAgo,
34+
Date.now() - longTimeAgo
35+
);
36+
}
37+
}
2838
}
2939
});
3040
}
@@ -121,7 +131,7 @@ describe("WatchTestCases", () => {
121131
let lastHash = "";
122132
const currentWatchStepModule = require("./helpers/currentWatchStep");
123133
currentWatchStepModule.step = run.name;
124-
copyDiff(path.join(testDirectory, run.name), tempDirectory);
134+
copyDiff(path.join(testDirectory, run.name), tempDirectory, true);
125135

126136
setTimeout(() => {
127137
const compiler = webpack(options);
@@ -292,7 +302,8 @@ describe("WatchTestCases", () => {
292302
currentWatchStepModule.step = run.name;
293303
copyDiff(
294304
path.join(testDirectory, run.name),
295-
tempDirectory
305+
tempDirectory,
306+
false
296307
);
297308
}, 1500);
298309
} else {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
it("should not crash when scope-hoisted modules change", function() {
2+
require("./module").default.should.be.eql(WATCH_STEP);
3+
})
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { x } from "./inner1";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { x } from "./inner2";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export var x = "0";
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { x } from "./inner";
2+
3+
export default x;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export var x = "1";
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
optimization: {
3+
concatenateModules: true
4+
}
5+
};

0 commit comments

Comments
 (0)