Download the PHP package shahabzebare/laravel-nova-turbo without Composer
On this page you can find all versions of the php package shahabzebare/laravel-nova-turbo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shahabzebare/laravel-nova-turbo
More information about shahabzebare/laravel-nova-turbo
Files in shahabzebare/laravel-nova-turbo
Package laravel-nova-turbo
Short Description Turbocharge Laravel Nova by lazy loading resources. Dramatically improves performance for applications with 50+ resources.
License MIT
Homepage https://github.com/shahabzebare/laravel-nova-turbo
Informations about the package laravel-nova-turbo
Laravel Nova Turbo
🚀 Turbocharge Laravel Nova by lazy loading resources.
If you have 50+ resources, Nova can become slow because it loads and runs authorization checks for ALL resources on every page load. This package fixes that by only loading the resources needed for the current page.
The Problem
Nova's default behavior on every page load:
- Registers all resources (e.g., 100 resources)
- Runs
authorizedToCreate()for each resource - Generates metadata for all resources
With Nova Turbo:
- Only loads 1-5 resources per page (current resource + relationships)
- Dramatically improves page load times
Benchmarks
Real-world performance comparison on a Nova installation with 100+ resources:
| Metric | Without Turbo | With Turbo | Improvement |
|---|---|---|---|
| Server Response Time | 455.58 ms | 186.00 ms | 59% faster |
| Resources Loaded | ~100 | 1-5 | 95% reduction |
📊 Click to see benchmark screenshots
### With Nova Turbo (186ms)  ### Without Nova Turbo (455ms) Installation
Setup
Step 1: Add the trait to your NovaServiceProvider
Step 2: Generate the cache
This creates a cache file at bootstrap/cache/nova-turbo.php.
Step 3 (Optional): Publish config
Commands
Configuration
External Resources
If you have resources outside app/Nova (e.g., in modules), register them:
Then re-run php artisan nova:turbo-cache.
Deployment
The cache is automatically regenerated when you run php artisan cache:clear during deployments (enabled by default via regenerate_on_cache_clear).
If you prefer manual control, add to your deployment script:
Typical deployment order:
To disable automatic regeneration:
How It Works
- The artisan command scans all resources and their relationship fields
- It builds a dependency map and caches it as a PHP array file (with version tracking)
- On page load, only the needed resources are registered
- The cached metadata is sent to the frontend to prevent JavaScript errors
- Cache is automatically invalidated when the package is updated (version mismatch)
Development Mode
By default, lazy loading is disabled in local environment (auto_refresh_in_dev = true). This means you can add/modify resources without running the cache command.
For production-like testing locally:
License
MIT License. See LICENSE for details.
Credits
All versions of laravel-nova-turbo with dependencies
laravel/nova Version ^4.0|^5.0
illuminate/support Version ^10.0|^11.0|^12.0