From e54fefa61534a020930d9d7e372a196d1d3b9003 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Thu, 3 Dec 2020 16:06:02 +0300 Subject: [PATCH 1/2] fix: multi compiler mode with proxy --- lib/Server.js | 6 ++++- test/server/proxy-option.test.js | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/lib/Server.js b/lib/Server.js index 2810485665..c129fda7db 100644 --- a/lib/Server.js +++ b/lib/Server.js @@ -200,8 +200,12 @@ class Server { return level; }; + const configs = getCompilerConfigArray(this.compiler); + const configWithDevServer = + configs.find((config) => config.devServer) || configs[0]; + proxyOptions.logLevel = getLogLevelForProxy( - this.compiler.options.infrastructureLogging.level + configWithDevServer.infrastructureLogging.level ); proxyOptions.logProvider = () => this.logger; diff --git a/test/server/proxy-option.test.js b/test/server/proxy-option.test.js index cece6089d9..4be62610c1 100644 --- a/test/server/proxy-option.test.js +++ b/test/server/proxy-option.test.js @@ -474,4 +474,42 @@ describe('proxy option', () => { req.delete('/delete').expect(200, 'DELETE method from proxy', done); }); }); + + describe.only('should work in multi compiler mode', () => { + let server; + let req; + let closeProxyServers; + + beforeAll((done) => { + closeProxyServers = startProxyServers(); + server = testServer.start( + [config, config], + { + static: { + directory: contentBase, + watch: false, + }, + proxy: { + '*': { + context: () => true, + target: `http://localhost:${port1}`, + }, + }, + port: port3, + }, + done + ); + req = request(server.app); + }); + + afterAll((done) => { + testServer.close(() => { + closeProxyServers(done); + }); + }); + + it('respects a proxy option', (done) => { + req.get('/proxy1').expect(200, 'from proxy1', done); + }); + }); }); From d4ad65566fc856eba06b7075f4ddfe2769063680 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Thu, 3 Dec 2020 16:44:41 +0300 Subject: [PATCH 2/2] test: fix --- test/server/proxy-option.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/server/proxy-option.test.js b/test/server/proxy-option.test.js index 4be62610c1..da7bf6ce51 100644 --- a/test/server/proxy-option.test.js +++ b/test/server/proxy-option.test.js @@ -475,7 +475,7 @@ describe('proxy option', () => { }); }); - describe.only('should work in multi compiler mode', () => { + describe('should work in multi compiler mode', () => { let server; let req; let closeProxyServers;