diff --git a/packages/nx/src/project-graph/utils/project-configuration-utils.ts b/packages/nx/src/project-graph/utils/project-configuration-utils.ts index 4696220e5057e6..bb48f709c18fef 100644 --- a/packages/nx/src/project-graph/utils/project-configuration-utils.ts +++ b/packages/nx/src/project-graph/utils/project-configuration-utils.ts @@ -644,10 +644,12 @@ function normalizeTargets( const projectSourceMaps = sourceMaps[project.root]; const targetConfig = project.targets[targetName]; - const targetDefaults = readTargetDefaultsForTarget( - targetName, - nxJsonConfiguration.targetDefaults, - targetConfig.executor + const targetDefaults = deepClone( + readTargetDefaultsForTarget( + targetName, + nxJsonConfiguration.targetDefaults, + targetConfig.executor + ) ); // We only apply defaults if they exist @@ -718,6 +720,10 @@ function targetDefaultShouldBeApplied( return !plugin?.startsWith('nx/'); } +function deepClone(obj) { + return JSON.parse(JSON.stringify(obj)); +} + export function mergeTargetDefaultWithTargetDefinition( targetName: string, project: ProjectConfiguration, @@ -725,7 +731,7 @@ export function mergeTargetDefaultWithTargetDefinition( sourceMap: Record ): TargetConfiguration { const targetDefinition = project.targets[targetName] ?? {}; - const result = JSON.parse(JSON.stringify(targetDefinition)); + const result = deepClone(targetDefinition); for (const key in targetDefault) { switch (key) {