diff --git a/lib/ExternalModule.js b/lib/ExternalModule.js index fb6427600d6..d7e4e3f5574 100644 --- a/lib/ExternalModule.js +++ b/lib/ExternalModule.js @@ -127,8 +127,8 @@ class ExternalModule extends Module { ); case "global": return this.getSourceForGlobalVariableExternal( - runtime.outputOptions.globalObject, - this.externalType + request, + runtime.outputOptions.globalObject ); case "commonjs": case "commonjs2": diff --git a/test/configCases/externals/global/index.js b/test/configCases/externals/global/index.js new file mode 100644 index 00000000000..821f2376eb2 --- /dev/null +++ b/test/configCases/externals/global/index.js @@ -0,0 +1,11 @@ +afterEach(done => { + delete global.EXTERNAL_TEST_GLOBAL; + done(); +}); + +it("should move externals in chunks into entry chunk", function() { + global.EXTERNAL_TEST_GLOBAL = 42; + // eslint-disable-next-line node/no-missing-require + const result = require("external"); + expect(result).toBe(42); +}); diff --git a/test/configCases/externals/global/webpack.config.js b/test/configCases/externals/global/webpack.config.js new file mode 100644 index 00000000000..5e9889bf360 --- /dev/null +++ b/test/configCases/externals/global/webpack.config.js @@ -0,0 +1,5 @@ +module.exports = { + externals: { + external: "global EXTERNAL_TEST_GLOBAL" + } +};