Skip to content

Commit 2ade756

Browse files
authored
fix: merge server.allowedHosts: true correctly (vitejs#20138)
1 parent aec0770 commit 2ade756

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

packages/vite/src/node/__tests__/config.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,22 @@ describe('mergeConfig', () => {
237237
expect(mergedConfig.server.hmr.server).toBe(httpServer)
238238
})
239239

240+
test('handles server.allowedHosts', () => {
241+
const baseConfig = {
242+
server: { allowedHosts: ['example.com'] },
243+
}
244+
245+
const newConfig = {
246+
server: { allowedHosts: true },
247+
}
248+
249+
const mergedConfig = {
250+
server: { allowedHosts: true },
251+
}
252+
253+
expect(mergeConfig(baseConfig, newConfig)).toEqual(mergedConfig)
254+
})
255+
240256
test('throws error with functions', () => {
241257
const baseConfig = defineConfig(() => ({ base: 'base' }))
242258
const newConfig = defineConfig(() => ({ base: 'new' }))

packages/vite/src/node/utils.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,8 +1249,9 @@ function mergeConfigRecursively(
12491249
merged[key] = [].concat(existing, value)
12501250
continue
12511251
} else if (
1252-
key === 'noExternal' &&
1253-
(rootPath === 'ssr' || rootPath === 'resolve') &&
1252+
((key === 'noExternal' &&
1253+
(rootPath === 'ssr' || rootPath === 'resolve')) ||
1254+
(key === 'allowedHosts' && rootPath === 'server')) &&
12541255
(existing === true || value === true)
12551256
) {
12561257
merged[key] = true

0 commit comments

Comments
 (0)