aerni/font-awesome
A Laravel package for using Font Awesome icons in your views. Render icons with simple Blade components or helpers, choose from Font Awesome’s icon sets, and keep your markup clean while adding scalable vector icons to your UI.
Architecture fit Unchanged. This is not a general-purpose Laravel package; it is a Statamic addon. Its value is entirely conditional on the application already running Statamic (which itself runs on Laravel). In that context it fills a narrow, concrete gap: a first-class fieldtype for selecting Font Awesome icons instead of hand-typing CSS classes. For a Laravel-only application, fit is effectively zero — an enum/config select already solves the problem without adding a CMS dependency. The v4.0.1 release adds no architectural surface area: no new features, no new integration points, no change to how the addon is mounted.
Integration feasibility Unchanged. Standard Statamic addon path: Composer install, auto-discovery via the addon manifest, optional config publish, attach the fieldtype to a blueprint/fieldset, render in Antlers or Blade. The real feasibility questions remain environmental — Statamic major version constraint, Laravel/PHP matrix, and whether the addon bundles Font Awesome assets or expects a host-supplied kit/CDN.
The release notes do resolve one open question implicitly: the fieldtype paginates its option list, meaning it supports icon sets large enough to require paging (i.e. full Font Awesome Free/Pro sets, not a curated handful). That is good for editor UX but confirms the option list is a non-trivial data structure.
Technical risk
__PHP_Incomplete_Class fix indicates the addon's option objects can end up serialized — in cache, session, queue payloads, or compiled views — and that a class-shape change across versions can produce hard failures rather than graceful degradation. This is a real upgrade hazard and argues for pinning a minimum patch version and clearing caches on upgrade.aria-hidden, visible labels for meaningful icons), CSP (CDN vs. self-hosted), payload size (full FA CSS is heavy; subsets preferable).Key questions
__PHP_Incomplete_Class class of bug can recur on our upgrade path.Stack fit Unchanged. Adopt only if the stack is Statamic (v4/v5-class) on a supported Laravel version. Laravel-only or non-Statamic stacks should skip it and implement a simple icon enum. For headless Statamic, confirm icon markup is produced server-side rather than by an editor-only control.
Migration path Straightforward and reversible, with one added step driven by the 4.0.1 fixes:
composer require aerni/font-awesome, confirm the resolved statamic/cms constraint in composer.lock.>=4.0.1 — do not adopt 4.0.0. The pagination, memory, and __PHP_Incomplete_Class fixes are all defects we would otherwise inherit.php artisan cache:clear and php artisan view:clear as a standing procedure — the serialization fix makes stale cached state a plausible failure vector.Stored values are icon identifiers, so rollback remains a template change with no content migration. Preserve a value-mapping table regardless.
Compatibility Pin the addon to both a Statamic major and an addon minor/patch floor. Verify PHP and Laravel constraints before adopting; addon constraints are typically narrower than the host app's. Because the addon serializes option objects in at least some paths, avoid upgrading it and Statamic in the same deploy — isolate the variables.
Sequencing Spike in a branch → source audit (small codebase, cheap) → confirm FA licensing/kit strategy → blueprint and template design → accessibility and CSP review → staging with editor acceptance (specifically test an icon set large enough to paginate, and re-open a saved entry to confirm the selected icon renders) → documented rollout.
Maintenance Low code surface, non-zero ongoing cost. Someone must own Statamic-major compatibility and Font Awesome version currency. The 4.0.1 release is evidence of an engaged maintainer, which modestly improves the outlook, but at this adoption level a fork-and-vendor contingency is still the right posture. Budget a few hours per Statamic major, plus a defined cache-clear step per addon upgrade.
Support Community-only, no SLA, no vendor escalation. Editor-facing documentation is on you: which icons exist, how to choose decorative vs. meaningful, and what not to type. Add an internal note that fieldtype bugs surface as editor-visible UI defects (wrong icon shown, empty selection) rather than exceptions — worth a line in the editor guide.
Scaling Runtime cost is negligible when icons render as static markup. Prefer a self-hosted FA subset over a CDN to control payload, CSP, and privacy posture. Post-4.0.1 the editor-side memory profile for large sets is improved, but the front-end CSS bundle remains the dominant scaling concern — audit whether the full FA stylesheet loads site-wide, and confirm the paginated option list does not degrade the editing experience on your largest icon set.
Failure modes
__PHP_Incomplete_Class or equivalent serialization errors after an addon/Statamic upgrade with stale cached or queued state — mitigated by pinning >=4.0.1 and clearing caches on deploy.Ramp-up Unchanged. A Statamic-fluent developer is productive in hours; a Laravel developer new to Statamic blueprints and Antlers needs a day or two. Editor training is minimal — a short guide plus a curated icon list.
How can I help you explore Laravel packages today?