anomaly/state-field_type
A field type for the Anomaly Streams platform that adds a state selector to your forms, letting users choose a US state from a predefined list and save the selection to your stream entries.
Architecture fit. anomaly/state-field_type is not a general-purpose Laravel package; it is an addon to the Anomaly Labs Streams Platform (PyroCMS 3.x). It registers a state field type that renders a dropdown of US states inside Streams field assignments. It fits only if the target application is already on PyroCMS/Streams. On a standard Laravel application, the package adds no value — an equivalent state select is a config array plus a Blade partial.
Integration feasibility. Technically simple: Composer install, service provider registration, field type available in the Streams admin UI, assign to a stream, render. The surface area is small. The real constraint is platform compatibility, not code complexity.
Technical risk.
Key questions.
Stack fit. Only viable for PyroCMS/Streams stacks. For standard Laravel, do not adopt — implement a config-driven state select locally (roughly one config file, one form request rule, one Blade component). For Streams, adopt only as a small, vendored addon.
Migration path. If already on Streams: install, register the field type, assign it to the relevant stream, migrate existing address data, and verify stored values. If replacing a hardcoded select, map legacy values to the new option values and backfill before cutover. If not on Streams, there is no migration path worth pursuing.
Compatibility. Pin the package to the platform version and test Composer resolution on the target PHP runtime. Because there are no dependents, assume it has not been exercised against current Laravel/Streams releases. Run a staging spike before committing to production use. Check composer.json constraints for illuminate/*, php, and anomaly/streams-platform.
Sequencing.
Maintenance. Low code volume but effectively no upstream maintenance. Budget for an internal fork and periodic review against PHP and PyroCMS upgrades. The state list itself is a minor ongoing data-maintenance item.
Support. No vendor support and no community. Internal ownership is mandatory. Document the field type, storage format, and validation behavior so it is not opaque to future developers.
Scaling. Negligible runtime impact — a static dropdown backed by a string column. Not a scaling concern. Database column type and indexing matter more than the field type.
Failure modes.
Ramp-up. Minimal for a developer already familiar with PyroCMS/Streams (hours). For a Laravel-only team, the Streams field-type model adds a learning curve (1–2 days), but cloning the functionality locally is trivial. Overall: a low-value, low-risk convenience addon — adopt only inside an existing Streams estate, and only with a fork-and-own plan.
How can I help you explore Laravel packages today?