Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filament Plugin Core

Filament Plugin Core

Latest Version on Packagist GitHub Code Style Action Status Total Downloads License

Shared base classes for the jeffersongoncalves family of Filament plugins. It removes the skeleton boilerplate every plugin used to copy-paste: the Plugin contract implementation, the Spatie PackageServiceProvider wiring, and Filament render-hook registration.

Version Compatibility

Branch Filament PHP Laravel
1.x 3.x ^8.2 ^11.0
2.x 4.x ^8.2 ^11.0
3.x 5.x ^8.2 ^11.0

Requirements

  • PHP 8.2 or higher
  • Laravel 11.0 or higher
  • Filament 5.x (3.x branch)

Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-plugin-core:"^3.0"

What it provides

  • BasePlugin — implements Filament\Contracts\Plugin with the canonical make()/get() factory pair and no-op register()/boot(). Subclasses only declare getId().
  • Concerns\InteractsWithPlugin — the make()/get() pair as a standalone trait, for plugins that cannot extend BasePlugin.
  • BasePackageServiceProvider — extends Spatie's PackageServiceProvider and adds registerRenderHooks([$hook => $view]) to collapse render-hook closures.

Usage

Plugin

use JeffersonGoncalves\FilamentPluginCore\BasePlugin;

class MyPlugin extends BasePlugin
{
    public function getId(): string
    {
        return 'my-plugin';
    }
}

Service Provider

use Filament\View\PanelsRenderHook;
use JeffersonGoncalves\FilamentPluginCore\BasePackageServiceProvider;
use Spatie\LaravelPackageTools\Package;

class MyServiceProvider extends BasePackageServiceProvider
{
    public function configurePackage(Package $package): void
    {
        $package->name('my-plugin')->hasTranslations();
    }

    public function packageRegistered(): void
    {
        $this->registerRenderHooks([
            PanelsRenderHook::HEAD_START => 'my-plugin::script',
        ]);
    }
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Shared base classes and helpers for jeffersongoncalves Filament plugins (Plugin skeleton, PackageServiceProvider helpers, render-hook registration).

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages