This is a Laravel Nova extension package. The 1.1.1 patch is a bugfix release: Nova previously attempted to load a CSS asset that the package does not ship, causing an error; that asset registration is now corrected.
Minimal setup:
composer require <vendor>/<package>.app/Providers/NovaServiceProvider.php:
public function tools()
{
return [
new \Vendor\Package\Tool,
];
}
php artisan vendor:publish --provider="Vendor\Package\ToolServiceProvider"
php artisan nova:install only if Nova itself is not yet installed, then php artisan migrate if the package ships migrations.php artisan optimize:clear.First use case: open the Nova dashboard and confirm the tool renders without a missing-asset error. If you were on 1.1.0 or earlier and saw a Nova error about a nonexistent CSS file, upgrade to 1.1.1 first.
Where to look first:
config/ after publishing, for any package-specific options.NovaServiceProvider for how the tool is mounted.resources/views/vendor/... if you need to override package views.Register the tool only in the environments where it is needed. Nova tools are commonly registered unconditionally, but conditional registration reduces surface area in local/testing:
public function tools()
{
return $this->app->environment('local', 'production')
? [new \Vendor\Package\Tool]
: [];
}
Asset registration pattern. Nova packages typically expose assets via Nova::script() and Nova::style(). If the package provides its own service provider, prefer letting it register assets rather than duplicating calls:
// Usually handled by the package's service provider
Nova::script('package-tool', __DIR__.'/../dist/js/tool.js');
Nova::style('package-tool', __DIR__.'/../dist/css/tool.css');
Only register a Nova::style() entry if the file actually exists. The 1.1.1 fix addresses exactly this class of failure.
Day-to-day workflows:
tools(), cards(), or fields().composer update <vendor>/<package> and then php artisan optimize:clear. Nova caches compiled assets and views aggressively.NovaServiceProvider or in the shared provider, as appropriate.Integration tips:
Nova::script/Nova::style calls; manual asset registration is the usual source of drift when a package changes its dist layout.composer.json if you need to control rollout across environments.^1.1.1 if you see a Nova asset-loading error referencing a package CSS path. This is the primary reason to take this release.php artisan vendor:publish --provider="..." --tag=... rather than publishing everything; Nova packages often ship several tags and publishing all of them can overwrite local overrides.file_exists() or use the package's service provider. Registering a nonexistent Nova::style() path throws at render time, not at boot.npm run dev builds and production dist files can diverge. Confirm the deployed dist/css and dist/js match the installed package version.dist/ directory. Check storage/logs/laravel.log for the underlying exception.Nova::style() after the package's registration rather than editing vendor files. Vendor edits are lost on the next composer update."vendor/package": "^1.1.1" is usually sufficient. Avoid "*" if you rely on Nova asset behaviour remaining stable across minor releases.nova:publish/optimize:clear as part of deployment.How can I help you explore Laravel packages today?