File manager - Edit - /var/www/payraty/hris/vendor/nwidart/laravel-modules/src/Process/Updater.php
Back
<?php namespace Nwidart\Modules\Process; use Nwidart\Modules\Module; class Updater extends Runner { /** * Update the dependencies for the specified module by given the module name. */ public function update(string $module) { $module = $this->module->findOrFail($module); chdir(base_path()); $this->installRequires($module); $this->installDevRequires($module); $this->copyScriptsToMainComposerJson($module); } /** * Check if composer should output anything. */ private function isComposerSilenced(): string { return config('modules.composer.composer-output') === false ? ' --quiet' : ''; } private function installRequires(Module $module) { $packages = $module->getComposerAttr('require', []); $concatenatedPackages = ''; foreach ($packages as $name => $version) { $concatenatedPackages .= "\"{$name}:{$version}\" "; } if (! empty($concatenatedPackages)) { $this->run("composer require {$concatenatedPackages}{$this->isComposerSilenced()}"); } } private function installDevRequires(Module $module) { $devPackages = $module->getComposerAttr('require-dev', []); $concatenatedPackages = ''; foreach ($devPackages as $name => $version) { $concatenatedPackages .= "\"{$name}:{$version}\" "; } if (! empty($concatenatedPackages)) { $this->run("composer require --dev {$concatenatedPackages}{$this->isComposerSilenced()}"); } } private function copyScriptsToMainComposerJson(Module $module) { $scripts = $module->getComposerAttr('scripts', []); $composer = json_decode(file_get_contents(base_path('composer.json')), true); foreach ($scripts as $key => $script) { if (array_key_exists($key, $composer['scripts'])) { $composer['scripts'][$key] = array_unique(array_merge($composer['scripts'][$key], $script)); continue; } $composer['scripts'] = array_merge($composer['scripts'], [$key => $script]); } file_put_contents(base_path('composer.json'), json_encode($composer, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings