internachi/modular-livewire
Livewire plugin for internachi/modular that auto-discovers and registers Livewire v3 components from your application modules. Scans each module’s src/Livewire directory and registers components as {module}::{kebab-name} with dot notation for subfolders.
internachi/modular by extending its plugin architecture to Livewire, enabling feature-scoped component organization (e.g., billing::invoice-table). This aligns with microservices-inspired Laravel where modules encapsulate domain logic, including frontend components.src/Livewire/ per module, which may conflict with existing monolithic Livewire structures or custom directory layouts.internachi/modular v3.0+ and Livewire 3.x could block upgrades if these evolve incompatibly.src/Livewire/ may register, requiring whitelisting or validation.app-modules/billing/src/Livewire/Reports/) must correctly resolve to billing::reports.component.ModulesDiscovered event).config/modules.php) or dynamic (loaded via plugins)? Dynamic modules may need custom discovery hooks.phpunit.xml configuration)?src/Livewire/ in a module)?internachi/modular’s dependency injection, events, and migration systems for end-to-end modularity.src/Livewire/) or legacy (keep global with warnings).internachi/modular is configured for auto-loading (e.g., config/modules.php).settings, notifications) to test discovery.<livewire:billing::invoice-table />).AppServiceProvider to fallback only for unmigrated components.Livewire::component('custom.name', ...)) will fail unless adapted.internachi/modular for changes to plugin discovery or module loading.my-module::component may fail if the package doesn’t handle hyphens. Test with config/modules.php aliases.Livewire::component() dynamically, update to use module-prefixed strings.composer require internachi/modular-livewire internachi/modular:^3.0 livewire/livewire:^3.0 --dev
composer.json to avoid unexpected upgrades.src/Livewire/ in target modules. Move components, renaming classes to kebab-case (e.g., InvoiceTable.php → invoice-table).config/modules.php to ensure modules are auto-loaded.php artisan livewire:discover (if available) or manually verify components register via:
Livewire::getComponents(); // Check for module-prefixed keys
<livewire:old-name /> with <livewire:module::component />.AppServiceProvider, add a safety net for unmigrated components:
Livewire::component('legacy.name', \LegacyComponent::class);
Livewire::component() calls in service providers. Components are self-registering.internachi/modular and Livewire for breaking changes in discovery or registration.src/Livewire/).src/Livewire/ exists and class names follow kebab-case.How can I help you explore Laravel packages today?