diff --git a/system/Commands/Utilities/Optimize.php b/system/Commands/Utilities/Optimize.php index 27c668251b4a..6004ef37156c 100644 --- a/system/Commands/Utilities/Optimize.php +++ b/system/Commands/Utilities/Optimize.php @@ -83,7 +83,11 @@ public function run(array $params) try { $this->runCaching($enableConfigCache, $enableLocatorCache, $disable); $this->clearCache(); - $this->removeDevPackages(); + if($disable === true) { + $this->reinstallDevPackages(); + } else { + $this->removeDevPackages(); + } } catch (RuntimeException) { CLI::error('The "spark optimize" failed.'); @@ -230,4 +234,24 @@ private function removeDevPackages(): void throw new RuntimeException(__METHOD__); } + + private function reinstallDevPackages(): void + { + if (! defined('VENDORPATH')) { + return; + } + + chdir(ROOTPATH); + passthru('composer install', $status); + + if ($status === 0) { + CLI::write('Installed Composer dev packages.', 'green'); + + return; + } + + CLI::error('Error in installing Composer dev packages.'); + + throw new RuntimeException(__METHOD__); + } }