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

Fontawesome Picker Bundle Laravel Package

redking/fontawesome-picker-bundle

A Symfony bundle that adds a FontAwesome icon picker form type, letting users browse and search icon sets and select a glyph visually instead of typing class names. Handy for CMS fields, menu builders, and any admin form that stores an icon class.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Stack mismatch — primary blocker. The brief frames this as a Laravel/PHP package, but redking/fontawesome-picker-bundle is a Symfony 2+ bundle, not a Laravel package. It ships a Symfony FormType extension (and associated Twig/asset wiring) that depends on the Symfony Form component and the bundle auto-registration lifecycle. There is no service provider, no config publishing, no Laravel facade — nothing Laravel expects. Any Laravel effort is a port, not an integration.

Architecture fit. The functional scope is narrow: a form widget that renders a Font Awesome icon grid and stores the selected icon class string against a form field. That is a UI concern dressed as a backend dependency. It provides low architectural value — a competent frontend engineer could reproduce the picker in a few hours against current Font Awesome releases, with full control over icon-version drift.

Integration feasibility. Low. Concretely:

  • Composer constraints almost certainly pin symfony/symfony to the 2.x/3.x era. Installing into a modern Laravel/Symfony app will either fail resolution or force unacceptable downgrades.
  • The bundle's asset pipeline assumes the legacy Symfony Resources/public + Assetic/assets:install conventions, which do not map onto Laravel Mix/Vite.
  • Font Awesome class names changed materially between v4 (used at the 2017 release) and v5/v6 (fa fa-* → fas fa-*, far, fab, icon renames and removals). Output icons will not render correctly against a current FA distribution without remapping.

Technical risk. Very high, and concentrated in three places: (1) unmaintained — last release 2017-11-30, over seven years stale; (2) unvalidated — 2 stars, 0 dependents, effectively zero community signal or usage evidence; (3) transitive exposure — even as a dev/UI dependency it drags in an EOL Symfony version tree with known CVEs. The 0.14 score and 18.24 opportunity score reflect the same underlying story: small addressable value in a niche that no one has adopted.

Key questions for the requester. Why this package specifically — is there an existing Symfony 2/3 application it must match, or is this a greenfield ask? Which Font Awesome major version is in production? Is the requirement simply "let users pick an icon," or does it carry icon-set governance (curation, licensing, a11y labels)? Would a maintained JS icon-picker (e.g., fontawesome-iconpicker, iconify) satisfy the same need with no framework coupling?

Integration Approach

Stack fit. Poor for Laravel, marginal even for Symfony. In Laravel the package has no entry point; the bundle's DependencyInjection, Extension, and form-type registration classes are inert. Reusing the PHP logic alone yields a class that produces an HTML fragment — the value is almost entirely in the JS/CSS assets, which are framework-agnostic and could be lifted directly.

Recommended migration path (Laravel). Do not attempt to install. Instead:

  1. Treat the repo as a reference implementation only — extract the asset files and the icon-grid markup pattern (MIT-licensed, so this is permissible with attribution).
  2. Wrap the extracted JS as a standalone picker component, initialized from a Blade partial and bound to a hidden input.
  3. Add a Laravel validation rule (Rule::in(...)) backed by a curated allow-list of FA class names generated at build time from node_modules/@fortawesome/fontawesome-free/metadata/icons.json. This replaces the bundle's raison d'être with something versioned and testable.
  4. If server-side rendering of the picker is truly required, implement a small custom Blade component; do not resurrect the Symfony FormType.

Migration path (Symfony, if that is the real context). Verify composer.json constraints against the target Symfony version first. If the host app is Symfony 2/3 and frozen, the bundle may install as-is — but confirm FA4 assets are what production actually serves. If the host is Symfony 5+, plan on porting to a modern AbstractType with a ChoiceType populated from a generated icon list, plus an Encore/Vite asset entry. The port is small and removes the dependency entirely.

Compatibility. Assume no compatibility with PHP 8.1+, Symfony 5/6/7, or Font Awesome 5/6 without work. Treat the package as frozen at PHP 7.x / Symfony 2–3 / FA4. Any deviation is bespoke remediation.

Sequencing. (a) Confirm FA major version and host framework version; (b) decide build-vs-port — recommendation is build; (c) generate icon allow-list from the pinned FA package; (d) implement picker component + validation rule; (e) add a regression test asserting every allowed class exists in the installed FA distribution. Budget roughly 1–3 engineer-days for the build path versus an open-ended compatibility effort for the port path.

Operational Impact

Maintenance. The package is dead upstream. There will be no CVE patches, no FA version bumps, no PHP/Symfony compatibility updates. Adopting it transfers full maintenance ownership to this team on day one — with the added cost that we no longer control the original author's code style or test coverage (there is no evidence of either).

Support. None. No issue triage, no maintainer, 2 stars and 0 dependents means no community to lean on. Internal debugging will be entirely first-principles. This is acceptable only for code we own outright.

Scaling. Not a meaningful concern — it is a client-side widget with negligible runtime footprint. The real scaling constraint is organizational: every future FA upgrade becomes a manual audit of the frozen picker, and every icon-set change is a coordinated frontend change rather than a config bump.

Failure modes. Watch for: assets silently missing after assets:install/mix runs (bundle-registered assets do not follow modern pipelines); icon selection persists a class name that no longer exists post-FA-upgrade, rendering an empty glyph in the UI with no error surfaced; unvalidated free-text class values reaching the database and later injected into class attributes; and EOL Symfony transitives surfacing in a security scan with no fix path, forcing an emergency excise.

Ramp-up. Negligible to learn (a few hundred lines of form/asset glue) and negligible to unlearn — which is precisely the argument against adopting it. The cost is not comprehension; it is the permanent tail of ownership for a dependency that delivers one small UI affordance.

Recommendation. Do not adopt. At a 0.14 score with zero dependents and a seven-year-stale, framework-mismatched codebase, the package fails the basic adoption bar. Extract the MIT-licensed assets if useful, build a small first-party picker against the currently pinned Font Awesome release with an explicit allow-list and a validation rule, and close the requirement in under a week with no residual dependency risk.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource