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

Text Field Type Laravel Package

anomaly/text-field_type

A lightweight text field type for the Anomaly Streams Platform, providing a standard single-line text input for forms, assignments, and addon development in Laravel-based PyroCMS projects. Simple to configure and render, it handles basic string storage without extra dependencies.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. anomaly/text-field_type is not a general-purpose Laravel package — it is a field-type addon for the Anomaly Labs Streams Platform (the data/field layer behind PyroCMS 3.x+). Architecturally it is a thin, single-responsibility adapter: a service provider that registers a field type, a TextFieldType class implementing the platform's field-type contract (presentation, storage column type, validation/mutator hooks), and a Blade view for the form input. It has no standalone value: outside a Streams Platform host it does nothing and cannot be exercised. Fit is therefore contingent entirely on whether our target stack is (or must interop with) PyroCMS/Streams. In a conventional Laravel application using Filament, Nova, or hand-rolled forms, this package is architecturally irrelevant and would be dead weight.

Integration feasibility. Mechanically trivial if the host platform is present: a Composer require plus the platform's addon discovery/registration convention. The real feasibility question is dependency resolution, not code volume. The package was published in the Laravel 5.x era and its Composer constraints almost certainly reflect that (PHP 7.x, illuminate/* 5.x, anomaly/streams-platform ^1.0). Installing it into a Laravel 9/10/11 or PHP 8.2+ application will fail resolution or require --ignore-platform-reqs plus a fork. Zero stars and zero dependents means no community validation, no third-party bug reports, and effectively no evidence anyone runs this in production today.

Technical risk.

  • Abandonment risk — high. Zero stars, zero dependents, and a score of 0.27 indicate a dormant package. Anomaly Labs' own maintenance cadence and the PyroCMS project's activity should be treated as the real upstream signal.
  • Version-drift risk — high. Legacy PHP/Laravel constraints are the most likely blocker; PHP 8 deprecations (implicit nullable params, dynamic properties) are plausible in a package of this vintage, though the surface area is small enough to patch in an afternoon.
  • Security risk — low. The functional scope is a text input and a string column. XSS exposure is governed by the host's Blade escaping and the platform's renderer, not by this package.
  • Licensing risk — low. MIT is permissive and compatible with commercial use; only attribution obligations apply.
  • Correctness risk — low-to-moderate. No visible test suite or CI; behavior (max length, defaults, placeholders, mutators) must be verified by direct inspection.

Key questions.

  1. Is the package published on Packagist, or must it be consumed via VCS repository? Does it arrive transitively with anomaly/streams-platform?
  2. What are the exact php, illuminate/*, and anomaly/streams-platform constraints in composer.json?
  3. Which PyroCMS/Streams version are we actually targeting, and is that still maintained?
  4. Is the field-type contract stable, or does it change across Streams minor versions (which would make this a moving pin)?
  5. Do we have a viable fork-and-own path — i.e., can we vendor it internally and patch PHP/Laravel compatibility ourselves?
  6. Is there a strategic alternative (stay on Streams vs. migrate off the platform entirely) that makes this decision moot?

Integration Approach

Stack fit. Green light only in one scenario: we are already committed to PyroCMS/Streams Platform and simply need the canonical text field type as part of the platform's baseline field set. In that case this is an internal dependency, not a product decision. Amber if we are evaluating Streams Platform as a CMS foundation: this package is a symptom of the platform's maturity, not a driver. Red if the surrounding stack is a modern Laravel application on a supported PHP version — the cost of making this work exceeds the cost of implementing a text field in any contemporary admin framework, which is measured in hours.

Migration path. If we adopt it, treat it as part of a platform-level pin rather than an individual dependency. Content-wise, migrating a text field is the easiest case in any CMS migration: the underlying column is a VARCHAR/TEXT, values are plain strings, and mapping to a target schema is a straight type translation. The migration risk lives in other field types (media, relationships, rich text) and in the platform's serialized field configuration, not here.

Compatibility. Establish a hard compatibility matrix before writing any code: PHP version, Laravel/Illuminate version, Streams Platform version, and the package version that satisfies all three. Expect to maintain an internal fork with a composer.json relaxation and minor PHP 8 patches. Use a VCS repository entry with an explicit branch/tag pin, or a path repository for a vendored copy — never float on dev-master for a package with no release discipline.

Sequencing.

  1. Spike (0.5 day): clone, inspect composer.json and the field-type class, attempt install against our actual PHP/Laravel versions in a scratch app.
  2. Decide (0.5 day): confirm platform commitment; if not committed, close the ticket and document the rationale.
  3. Fork and pin (1 day): vendor internally, relax constraints, patch PHP 8 compatibility, add a smoke test that instantiates the field type and renders the input.
  4. Platform-level integration (varies): register through the host's addon mechanism alongside the rest of the baseline field types — do not integrate this package in isolation.
  5. Ownership handoff: assign an explicit internal owner; document the fork point and upstream commit SHA.

Operational Impact

Maintenance. Code volume is negligible; ownership is the cost. With no upstream activity, every future PHP or Laravel upgrade becomes our patch to write. Budget a recurring, low-frequency maintenance line — realistically a few hours per platform upgrade cycle — and record the package on the dependency-risk register with a named owner. Treat it as frozen: no new features, security patches only, and a standing bias toward removing the dependency if the platform is ever replaced.

Support. No vendor support, no issue traffic, no documented upgrade path. Internal engineers become the de facto maintainers. Knowledge concentration risk is real but small in absolute terms; the mitigation is documentation, not headcount. Any incident involving this package will be diagnosed by reading the source, which is a few hundred lines at most.

Scaling. Effectively a non-issue. The package contributes a form input and a string column; there is no query, cache, queue, or I/O path. Performance characteristics are entirely those of the host platform's field rendering and persistence. It will not be a bottleneck at any realistic scale.

Failure modes.

  • Composer resolution failure on install or upgrade — the most probable failure, and the one to guard with a lockfile and a pinned fork.
  • Silent registration failure — service provider not discovered, field type absent from the admin UI with no error surfaced. Detect with a startup smoke test asserting the field type is registered.
  • Rendering regression after platform upgrade — view path or contract signature changed; input renders blank or throws. Covered by the same smoke test extended to actual render.
  • Data-shape drift — defaults, max length, or mutator behavior differing from what the schema and downstream consumers expect; low probability, high blast radius if content is already stored.

Ramp-up. Low. A mid-level Laravel engineer can fully understand this package in under half a day; the real ramp-up cost is the surrounding Streams Platform field-type contract and addon registration model, which is measured in days, not this package. Onboarding material should cover the platform, with a one-paragraph note on the fork. Net assessment: cheap to run, expensive to be surprised by — the correct posture is pin, fork, test at startup, and revisit only when the platform itself is revisited.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings