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

Repeatering Field Type Laravel Package

newebtime/repeatering-field_type

Repeatering Field Type is a Laravel/PHP field type for repeatable form inputs, letting you add, reorder, and manage multiple grouped values within a single field. It simplifies structured content editing in admin panels and Streams-style applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is not a general-purpose Laravel package — it is a PyroCMS/Streams Platform field type addon. Its runtime contract is with Anomaly\Streams\Platform\Addon\FieldType\FieldType, the addon service provider, and PyroCMS's form/table builder pipeline, not with Laravel's core container in any generic sense. That makes it architecturally viable only inside an existing PyroCMS 3.x installation (Laravel 5.x lineage). It cannot be dropped into a modern Laravel 10/11 application, and it will not compose with Livewire/Filament/Inertia-era admin tooling. If the intent was "a repeatable JSON field for our Laravel app," this package is the wrong primitive and the effort should go into a first-party cast + form component instead.

Integration feasibility. Mechanically simple: composer require from a VCS repository, register the addon, assign the field type to a Streams field, define the repeater's inner fields in the field type's configuration, and render via the standard PyroCMS form/entry APIs. The real friction is everything around that: the repository is on GitLab under a personal/org namespace with zero stars, zero dependents, and a score of 0. There is no observable community validation, no downstream usage to learn from, and no signal that anyone else has run this in production. Integration cost is therefore not "install time" but "we are the first and only QA function."

Technical risk.

  • Abandonment risk — high. Single-maintainer namespace, no dependents, no stars. Assume no upstream fixes, no security patches, no compatibility work.
  • Platform risk — high. PyroCMS itself is effectively dormant; its Laravel 5.x base is end-of-life and out of security support. This addon inherits that entire risk surface.
  • Data-shape risk — high. Repeater field types typically serialize a repeatable payload into one column. Without versioned schema or validation in the field type, stored payloads drift from the form definition, and there is no migration path off the addon.
  • Name/semantics risk — medium. "Repeatering" implies a fork/variant of the core repeater-field_type. Confirm whether payload formats are compatible; if not, swapping is a data migration, not a composer change.
  • Quality signal — unknown. No visible CI, test suite, license file, changelog, or tagged releases in the supplied metadata.

Key questions to resolve before any commitment.

  1. Does a PyroCMS installation already depend on this addon in production? If yes, this is a remediation project, not an adoption decision.
  2. What are the composer.json constraints — PHP version, pyrocms/* / anomaly/streams-platform version range, Laravel range?
  3. How is repeater data persisted — JSON column, serialized blob, or child rows? Is the format documented and stable across versions?
  4. Is there any license file, and does it permit forking and internal redistribution?
  5. How does it differ functionally from the core repeater-field_type and grid-field_type? Is anything here genuinely unique, or is it a cosmetic fork?
  6. What is the data volume and nesting depth in real usage — is this storing 5 rows or 5,000?

Recommendation: do not adopt net-new. If already embedded, treat as technical debt: fork, pin, test, and plan exit.

Integration Approach

Stack fit. Only fits a PyroCMS 3.x monolith on the Laravel 5.x line, installed as a composer addon and registered through the Streams addon manifest. It does not fit a modern Laravel service, and it does not fit a headless/API-first architecture without custom serialization work on top.

Migration path (if adopting or exiting).

  1. Inventory first. Grep the codebase and database for the field type slug and its namespace. Enumerate every Stream, field, and entry table using it, plus row counts and sample payloads. You cannot scope this without the payload census.
  2. Fork to internal VCS. Mirror the repository into an org-controlled Git host, tag a baseline, and require all installs to reference the fork. This removes the single point of failure and lets you patch.
  3. Add a contract layer. Write characterization tests against real payloads: save, reload, re-render, partial update, reorder, delete-a-row. This is the only way to establish what the field type actually guarantees versus what the UI implies.
  4. Decide replace-vs-harden. If the core repeater-field_type or grid-field_type uses a compatible payload, plan a swap with a data transform and a dual-read period. If payloads are incompatible, budget an explicit backfill script and a per-Stream cutover.

Compatibility. Pin exact versions of PHP, anomaly/streams-platform, and the addon in composer.json, and commit the lockfile. Verify the addon loads under the installed PyroCMS minor version before touching stored data — field type boot failures surface as fatal errors on entry forms, not graceful degradation.

Sequencing. (1) Inventory and payload census → (2) fork and pin → (3) characterization tests on a staging copy → (4) decide harden vs. replace → (5) if replacing, build dual-read and backfill → (6) cut over per Stream, oldest/lowest-traffic first. Front-load the inventory; every later estimate depends on it.

Operational Impact

Maintenance. You become the maintainer. There is no upstream to file issues against and no release cadence to track. Budget ongoing ownership: PHP/Laravel security patching flows through PyroCMS, which is itself dormant, so the real cost is an eventual platform migration, not this addon. Fork ownership should be assigned to a named engineer, not "the team."

Support. No vendor, no community, no dependents to consult. Internal escalation path is whoever wrote the characterization tests. Documentation will have to be authored from the code.

Scaling. Repeater fields concentrate data in a single column, which is fine at tens of rows per entry and hostile at thousands: no indexing inside the payload, no server-side filtering, full deserialization on every hydrate. Expect N+1-style overhead when rendering tables of entries with repeater columns, and large row sizes that bloat backups. Nested repeaters multiply both problems.

Failure modes to instrument. Field type boot/registration failure after a composer update (site-wide form breakage); JSON/serialization decode errors on legacy payloads (blank or fatal render); silent truncation or loss when the form definition changes and old payloads no longer match; partial saves on validation failure mid-repeater; template exceptions during admin table rendering.

Ramp-up. The codebase is likely small — a field type class, views, and a config — so code comprehension is days, not weeks. The real ramp-up is PyroCMS/Streams domain literacy: addon registration, field type lifecycle, entry hydration, and the admin form/table builder. Assume two to three weeks before an engineer is productive and confident enough to modify stored-data behavior. Pair the characterization tests with a short written primer so that knowledge does not stay in one head.

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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator