modular composer requirements aborts if missing

This commit is contained in:
2025-10-28 23:04:33 +05:00
parent 1e9bad12c5
commit 4a24ee61ff

View File

@@ -62,22 +62,14 @@ class ModuleServiceProvider extends ServiceProvider
public function verifyModuleComposerRequirements(BaseModule $module): void
{
foreach ($module->app->getComposerRequirements() as $package) {
if ($package->type === ModulePackageType::PACKAGE) {
if (! InstalledVersions::isInstalled($package->name)) {
abort(
code: 500,
message: "{$package->name} must be installed (module: {$module->name})"
);
}
}
$missingPackage = match ($package->type) {
ModulePackageType::PACKAGE => InstalledVersions::isInstalled($package->name),
ModulePackageType::MODULE => module_exists($package->name),
default => true,
};
if ($package->type === ModulePackageType::MODULE) {
if (! module_exists($package->name)) {
abort(
code: 500,
message: "{$package->name} module must be installed (module: {$module->name})"
);
}
if (! $missingPackage) {
abort(500, "{$package->name} {$package->type} must be installed (module: {$module->name})");
}
}
}