Search by

microweber-packages / microweber-package

boksiora

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

Homepage

pkg:composer/microweber-packages/microweber-package

Statistics

Installs: 392

Dependents: 20

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-03 09:36 UTC

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 ModulePackage fluent 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

  1. composer require microweber-packages/microweber-package
  2. Extend MicroweberPackageServiceProvider in your package
  3. Register your concrete provider in bootstrap/providers.php or via package auto-discovery

No CMS services are required.

Testing

composer test
composer analyse