From c9ddc3d0f2ea0fbb6125b0d73068188f7066467e Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 25 Mar 2024 00:24:56 -0500 Subject: [PATCH] fix: Don't override `wxt.config.ts` options when CLI flags are not passed (#567) --- demo/wxt.config.ts | 3 +++ src/core/utils/building/resolve-config.ts | 23 +++++++---------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/demo/wxt.config.ts b/demo/wxt.config.ts index c3201f52..93e78f24 100644 --- a/demo/wxt.config.ts +++ b/demo/wxt.config.ts @@ -18,4 +18,7 @@ export default defineConfig({ zip: { downloadPackages: ['sass'], }, + analysis: { + open: true, + }, }); diff --git a/src/core/utils/building/resolve-config.ts b/src/core/utils/building/resolve-config.ts index b2090812..22cf41f0 100644 --- a/src/core/utils/building/resolve-config.ts +++ b/src/core/utils/building/resolve-config.ts @@ -241,24 +241,15 @@ function mergeInlineConfig( srcDir: inlineConfig.srcDir ?? userConfig.srcDir, outDir: inlineConfig.outDir ?? userConfig.outDir, zip, - analysis: { - ...userConfig.analysis, - ...inlineConfig.analysis, - }, - alias: { - ...userConfig.alias, - ...inlineConfig.alias, - }, - experimental: { - ...userConfig.experimental, - ...inlineConfig.experimental, - }, + analysis: defu(inlineConfig.analysis ?? {}, userConfig.analysis ?? {}), + alias: defu(inlineConfig.alias ?? {}, userConfig.alias ?? {}), + experimental: defu( + inlineConfig.experimental ?? {}, + userConfig.experimental ?? {}, + ), vite: undefined, transformManifest: undefined, - dev: { - ...userConfig.dev, - ...inlineConfig.dev, - }, + dev: defu(inlineConfig.dev ?? {}, userConfig.dev ?? {}), hooks, }; }