diff --git a/lib/DefinePlugin.js b/lib/DefinePlugin.js index 7f0d1107fa4..b0ea1d3a75c 100644 --- a/lib/DefinePlugin.js +++ b/lib/DefinePlugin.js @@ -29,7 +29,7 @@ class RuntimeValue { } } - return this.fn(); + return this.fn({ module: parser.state.module }); } } diff --git a/test/configCases/plugins/define-plugin/index.js b/test/configCases/plugins/define-plugin/index.js index 8d08c201499..ac3964e9a90 100644 --- a/test/configCases/plugins/define-plugin/index.js +++ b/test/configCases/plugins/define-plugin/index.js @@ -114,3 +114,7 @@ it("should follow renamings in var (issue 5215)", function() { expect(TEST).toBe("test"); expect(DEFINED_NESTED_KEY).toBe(5); }); + +it("should check that runtimeValue callback argument is a module", function() { + expect(RUNTIMEVALUE_CALLBACK_ARGUMENT_IS_A_MODULE).toEqual(true); +}); diff --git a/test/configCases/plugins/define-plugin/webpack.config.js b/test/configCases/plugins/define-plugin/webpack.config.js index 74a140740e3..abf094601d7 100644 --- a/test/configCases/plugins/define-plugin/webpack.config.js +++ b/test/configCases/plugins/define-plugin/webpack.config.js @@ -1,4 +1,5 @@ var DefinePlugin = require("../../../../lib/DefinePlugin"); +const Module = require("../../../../lib/Module"); module.exports = { plugins: [ new DefinePlugin({ @@ -26,7 +27,12 @@ module.exports = { "typeof wurst": "typeof suppe", "typeof suppe": "typeof wurst", wurst: "suppe", - suppe: "wurst" + suppe: "wurst", + RUNTIMEVALUE_CALLBACK_ARGUMENT_IS_A_MODULE: DefinePlugin.runtimeValue( + function({ module }) { + return module instanceof Module; + } + ) }) ] };