From 70b4baa73ec3b8ea1dee06b4ec8bcc2161cdf41e Mon Sep 17 00:00:00 2001 From: liweibing Date: Thu, 11 Aug 2022 15:17:51 +0800 Subject: [PATCH 1/7] fix(vite/node): Cannot read properties of undefined: configure --- packages/vite/src/node/server/middlewares/proxy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 9f07a3c6e7bc24..98314a7d5c4f72 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -71,7 +71,7 @@ export function proxyMiddleware( } }) - if (opts.configure) { + if (opts && opts.configure) { opts.configure(proxy, opts) } // clone before saving because http-proxy mutates the options From de0502f7e8f1cc8aff7fae5fa348b8e73a3b5dbe Mon Sep 17 00:00:00 2001 From: liweibing Date: Tue, 16 Aug 2022 11:29:08 +0800 Subject: [PATCH 2/7] fix(vite/node): when the options[context] is undefined, skipped the current loop --- packages/vite/src/node/server/middlewares/proxy.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 98314a7d5c4f72..21a001ae3ade6d 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -37,7 +37,8 @@ export function proxyMiddleware( // lazy require only when proxy is used const proxies: Record = {} - Object.keys(options).forEach((context) => { + for(let context in options) { + if(!options[context]) continue let opts = options[context] if (typeof opts === 'string') { opts = { target: opts, changeOrigin: true } as ProxyOptions @@ -76,7 +77,7 @@ export function proxyMiddleware( } // clone before saving because http-proxy mutates the options proxies[context] = [proxy, { ...opts }] - }) + } if (httpServer) { httpServer.on('upgrade', (req, socket, head) => { From 3455128fc6c577d02d7691afb226fddee3fca9c4 Mon Sep 17 00:00:00 2001 From: liweibing Date: Tue, 16 Aug 2022 14:27:02 +0800 Subject: [PATCH 3/7] fix(vite/node): when the options[context] is undefined, skipped the current loop --- packages/vite/src/node/server/middlewares/proxy.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 21a001ae3ade6d..6cc8b1eb204064 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -37,8 +37,8 @@ export function proxyMiddleware( // lazy require only when proxy is used const proxies: Record = {} - for(let context in options) { - if(!options[context]) continue + for (const context in options) { + if (!options[context]) continue let opts = options[context] if (typeof opts === 'string') { opts = { target: opts, changeOrigin: true } as ProxyOptions From c0e0ff751bde4acb5c0947289187829476fd94b2 Mon Sep 17 00:00:00 2001 From: liweibing Date: Tue, 16 Aug 2022 15:50:56 +0800 Subject: [PATCH 4/7] fix(vite/node): when the options[context] is undefined, return --- packages/vite/src/node/server/middlewares/proxy.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 6cc8b1eb204064..f90750f5510ccc 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -37,9 +37,11 @@ export function proxyMiddleware( // lazy require only when proxy is used const proxies: Record = {} - for (const context in options) { - if (!options[context]) continue + Object.keys(options).forEach((context) => { let opts = options[context] + if (!opts) { + return + } if (typeof opts === 'string') { opts = { target: opts, changeOrigin: true } as ProxyOptions } @@ -72,12 +74,12 @@ export function proxyMiddleware( } }) - if (opts && opts.configure) { + if (opts.configure) { opts.configure(proxy, opts) } // clone before saving because http-proxy mutates the options proxies[context] = [proxy, { ...opts }] - } + }) if (httpServer) { httpServer.on('upgrade', (req, socket, head) => { @@ -142,4 +144,4 @@ function doesProxyContextMatchUrl(context: string, url: string): boolean { (context.startsWith('^') && new RegExp(context).test(url)) || url.startsWith(context) ) -} +} \ No newline at end of file From 8f496ce2ef16782168bdd3f3154107cbc7b6dde0 Mon Sep 17 00:00:00 2001 From: liweibing Date: Tue, 16 Aug 2022 15:52:40 +0800 Subject: [PATCH 5/7] fix(vite/node): when the options[context] is undefined, return --- packages/vite/src/node/server/middlewares/proxy.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index f90750f5510ccc..15d9bcb102cf23 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -39,6 +39,7 @@ export function proxyMiddleware( Object.keys(options).forEach((context) => { let opts = options[context] + // When opts is undefined, return if (!opts) { return } From 644469ae9e11084b46853973cabcd45cb508da8a Mon Sep 17 00:00:00 2001 From: liweibing Date: Tue, 16 Aug 2022 18:14:29 +0800 Subject: [PATCH 6/7] fix(vite/node): when opts is undefined, return --- packages/vite/src/node/server/middlewares/proxy.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 15d9bcb102cf23..f90750f5510ccc 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -39,7 +39,6 @@ export function proxyMiddleware( Object.keys(options).forEach((context) => { let opts = options[context] - // When opts is undefined, return if (!opts) { return } From e1f1abcc862a71fbc2f54ec98f8050f98309cfd9 Mon Sep 17 00:00:00 2001 From: sapphi-red Date: Tue, 16 Aug 2022 21:01:17 +0900 Subject: [PATCH 7/7] chore: format --- packages/vite/src/node/server/middlewares/proxy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index f90750f5510ccc..f08f69091f1c68 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -144,4 +144,4 @@ function doesProxyContextMatchUrl(context: string, url: string): boolean { (context.startsWith('^') && new RegExp(context).test(url)) || url.startsWith(context) ) -} \ No newline at end of file +}