From 7b97671b61876a8e4651dedbc5e4f7a2a0408b51 Mon Sep 17 00:00:00 2001 From: Hossein Mehrabi Date: Wed, 7 Dec 2022 14:45:10 +0330 Subject: [PATCH] fix: mutate siteConfig to avoid losing unserializable properties. --- packages/logos-docusaurus-preset/src/index.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/logos-docusaurus-preset/src/index.ts b/packages/logos-docusaurus-preset/src/index.ts index 9b62b8c..10450e6 100644 --- a/packages/logos-docusaurus-preset/src/index.ts +++ b/packages/logos-docusaurus-preset/src/index.ts @@ -43,23 +43,28 @@ export default function logosPreset( context: LoadContext, options: PluginOptions, ): Preset { - context.siteConfig.staticDirectories.push( - path.join(__dirname, '../static/common'), - path.join(__dirname, '../static', options.businessUnit), - ) - - context.siteConfig = defaultsDeep( + const siteConfig: typeof context.siteConfig = defaultsDeep( options.customSiteConfig - ? [context.siteConfig, siteConfigs[options.businessUnit]] + ? [{}, context.siteConfig, siteConfigs[options.businessUnit]] : [siteConfigs[options.businessUnit], context.siteConfig], false, ) - context.siteConfig.themeConfig = defaultsDeep( + siteConfig.staticDirectories = [ + ...(siteConfig.staticDirectories ?? []), + path.join(__dirname, '../static/common'), + path.join(__dirname, '../static', options.businessUnit), + ] + + siteConfig.themeConfig = defaultsDeep( [{}, context.siteConfig.themeConfig, themeConfigs[options.businessUnit]], false, ) + Object.entries(siteConfig).forEach( + ([key, value]) => (context.siteConfig[key] = value), + ) + createCommonDataDir() createTeamFile(context, options)