LaravelPackages.net
Acme Inc.
Toggle sidebar
stephenjude/filament-debugger

About

157.201
103
5.1.2
About stephenjude/filament-debugger

stephenjude/filament-debugger is a Laravel package for about. It currently has 103 GitHub stars and 157.201 downloads on Packagist (latest version 5.1.2). Install it with composer require stephenjude/filament-debugger. Discover more Laravel packages by stephenjude or browse all Laravel packages to compare alternatives.

Last updated

Filament Debugger

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

Easily add Telescope, Horizon and Laravel Pulse to Filament admin panel.

Installation

You can install the package via composer:

composer require stephenjude/filament-debugger

Usages

use Stephenjude\FilamentDebugger\DebuggerPlugin;

public function panel(Panel $panel): Panel
{

    return $panel
        ->plugin(
            DebuggerPlugin::make()
        );
}

Custom Role/Permission

You can authorize the plugin for users with a specific role/permission:

DebuggerPlugin::make()
    ->authorize(condition: fn() => auth()->user()->can('view.debuggers'));

Custom Navigation Group

You can customize the navigation group:

use Stephenjude\FilamentDebugger\DebuggerPlugin;

$panel->plugin(
    DebuggerPlugin::make()
        ->navigationGroup(condition: true, label: 'Debugger')
);

Custom Navigation Items

You can customize the navigation items:

use Stephenjude\FilamentDebugger\DebuggerPlugin;

$panel->plugin(
    DebuggerPlugin::make()
        ->horizonNavigation(
            condition: fn () => auth()->user()->can('view.horizon'),
            label: 'Horizon',
            icon: 'heroicon-o-globe-europe-africaglobe-europe-africa',
            url: url('horizon'),
            openInNewTab: fn () => true
        )
        ->telescopeNavigation(
            condition: fn()=> auth()->user()->can('view.telescope'),
            label: 'Telescope',
            icon: 'heroicon-o-sparkles',
            url: url('telescope'),
            openInNewTab: fn () => true
        )
        ->pulseNavigation(
            condition: fn () => auth()->user()->can('view.pulse'),
            label: 'Pulse',
            icon: 'heroicon-o-bolt',
            url: url('pulse'),
            openInNewTab: fn () => true
        )
    );

Gates & Authorization

When using filament debuggers (Horizon, Telescope & Pulse) in production environment, we need to make sure that they are accessible to the authorized filament admin user.

To achive this, we need to use filament default authorization guard and your application defined permissions provided by overidding the gate() and authorization() methods inside the HorizonServiceProvider, TelescopeServiceProvider and PulseServiceProvider respectively.

protected function gate()
{
    Gate::define('viewHorizon', function ($user) {
        return $user->can('view.debuggers');
    });
}

protected function authorization()
{
    Auth::setDefaultDriver(config('filament.auth.guard'));

    parent::authorization();
}

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.

Star History Chart