thyyppa/nova-json
A Laravel Nova JSON field for viewing and editing JSON attributes directly in the admin panel, making nested configuration, metadata, and structured data easier to manage with formatted output and a smoother editing experience.
composer.json constraints before upgrading.composer require <vendor>/<package>:^4.0. If you are coming from a Nova 3 release, expect to re-publish assets and possibly re-register the tool.README, config/ file (if publishable), and src/ service provider. For Nova packages, the key integration point is usually NovaServiceProvider::tools() or a custom Tool/Card/Field registration.app/Providers/NovaServiceProvider.php, then load the Nova admin panel and confirm the asset bundle loads under Nova 4’s Vite-based asset pipeline.NovaServiceProvider. Use conditional registration if the package is environment-specific:
public function tools()
{
return [
new \Vendor\Package\YourTool(),
];
}
php artisan vendor:publish --tag=<package>-assets if the package provides assets, then rebuild Nova assets if required by your setup.canSee/canRun callbacks.NovaServiceProvider::cards() or a custom dashboard. Keep dashboards lean by gating cards behind feature flags or roles.Nova::actingAs, Nova::assertToolExists) in feature tests. Compatibility releases often change registration internals, so a small smoke test around tool registration is worthwhile.composer update in a branch and verify the Nova panel locally before deploying.dist/ or resources/js output after upgrading.laravel/nova:^4.0 and laravel/framework:^10.0. Mixing Nova 3 and this package version will fail at composer resolution, not at runtime, so read the conflict messages carefully.vendor:publish --force only after diffing the package config against your published copy.php artisan optimize:clear and php artisan nova:publish (if applicable). Stale Nova manifests are a common source of “tool not found” errors.Nova::script/Nova::style hooks. These are typically the safest customization points across major versions; avoid overriding package views directly.NovaServiceProvider registration first, then composer show <vendor>/<package> to confirm v4.0.0 is actually installed. Nova silently ignores tools whose canSee returns false, so add a temporary return true while debugging.How can I help you explore Laravel packages today?