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

Filament Json Laravel Package

pepperfm/filament-json

pepperfm/filament-json provides Filament components for editing and displaying JSON in Laravel admin panels. It supports formatting, validation, and readable previews, making nested configuration, metadata, and API payloads easier to manage without custom UI code.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin-side data inspection. Rendering JSON payloads in a Filament admin panel is recurring, low-differentiation work. Adopting this package replaces a bespoke Blade renderer that someone would otherwise own forever. 5.0.2 reinforces the "buy" side: the maintainer is still investing in correctness rather than leaving the renderer to drift.
  • Operator visibility and support tooling roadmap items. The package covers the common case of "show me the raw payload" — webhook bodies, third-party API responses, job/event metadata, audit trail diffs, integration config blobs — surfaced inline, or in a modal/drawer, as tree or table content. That makes it an enabler for support-console and debugging-surface features rather than a feature in itself.
  • Deflection of internal support requests. When support and ops can read a payload themselves, engineering stops being a human JSON pretty-printer. This is a measurable reduction in escalation load, which is usually the strongest justification for the dependency.
  • Data-fidelity decisions. This release specifically preserves valid falsy values (false, 0, "0", empty strings) and stops filterNullable() from dropping non-null falsy values. That matters at the product level, not just the code level: an operator who sees a blank cell where the payload said false or 0 will draw the wrong conclusion. Correct display of falsy and scalar states is a trust requirement for any internal tooling built on this.
  • Coexistence with Filament's own field behavior. Respecting native state resolution (state(), getStateUsing(), default(), relationship state, separators, state caching) before normalizing means the package composes with computed and relationship-driven fields instead of fighting them. That widens the set of screens we can build without custom glue.
  • Vendor-risk posture. Adding CI for tests and code style on the active branch is a governance signal. It doesn't change the feature set, but it lowers the "will this break silently on upgrade" risk that usually blocks OSS adoption in a product with a release cadence.
  • Upgrade decision for 5.0.x consumers. 5.0.2 is a patch release: no breaking changes, no deprecations, no new surface area to design around. It is a routine-maintenance item, not a roadmap item.

When to Consider This Package

Consider adoption when most of the following hold:

  • You are already on Filament and need read-only rendering of heterogeneous data — arrays, collections, Arrayable objects, raw JSON strings, and plain scalars — in a form, infolist, modal, or drawer.
  • Your data is inconsistent by nature: some fields are well-formed JSON, some are JSON-shaped strings, some are bare scalars, some are invalid JSON that still needs to be shown rather than crashing the screen. The 5.0.2 hardening around invalid JSON and scalar states is directly aimed at this.
  • Your fields rely on Filament's native state semantics — computed state, relationship state, defaults, separators, caching. Pre-5.0.2 behavior could interfere here; 5.0.2 is the first release where this is explicitly handled, so treat 5.0.2 as the floor for adoption.
  • You have no appetite to own a renderer, and the alternative is a homegrown Blade partial that quietly rots.
  • You want a verifiable maintenance signal — tests and style checks running in CI on the branch you'd depend on.

Look elsewhere or build when:

  • You need authoring, not display: schema-driven JSON editing, validation, diffing, or merge workflows. This package is a viewer.
  • You need search, filter, or aggregate over JSON contents at the query level. Rendering a payload is not the same as indexing it.
  • You have hard performance envelopes on very large payloads. Tree/table rendering of multi-megabyte documents is worth benchmarking before committing; the release notes speak to correctness, not throughput.
  • You are not on Filament, or you're pinned to a Filament major this package's 5.x line doesn't support. Verify the version matrix explicitly before scoping work against it.
  • You require a contractual SLA or named vendor support. This is single-maintainer open source; the new CI is a good sign but is not a support agreement.
  • Payload display is core differentiated product surface — if the JSON viewer is what customers pay for, owning it may be justified.

How to Pitch It (Stakeholders)

To executives: This is a small, free dependency that removes a class of internal tooling work. It lets support and operations read raw integration payloads directly in the admin panel, which shortens investigation time and reduces escalations to engineering. No new infrastructure, no licensing cost, no migration. The 5.0.2 release is a maintenance update that fixes display correctness for edge-case values — notably false, 0, and empty strings, which previously risked showing as blank and misleading whoever was reading the screen. It also adds automated tests and style checks on the active branch, which is the signal we look for before depending on an open-source component. Recommendation: adopt as a standard dependency, upgrade at the next maintenance window, and revisit only if we outgrow read-only viewing.

To engineering: 5.0.2 is a patch with no breaking changes. The substantive fix is that native Filament state resolution now runs before JSON normalization, so state(), getStateUsing(), default(), relationship state, separators, and state caching keep working — meaning we can drop custom workarounds for computed and relationship fields. It also decodes valid raw JSON strings into structured tree/table content while keeping invalid JSON renderable as a scalar, preserves falsy values, and narrows filterNullable() to removing only null. Blade rendering is hardened for scalar states, with regression coverage across computed state, raw JSON strings, nullable filtering, falsy values, and inline/modal/drawer modes. Tests and code style now run in CI on 5.x. Upgrade is low-risk; the ask is a smoke test on any screen that renders nullable or boolean fields, since the filterNullable() behavior change is the one place existing output could differ.

Framing to avoid: don't sell this as a platform capability or a reason to choose Filament. It's a display component. Its value is entirely in the hours it saves and the misleading-blank-cells it prevents.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core