chaim-chv/filament-enum-plural-label
A small Filament plugin that adds plural labels to PHP enums, so enum-backed options read naturally across forms, tables, and filters. Define singular and plural labels once and let Filament display the right form wherever your enum is used.
Htmlable rendering, null handling, Filament resource wiring). An in-house implementation is plausibly 50–150 lines. Decision hinges on maintenance appetite vs. dependency/upgrade coordination cost, not on capability.Htmlable, null, resource integration), not depth or performance. No static analysis or coverage threshold is stated.illuminate/contracts (^11.28|^12.0|^13.0) explicitly, and including Laravel 13 in the constraint, is a forward-compatibility signal. It reduces the odds of a future "works on Filament 5 but not Laravel 13" surprise, which matters if this ships in a long-lived product line.Consider adopting when:
Htmlable — without custom glue code per resource.null returns.Look elsewhere or hold when:
For executives: This is a maintenance-grade release, not a new capability — it adds Filament 5 / PHP 8.2+ support, an automated test suite, and CI. Product impact is schedule, not features: it removes this package as an obstacle to the Filament 5 upgrade and gives us a concrete milestone to plan the platform migration around. Cost is contained — the package is small, its surface is narrow, and if it ever stalls we can replace it in-house. The one thing to note is that it is a breaking release: environments on PHP 8.1 or Filament 3/4 must stay on v1.x until their upgrade lands, so we should confirm the migration window rather than let the two drift.
For engineering: Breaking change — PHP 8.1 and Filament 3/4 are dropped; use v1.x if you need to defer. On upgrade: bump the constraint, verify illuminate/contracts resolves against your Laravel version (11.28+/12/13 are supported, including 13), and audit every enum-backed field — particularly the Htmlable label path and any null-returning label logic, since those are the areas the new contract and tests target. The added suite (19 tests / 34 assertions, PHP 8.2–8.4 matrix) is a good signal but a thin one; run it in our pipeline and treat any gap in our own enum usage as ours to cover. Pin v1.x on any branch that cannot move PHP or Filament this cycle, and track when that pin can be dropped.
How can I help you explore Laravel packages today?