From ec2fc7c28e744d40eb038f31976edfed75c9a508 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen@paragon-es.de>
Date: Fri, 3 Jul 2020 12:44:13 +0200
Subject: [PATCH] Optimize json file merge

---
 src/Handler.php | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/Handler.php b/src/Handler.php
index e49c1e9..bf98640 100644
--- a/src/Handler.php
+++ b/src/Handler.php
@@ -50,15 +50,17 @@ class Handler {
     $projectRoot = getcwd();
 
     // Append DrupalSpoon related components to composer.json.
-    $jsonFile = new JsonFile($projectRoot . '/composer.disabled.json');
     $content = [];
-    if ($jsonFile->exists()) {
-      $content = $jsonFile->read();
+    foreach (['composer.disabled.json', 'composer.json'] as $file) {
+      $jsonFile = new JsonFile($projectRoot . '/' . $file);
+      if ($jsonFile->exists()) {
+        $content = array_merge_recursive($content, $jsonFile->read());
+        $fs->remove($projectRoot . '/' . $file);
+      }
     }
     $content = array_merge_recursive($content, $options);
+    $jsonFile = new JsonFile($projectRoot . '/composer.json');
     $jsonFile->write($content);
-    $fs->remove($projectRoot . '/composer.json');
-    $fs->rename($projectRoot . '/composer.disabled.json', $projectRoot . '/composer.json');
   }
 
   /**
@@ -105,7 +107,7 @@ class Handler {
             'url' => 'https://packages.drupal.org/8',
           ],
         ],
-        'require_dev' => [
+        'require-dev' => [
           'lakedrops/drupal-spoons' => 'dev-master',
           'composer/installers' => '^1',
           'drupal/core-composer-scaffold' => '^8.8',
-- 
GitLab