microweber-packages / microweber-package
Standalone Microweber package loader based on spatie/laravel-package-tools. Provides an abstract service provider and optional CMS module registration helpers for use inside the CMS or any Laravel app.
Package info
github.com/microweber-packages/microweber-package
pkg:composer/microweber-packages/microweber-package
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
- livewire/livewire: Enables ModulePackage Live Edit / view component registration when the CMS ModuleAdmin facade is present
- microweber-packages/filament-registry: Enables ModulePackage Filament page/resource/widget/plugin registration
Provides
None
Conflicts
None
Replaces
- microweber-packages/package: *
This package is auto-updated.
Last update: 2026-11-03 17:07:26 UTC
README
Standalone Microweber package loader built on spatie/laravel-package-tools.
Use this package as the base for every Microweber library under packages/*, and optionally for CMS modules/templates that need Live Edit or Filament registration.
Features
- Abstract
MicroweberPackageServiceProvider— only extendable; never registered alone - Spatie lifecycle:
configurePackage(),packageRegistered(),packageBooted() - Optional
ModulePackagefluent API for CMS module integrations - Soft dependencies: works in a plain Laravel app without Filament or ModuleAdmin
- PHPStan level max
Installation
composer require microweber-packages/microweber-package
Usage in a package
<?php namespace MicroweberPackages\Example; use MicroweberPackages\Package\MicroweberPackageServiceProvider; use Spatie\LaravelPackageTools\Package; class ExampleServiceProvider extends MicroweberPackageServiceProvider { public function configurePackage(Package $package): void { $package ->name('microweber-example') ->hasConfigFile('example'); } public function packageRegistered(): void { $this->app->singleton(ExampleService::class); } }
CMS module registration
public function configureModule(ModulePackage $module): void { $module ->type('blog') ->hasFilamentPage(BlogSettings::class) ->hasLiveEditSettings(BlogSettings::class); }
When FilamentRegistry / ModuleAdmin are not installed, those calls are no-ops.
Standalone Laravel
composer require microweber-packages/microweber-package- Extend
MicroweberPackageServiceProviderin your package - Register your concrete provider in
bootstrap/providers.phpor via package auto-discovery
No CMS services are required.
Testing
composer test
composer analyse