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

Modulite Laravel Package

panicdevs/modulite

Modulite automatically discovers and registers Filament panel providers, resources, pages, and widgets across modular Laravel apps. Supports nwidart/laravel-modules and panicdevs/modules, with file-based caching and commands for production performance.

View on GitHub
Deep Wiki
Context7

Modulite brings automatic Filament panel and component discovery to modular Laravel applications. Instead of registering providers, resources, pages, and widgets by hand, it scans your module structure—supporting both nwidart/laravel-modules and panicdevs/modules—and wires everything up. A file-based cache keeps discovery fast in production.

  • 🔍 Automatic discovery of panels, resources, pages, and widgets
  • ⚡ Production caching via modulite:cache, like Laravel's bootstrap cache
  • 🏗️ Modular support for nwidart and panicdevs module packages
  • 🎯 Configurable patterns for naming and discovery locations
  • 📊 Built-in commands for monitoring and optimization
Frequently asked questions about Modulite
What is panicdevs/modulite used for in Laravel?
panicdevs/modulite automatically discovers and registers Filament panel providers, resources, pages, and widgets across modular Laravel applications. It is designed for modular monoliths using either nwidart/laravel-modules or panicdevs/modules, reducing manual Filament registration. It adds file-based caching and optimization commands for production performance. It is not intended for standard monolithic Filament apps or runtime-dynamic module loading.
Does Modulite support both nwidart/laravel-modules and panicdevs/modules?
Yes, Modulite supports both nwidart/laravel-modules and panicdevs/modules as module systems. The module approach is selected through configuration using MODULITE_APPROACH set to panicdevs or nwidart. You should align your module directory and naming conventions with the expected patterns before enabling discovery.
Which Laravel and Filament versions does Modulite support?
The package requirements are PHP 8.2 or higher and Filament 4.0 or higher, and version 1.1.1 claims Filament v5 support. The provided overview does not clearly document the full Laravel version constraint, so verify it in the package composer.json. Pin the exact Modulite version and test against your Laravel and Filament versions before adoption.
How do I install and configure panicdevs/modulite?
Install it with composer require panicdevs/modulite, then publish the configuration using php artisan vendor:publish --tag=modulite-config. Set MODULITE_APPROACH to panicdevs or nwidart depending on your module package. Add ModulitePlugin to the Filament panel providers where you want component discovery, and run php artisan modulite:cache for production optimization.
Do I need to add ModulitePlugin to every Filament panel provider?
Modulite discovers panel providers automatically through its service provider, but component discovery for resources, pages, and widgets happens through ModulitePlugin per panel. Add ModulitePlugin only to the panels where you want that discovery behavior. This per-panel registration also gives you a way to scope discovery rather than enabling it everywhere by default.
How does Modulite caching work in production?
Modulite uses a file-based cache similar to Laravel's bootstrap cache, stored at bootstrap/cache/modulite.php, and you can build it with php artisan modulite:cache. Production deployments must ensure bootstrap/cache is writable and that the cache is built during CI or deployment. Stale or missing cache is a primary operational risk, so define a clear cache invalidation contract in your pipeline before relying on it.
Does Modulite conflict with Filament's native discoverResources, discoverPages, and discoverWidgets?
Modulite's plugin-based discovery overlaps with Filament's native discoverResources, discoverPages, and discoverWidgets behavior, so you must validate whether it is complementary or a replacement in your app. Running both without care can cause duplicate registration or unclear ownership of component registration. Test parity against manual registration and native discovery in one representative module and panel before wider rollout.
What happens if Modulite discovers an invalid class or fails to load a module?
The README advertises robust error handling and graceful failure modes for production environments. However, auto-discovery can obscure registration and create boot-time failures if invalid or unloadable classes are discovered. You should explicitly test whether Modulite fails boot or skips invalid classes, and confirm whether discovery is deterministic across filesystem ordering.
Can Modulite handle large module counts, multi-panel, and multi-tenant setups?
Modulite is added per panel through ModulitePlugin, which helps scope discovery in multi-panel applications. The README claims roughly 1 to 2ms warm cache and 1 to 20ms cold startup depending on module count, but those figures need validation against your actual module count and deployment topology. Multi-tenant behavior and environment-level scoping should be tested directly before production use.
Should I use Modulite in production, and what are the alternatives?
Treat Modulite as a conditional pilot rather than a platform-wide standard for now. Maturity signals are limited, including around 22 stars, zero dependents, early 1.x releases with breaking changes, and a small-maintainer profile. Alternatives include explicit manual Filament registration and Filament's native discovery methods. If you pilot Modulite, time-box a spike with one module and two panels, require parity reporting, add a CI cache-build step, and keep a rollback plan.
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.
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
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums