From 5d5f6abcf31ce415d6a886d004413174a1b48780 Mon Sep 17 00:00:00 2001 From: aleksandrskondratjevs Date: Mon, 31 Oct 2022 12:30:14 +0200 Subject: [PATCH] Fix config generation flow --- .../lib/babel/ensure-config.js | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/integration/mosaic-config-injectors/lib/babel/ensure-config.js b/integration/mosaic-config-injectors/lib/babel/ensure-config.js index d4f7191..5d74bd9 100644 --- a/integration/mosaic-config-injectors/lib/babel/ensure-config.js +++ b/integration/mosaic-config-injectors/lib/babel/ensure-config.js @@ -97,11 +97,15 @@ const getExistingConfigPath = () => { }; const getConfigInclude = (initialInclude = []) => { - const extendedInclude = ['src/**/*']; + const extendedInclude = []; // Go through themes and include there relative path getParentThemePaths().forEach((parentThemePath) => { - extendedInclude.push(`${path.relative(process.cwd(), parentThemePath)}/src/**/*`); + const isThemeIncluded = initialInclude.find((path) => path.includes(parentThemePath)); + + if (!isThemeIncluded) { + extendedInclude.push(`${path.relative(process.cwd(), parentThemePath)}/src/**/*`); + } }); // Go through extensions and include there relative path @@ -109,12 +113,20 @@ const getConfigInclude = (initialInclude = []) => { extendedInclude.push(extensionPath); }); + const isProjectFilesIncluded = initialInclude.find( + (path) => path === 'src/**/*' || path == './src/**/*' + ); + + if (!isProjectFilesIncluded) { + extendedInclude.push('src/**/*'); + } + // Filter out include paths that already exists in existing one. Removing duplicates. const filteredExtendedInclude = extendedInclude.filter((path) => !initialInclude.includes(path)); return [ - ...initialInclude, - ...filteredExtendedInclude + ...filteredExtendedInclude, + ...initialInclude ]; };