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 Info Card Laravel Package

crusherrl/nova-info-card

View on GitHub
Deep Wiki
Context7

Getting Started

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:

  1. Require the package: composer require <vendor>/<package>.
  2. Register the tool/card in app/Providers/NovaServiceProvider.php:
    public function tools()
    {
        return [
            new \Vendor\Package\Tool,
        ];
    }
    
  3. Publish any package assets if the README calls for it:
    php artisan vendor:publish --provider="Vendor\Package\ToolServiceProvider"
    
  4. Run php artisan nova:install only if Nova itself is not yet installed, then php artisan migrate if the package ships migrations.
  5. Clear caches after install/upgrade: 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:

  • The package README for registration snippets and publish tags.
  • 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.

Implementation Patterns

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:

  • Use the tool as a dashboard card or resource tool depending on the package's intended integration point. Check the README for whether it belongs in tools(), cards(), or fields().
  • Keep package assets published in deployed environments and rebuild them in local development if the package ships front-end source.
  • If the package exposes configuration, publish it once and commit the config file so environment-specific values are reviewed like any other config.
  • When upgrading, run composer update <vendor>/<package> and then php artisan optimize:clear. Nova caches compiled assets and views aggressively.
  • For multi-panel Nova installs, confirm the tool is registered in each panel's NovaServiceProvider or in the shared provider, as appropriate.

Integration tips:

  • Prefer the package's published service provider over manual Nova::script/Nova::style calls; manual asset registration is the usual source of drift when a package changes its dist layout.
  • If you wrap the tool in your own dashboard, verify the tool does not rely on being the only card on the dashboard.
  • Version-pin Nova packages in composer.json if you need to control rollout across environments.

Gotchas and Tips

  • Missing CSS asset error: Versions before 1.1.1 could cause Nova to request a CSS file that does not exist in the package. Upgrade to ^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.
  • Nova asset cache: After upgrading to 1.1.1, clear Nova and Laravel caches. A stale compiled asset manifest can make the old broken registration appear to persist.
  • Publish tags: Use 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 existence checks: If you register assets yourself, guard them with file_exists() or use the package's service provider. Registering a nonexistent Nova::style() path throws at render time, not at boot.
  • Environment drift: Local npm run dev builds and production dist files can diverge. Confirm the deployed dist/css and dist/js match the installed package version.
  • Debugging asset issues: Inspect the rendered Nova page source for the failing asset URL, then compare it against the package's dist/ directory. Check storage/logs/laravel.log for the underlying exception.
  • Extension points: If you need custom styling, publish the package views or add your own Nova::style() after the package's registration rather than editing vendor files. Vendor edits are lost on the next composer update.
  • Version constraints: Because this is a patch-level fix, "vendor/package": "^1.1.1" is usually sufficient. Avoid "*" if you rely on Nova asset behaviour remaining stable across minor releases.
  • Test in a staging Nova panel: Asset registration bugs often only appear when Nova's compiled asset list is rebuilt, so verify in an environment that runs nova:publish/optimize:clear as part of deployment.
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.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator