Marketplace package catalogue

* Modules, themes, and extensions
* Publisher profiles and verification metadata
* Installed-package tracking
* Semantic version compatibility checks
* PHP, Laravel, and Content Manager compatibility checks
* Dependency resolution
* SHA-256 checksum validation
* Package signature requirements
* Installation and update history
* Enable and disable controls
* Removal handling
* Rollback records
* Licence records
* Marketplace administration UI
* Authenticated REST endpoints
* Console audit and synchronisation commands
* Permissions and sidebar integration
* Feature tests
This commit is contained in:
Mark Gregory
2026-07-24 13:49:14 +01:00
parent 673554d92d
commit f09a680531
29 changed files with 617 additions and 11 deletions
@@ -0,0 +1,18 @@
<?php
namespace Modules\Marketplace\Tests\Feature;
use Modules\Marketplace\Services\CompatibilityChecker;
use Modules\Marketplace\Services\PackageManifest;
use Tests\TestCase;
final class MarketplaceModuleTest extends TestCase
{
public function test_manifest_parser_accepts_supported_package(): void
{
$manifest=app(PackageManifest::class)->parse(['name'=>'vendor/example','type'=>'module','version'=>'1.0.0']);
$this->assertSame('module',$manifest['type']); $this->assertSame([], $manifest['requires']);
}
public function test_current_platform_is_compatible_with_wildcard_manifest(): void
{
$result=app(CompatibilityChecker::class)->check(['php'=>'*','laravel'=>'*','content_manager'=>'*']);
$this->assertTrue($result['compatible']);
}
}