alizharb/laravel-modular-livewire
| Install | |
|---|---|
composer require alizharb/laravel-modular-livewire |
|
| Latest Version: | v1.1.0 |
| PHP: | ^8.2 |
| License: | MIT |
| Last Updated: | Jul 9, 2026 |
| Links: | GitHub · Packagist |
Laravel Modular Livewire ⚡
Laravel Modular Livewire is the official bridge for Laravel Modular. It enables automatic discovery, registration, and first-class Artisan support for Livewire components within your modular architecture.
✨ Features
- 🔍 Automatic Discovery: Automatically scans and registers Livewire components in
Modules/*/app/Livewire. - 🏗️ Modular Artisan Command: Enhanced
make:livewirecommand with--modulesupport. - 🎨 Namespace Isolation: Components are automatically prefixed with the module name (e.g.,
<livewire:blog::post-list />). - ⚡ Performance Optimized: Intelligent component caching for zero-overhead in production.
- 🩺 Diagnostics Ready: Designed for Laravel Modular 1.2
modular:doctor,modular:status,modular:debug, andmodular:test. - 🤖 Laravel Boost Support: Ships Boost guidance for module-owned Livewire components.
- ✅ Strictly Typed: Fully compatible with PHPStan level 5 (and scalable to level 9).
🚀 Installation
Install the package via Composer (requires alizharb/laravel-modular):
composer require alizharb/laravel-modular-livewire
The service provider will be automatically registered. It will automatically hook into the laravel-modular registry.
📖 Usage
Generating Modular Components
Use the native make:livewire command with the --module flag to generate any Livewire 4 component type.
1. Single-File Components (Default)
The modern Livewire 4 standard. Everything in one .blade.php file.
php artisan make:livewire Status --module=Blog
- Creates:
Modules/Blog/resources/views/livewire/⚡status.blade.php - Identifier:
blog::status
2. Class-Based Components
The traditional separate Class and Template structure.
php artisan make:livewire Analytics --module=Blog --class
- Class:
Modules/Blog/app/Livewire/Analytics.php - View:
Modules/Blog/resources/views/livewire/analytics.blade.php
3. Multi-File Components (MFC)
Perfect for complex components with dedicated JS and CSS.
php artisan make:livewire Dashboard --module=Blog --mfc
- Creates:
Modules/Blog/resources/views/livewire/⚡dashboard/(Directory containing.php,.blade.php,.js,.css)
4. Page Components (Preferred for Routing)
Use the pages:: prefix for full-page components to keep them logically separated from UI fragments.
php artisan make:livewire pages::post.create --module=Blog
- Creates:
Modules/Blog/resources/views/livewire/pages/⚡create.blade.php - Identifier:
blog::pages::post.create
Routing (Livewire 4)
Laravel Modular Livewire fully supports Livewire 4's native Route::livewire() for full-page modular components.
Using Class-based Routes
use Modules\Blog\Livewire\Analytics;
use Illuminate\Support\Facades\Route;
Route::livewire('/blog/analytics', Analytics::class);
Using Modular Aliases
// Resolves to the single-file or class-based component
Route::livewire('/blog/status', 'blog::status');
// Full-page component via modular alias
Route::livewire('/blog/create', 'blog::pages::post.create');
// Example from Test module
Route::livewire('/blog/create', 'blog::pages::post.create');
Using Components in Blade
In your Blade views, use the module's alias as the namespace:
{{-- Traditional or Single-file --}}
<livewire:blog::status />
{{-- Specialized Page Components --}}
<livewire:blog::pages::post.create />
{{-- Example from Blog module --}}
<livewire:blog::pages::post.create />
⚙️ Configuration
The bridge respects your existing modular.php paths and Livewire's own configuration. No additional configuration is required.
Diagnostics
After changing module Livewire paths or manifests, run:
php artisan modular:doctor
php artisan modular:check
php artisan modular:test Blog
If alizharb/laravel-themer is installed, the make:livewire bridge also supports --theme=theme-slug for theme-scoped Livewire components.
📦 Related Packages
Explore the rest of the Laravel Modular ecosystem:
- Laravel Modular - The core modular system.
- Laravel Modular Filament - Filament integration for modular applications.
- Laravel Hooks - Event-driven hooks for modular communication.
- Laravel Themer - Theme management for modular applications.
🧪 Testing
vendor/bin/pest
🤝 Contributing
Please see CONTRIBUTING for details.
📄 License
The MIT License (MIT). Please see License File for more information.
Related Packages
The official Filament v5 bridge for Laravel Modular offering automatic discovery...
The official JavaScript bridge for Laravel Modular offering automatic discovery...
Laravel package that auto-discovers and registers module assets (configs, routes...
The ultimate Filament module manager for Laravel Modular. Seamlessly search, ins...