Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Font Awesome Icons Laravel Package

filafly/filament-font-awesome-icons

Add Font Awesome icons to your Filament panels with filafly/filament-font-awesome-icons. Integrate Font Awesome icon sets for forms, tables, actions, and navigation, making it easy to browse and select icons throughout your admin UI.

View on GitHub
Deep Wiki
Context7

Getting Started

This release is primarily a compatibility milestone: the package now supports Filament 5 alongside Filament 4. If you are already on Filament 4, v1.1.0 is a low-risk upgrade; if you have been holding off on Filament 5, this is the release that unblocks you.

Minimal path:

  1. composer require <vendor>/<package>:"^1.1" — confirm Composer resolves filament/filament to ^4.0 || ^5.0 in the lock file rather than pinning you to one major.
  2. Publish any package assets/config if the install docs call for it (php artisan vendor:publish --tag=<package>-config), then review the published config for panel-specific defaults.
  3. Register the package's Filament plugin (or service provider hooks) inside your PanelProvider::panel() chain — this is the first place to look when "nothing shows up."
  4. Run php artisan filament:upgrade (or the package's install command if it ships one) and clear caches.

First use case to validate end-to-end: open the panel, confirm the package's resources/pages/widgets render, and exercise one write path (create or update) to prove the Filament 4/5 abstraction holds for your version.

Where to look first: the package's composer.json constraints, the CHANGELOG/UPGRADE notes, and the Filament plugin registration snippet in the README. Those three answer 90% of "why isn't this working" questions.

Implementation Patterns

Pin the Filament major explicitly in your app. Dual support in the package means your composer.json decides which major you actually run. Treat filament/filament as a first-class direct dependency so a composer update can't silently shift you across majors.

Keep plugin registration in the panel provider, not a service provider. Filament plugins are panel-scoped. Registering in AppServiceProvider works for some packages but breaks in multi-panel apps where only one panel should get the feature.

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            \Vendor\Package\PackagePlugin::make(),
        ]);
}

Multi-panel apps: register the plugin per panel and drive configuration through the plugin's fluent setters rather than global config, so an admin panel and a customer portal can diverge without config gymnastics.

Avoid version_compare on Filament internals. With two supported majors, branching on version strings spreads compatibility logic through your app. Prefer the package's own public API and Filament's stable extension points (resources, pages, actions, schema/components). If you genuinely need divergence, isolate it in one adapter class.

Test against both majors in CI. A matrix of filament/filament:^4.0 and ^5.0 with the same test suite is the cheapest way to catch a regression the package's own tests missed. Use Orchestra Testbench or a bare Laravel skeleton with a panel provider registered in the test case.

Integrate at the resource layer. Day-to-day the leverage is extending the package's Filament resources: subclass, add your own form/table components, and override actions — rather than forking. This keeps you upgradeable across the 4→5 boundary.

Upgrade sequencing for existing apps: bump the package to ^1.1 first without touching Filament, deploy, confirm green. Then bump Filament separately. Two small PRs beat one unreviewable diff.

Gotchas and Tips

  • Lock file drift is the real risk. "Supports both" often turns into "resolves to the wrong one." After composer update, run composer show filament/filament and verify the major. Commit the lock file.
  • Asset/CSS builds differ across Filament majors. Filament's frontend toolchain changed between majors; if the package ships compiled assets, verify they look correct on your installed major rather than assuming visual parity. Check both light/dark and a modal.
  • Config and route caching. php artisan config:cache and route:cache routinely mask panel registration issues in production but not locally. Reproduce any "works locally, blank in prod" bug with caches enabled before debugging further.
  • Deprecation noise. Filament 5 will emit deprecations for v4-era APIs. If the package still calls them internally, you'll see them in logs — that's the package's problem, not yours, but don't suppress them; they're your early warning for the next major.
  • Namespace moves between majors. If you extend package classes directly, an upgrade can break on a moved parent class with a confusing "class not found" rather than a clear error. Grep your app/Filament directory for Vendor\Package\ imports before bumping Filament.
  • Extension points to prefer: plugin fluent config, published config file, and Filament's own view/component overrides. Extension points to avoid: class_alias shims, service-container rebinding of package classes, and overriding vendor views by path — all three are what break on the next major.
  • Debugging checklist for "package feature missing from panel": plugin registered on the correct panel → panel provider discovered (php artisan about / filament:optimize-clear) → config not cached → assets published → correct Filament major installed. Run them in that order.
  • Watch the next release. v1.1.0 is a compatibility widening, not a feature release. The interesting signal is whether v1.2 adds Filament-5-only features, which is the point where dual support starts costing you — that's when to plan your own Filament 4 exit.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core