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

Nova Values Field Laravel Package

norman-huth/nova-values-field

norman-huth/nova-values-field adds a flexible values field to Laravel Nova for editing repeatable lists or key-value data in the admin UI, storing structured JSON on Eloquent models. Useful for settings, metadata, tags, and other custom attributes.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit The package is a Laravel Nova form field — a UI-layer adapter that plugs into Nova's field pipeline and persists a flat array of values to a JSON/text column. It is described as "a clone of the KeyValue field without keys," so it carries no service layer, no migrations, no domain logic, and no backend coupling beyond Eloquent's array casting. Architecturally it is a very thin wrapper. It only fits a stack already running Laravel Nova, which is a commercial product requiring a paid license; if the organization is not on Nova, the package is irrelevant regardless of quality.

Integration feasibility Installation is a standard composer require plus registration in a Nova resource — hours of effort, not days. Two caveats: the Packagist identity (norman-huth/nova-values-field) does not match the hosting org (Muetze42), which raises provenance questions, and the repository is archived, meaning no upstream fixes. With 0 dependents and 6 stars there is essentially no field evidence of it working in production anywhere, so all integration confidence must come from our own spike. The composer constraints must be inspected to confirm which Nova and Laravel majors are actually supported.

Technical risk High. The health score of 0.045 reflects an archived, single-maintainer, near-zero-adoption package. The functional surface is tiny, but the coupling is to a fast-moving commercial framework: Nova's field API and asset pipeline (Mix vs. Vite, Nova 4 vs. Nova 5) change between majors, so an abandoned field transfers all upgrade work to us. Additional risks: no visible test suite, ambiguity in how the stored array shape differs from KeyValue's keyed structure, and the possibility that the archived repo disappears entirely.

Key questions

  • Which Nova major versions are supported, and does composer.json constrain laravel/nova and illuminate/* sanely?
  • What is the relationship between the norman-huth package name and the Muetze42 repository — is this a legitimate fork or a republished copy?
  • Are there tests, and is the JS asset build reproducible?
  • How does the stored data shape differ from Nova's built-in KeyValue, and what migration is required for existing records?
  • Given the scope is roughly 50–100 lines of code, is reimplementation cheaper than owning a fork?

Integration Approach

Stack fit Only Laravel + Nova. Requires PHP 8.x, an active Nova license, and a JSON-castable column on the target model. There is no interaction with queues, APIs, or background processing — it is a form input and nothing more.

Migration path Treat this as vendored source, not a dependency. Fork into the application's nova-components directory or a private namespace, pin the commit, and document the diff. If migrating from Nova's built-in KeyValue field, the data shape changes from keyed entries to a flat array; that requires either a one-time data migration or an accessor/mutator on the model to normalize reads during transition.

Compatibility Verify against the specific Nova version in use, plus the Laravel and PHP versions in the target app. Because the repository was archived in mid-2025, assume nothing beyond the Nova generation current at that time. Run the field through render, save, retrieve, validation, and reorder flows before committing.

Sequencing

  1. Spike: install on a branch, exercise render/save/retrieve/reorder against the production Nova version.
  2. Build-vs-buy decision: given the trivial scope, scaffold a first-party custom field with php artisan nova:field and reimplement — likely cheaper than owning an abandoned fork.
  3. If vendoring: fork, add a minimal test suite, pin the version, and record an upgrade runbook.
  4. Data migration for any existing KeyValue records, with a rollback path.

Operational Impact

Maintenance We own it outright. There is no upstream to absorb Nova compatibility work, so budget a few hours per Nova major upgrade plus CI for the field's JS build. This is small but permanent overhead for a field that could be first-party code.

Support None. No maintainer triage, no issue history of substance, and a six-star community that will not answer questions. Internal ownership and documentation are mandatory from day one.

Scaling Negligible runtime impact — a form field executes no queries and no jobs. It scales only with admin usage. The JSON array column is fine for typical value lists; watch column size if users can add hundreds of entries.

Failure modes

  • Nova major upgrade silently breaks the field's PHP/JS contract, degrading or disabling an admin form.
  • Composer abandoned-package warnings create audit noise and complicate dependency policy.
  • Data-shape mismatch on swap from KeyValue causes silent corruption of existing records.
  • No tests means regressions ship undetected.
  • Repository deletion or further archival removes even the reference source.

Ramp-up Very low. Any Laravel developer can read the code in an afternoon. Half a day to understand the field contract, roughly one day to fork, test, and harden. The real cost is not learning the package — it is the perpetual ownership of an abandoned dependency for functionality we could own in under a hundred lines.

Recommendation: do not take a production dependency on this package. Reimplement the field as a first-party Nova component, or vendor a pinned fork only if a spike proves the existing code handles the target Nova version cleanly. The opportunity score of 22 and near-zero adoption are consistent with the assessment: low strategic value, trivial functionality, disproportionate ownership risk.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource