diff --git a/lib/FlagAllModulesAsUsedPlugin.js b/lib/FlagAllModulesAsUsedPlugin.js index 0fe64d798..c84ed38aa 100644 --- a/lib/FlagAllModulesAsUsedPlugin.js +++ b/lib/FlagAllModulesAsUsedPlugin.js @@ -40,6 +40,10 @@ class FlagAllModulesAsUsedPlugin { const exportsInfo = moduleGraph.getExportsInfo(module); exportsInfo.setUsedInUnknownWay(runtime); moduleGraph.addExtraReason(module, this.explanation); + if (module.factoryMeta === undefined) { + module.factoryMeta = {}; + } + module.factoryMeta.sideEffectFree = false; } } ); diff --git a/test/configCases/dll-plugin/0-create-dll/d.js b/test/configCases/dll-plugin/0-create-dll/d.js index 6205d39e3..987d6d7e4 100644 --- a/test/configCases/dll-plugin/0-create-dll/d.js +++ b/test/configCases/dll-plugin/0-create-dll/d.js @@ -1,2 +1 @@ export default "d"; -console.log.bind(console); diff --git a/test/configCases/dll-plugin/2-use-dll-without-scope/index.js b/test/configCases/dll-plugin/2-use-dll-without-scope/index.js index d55ad81ad..70482da8f 100644 --- a/test/configCases/dll-plugin/2-use-dll-without-scope/index.js +++ b/test/configCases/dll-plugin/2-use-dll-without-scope/index.js @@ -4,39 +4,39 @@ import { x2, y1 } from "../0-create-dll/e"; import { B } from "../0-create-dll/h"; import { A } from "../0-create-dll/h1"; -it("should load a module from dll", function() { +it("should load a module from dll", function () { expect(require("../0-create-dll/a")).toBe("a"); }); -it("should load a module of non-default type without extension from dll", function() { +it("should load a module of non-default type without extension from dll", function () { expect(require("../0-create-dll/f")).toBe("f"); }); -it("should load an async module from dll", function(done) { +it("should load an async module from dll", function (done) { require("../0-create-dll/b")() - .then(function(c) { + .then(function (c) { expect(c).toEqual(nsObj({ default: "c" })); done(); }) .catch(done); }); -it("should load an harmony module from dll (default export)", function() { +it("should load an harmony module from dll (default export)", function () { expect(d).toBe("d"); }); -it("should load an harmony module from dll (star export)", function() { +it("should load an harmony module from dll (star export)", function () { expect(x1).toBe(123); expect(x2).toBe(123); expect(y1).toBe(456); expect(y2).toBe(456); }); -it("should load a module with loader applied", function() { +it("should load a module with loader applied", function () { expect(require("../0-create-dll/g.abc.js")).toBe("number"); }); -it("should give modules the correct ids", function() { +it("should give modules the correct ids", function () { expect( Object.keys(__webpack_modules__) .filter(m => !m.startsWith("../..")) @@ -51,16 +51,16 @@ it("should give modules the correct ids", function() { "../0-create-dll/f.jsx", "../0-create-dll/g.abc.js", "../0-create-dll/h.js", - "../0-create-dll/hb.js", + "../0-create-dll/h1.js", "./index.js", "dll-reference ../0-create-dll/dll.js" ]); }); -it("should not crash on side-effect-free modules", function() { +it("should not crash on side-effect-free modules", function () { expect(B).toBe("B"); }); -it("should be able to reference side-effect-free reexport-only module", function() { +it("should be able to reference side-effect-free reexport-only module", function () { expect(A).toBe("A"); });