name('filament-panels') ->hasCommands($this->getCommands()) ->hasRoutes('web') ->hasTranslations() ->hasViews(); } public function packageRegistered(): void { $this->app->scoped('filament', function (): FilamentManager { return new FilamentManager(); }); $this->app->bind(EmailVerificationResponseContract::class, EmailVerificationResponse::class); $this->app->bind(LoginResponseContract::class, LoginResponse::class); $this->app->bind(LogoutResponseContract::class, LogoutResponse::class); $this->app->bind(PasswordResetResponseContract::class, PasswordResetResponse::class); $this->app->bind(RegistrationResponseContract::class, RegistrationResponse::class); app(Router::class)->aliasMiddleware('panel', SetUpPanel::class); } public function packageBooted(): void { Blade::components([ LegacyComponents\Page::class => 'filament::page', LegacyComponents\Widget::class => 'filament::widget', ]); FilamentAsset::register([ Js::make('app', __DIR__ . '/../dist/index.js')->core(), Js::make('echo', __DIR__ . '/../dist/echo.js')->core(), Theme::make('app', __DIR__ . '/../dist/theme.css'), ], 'filament/filament'); Livewire::addPersistentMiddleware([ Authenticate::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, IdentifyTenant::class, SetUpPanel::class, ]); Filament::serving(function () { Filament::setServingStatus(); }); if ($this->app->runningInConsole()) { foreach (app(Filesystem::class)->files(__DIR__ . '/../stubs/') as $file) { $this->publishes([ $file->getRealPath() => base_path("stubs/filament/{$file->getFilename()}"), ], 'filament-stubs'); } } } /** * @return array */ protected function getCommands(): array { $commands = [ Commands\MakePageCommand::class, Commands\MakePanelCommand::class, Commands\MakeRelationManagerCommand::class, Commands\MakeResourceCommand::class, Commands\MakeThemeCommand::class, Commands\MakeUserCommand::class, ]; $aliases = []; foreach ($commands as $command) { $class = 'Filament\\Commands\\Aliases\\' . class_basename($command); if (! class_exists($class)) { continue; } $aliases[] = $class; } return [ ...$commands, ...$aliases, ]; } }