alizharb / filament-modular-luncher
The ultimate Filament module manager for Laravel Modular. Seamlessly search, install, update, and manage your application modules directly from your Filament admin panel. Supports ZIP, Git, and Composer sources.
Fund package maintenance!
alizharb
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
pkg:composer/alizharb/filament-modular-luncher
Requires
- php: ^8.3
- alizharb/laravel-modular: ^1.1
- calebporzio/sushi: ^2.5
- filament/filament: ^5.0
- spatie/laravel-data: ^4.19
Requires (Dev)
- driftingly/rector-laravel: ^2.1
- larastan/larastan: ^3.0
- laravel/pint: ^1.24
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.5|^10.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^11.5|^12.0
- rector/rector: ^2.0
- spatie/phpunit-snapshot-assertions: ^5.1
Suggests
- alizharb/laravel-hooks: For modular hook system support
- alizharb/laravel-modular: For core modular system support
- alizharb/laravel-modular-filament: For Filament admin panel integration in modules
- alizharb/laravel-modular-js: For JavaScript component support in modules
- alizharb/laravel-modular-livewire: For Livewire component support in modules
- alizharb/laravel-themer: For advanced theme management support
README
Filament Modular Luncher is the ultimate module management solution for Laravel Modular applications. Seamlessly integrate module management into your Filament admin panel, allowing you to install, update, backup, and restore modules with a single click.
✨ Features
- 📦 Seamless Integration: Native Filament resource for managing modules.
- 🔍 Module Discovery: Automatically scans and lists all installed modules.
- ⬇️ Multi-Source Installation: Install modules from:
- 📂 Local ZIP Uploads
- 🔗 Direct URLs (ZIP)
- 🐙 GitHub Repositories (Private & Public)
- 🐘 Composer Packages
- 🔄 Updates: Update modules via Git pull or easy re-installation.
- 💾 Backups: Create and restore backups of your modules instantly.
- 🗑️ Uninstallation: Safe removal of modules and their assets.
- 🛠️ Developer Friendly: Built on strict PHP 8.3+ and Laravel 12 standards.
🌍 Ecosystem
Enhance your modular application with our official packages:
- Laravel Modular: Review the core package documentation.
- Laravel Hooks: Specific modular hook system support.
- Filament Integration: Seamless Filament admin panel integration in modules.
- Livewire Integration: First-class Livewire component support in modules.
- Laravel Themer: Advanced theme management system.
🚀 Installation
Install the package via Composer:
composer require alizharb/filament-modular-luncher
Register the plugin in your Filament Panel Provider:
use AlizHarb\ModularLuncher\ModularLuncherPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugin(ModularLuncherPlugin::make()); }
That's it! You will now see a Modules resource in your admin panel.
🔧 Configuration
Publish the configuration file for customization:
php artisan vendor:publish --tag="modular-luncher-config"
Configuration Options
installation.git_binary: Path to your git binary.updates.github_token: Token for accessing private repositories.backups.disk: Storage disk for backups (default:local).
📖 Usage
Installing a Module
- Navigate to the Modules resource in your admin panel.
- Click Install Module.
- Choose your source (ZIP, URL, or Composer).
- Fill in the required details and click Install.
Managing Modules
- Update: Click the update action on any module table row.
- Backup: Select a module and click "Backup" to create a ZIP snapshot.
- Restore: Restore a module from a previous backup.
- Uninstall: Remove a module from your system.
💖 Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel Modular development. If you are interested in becoming a sponsor, please visit the Laravel Modular GitHub Sponsors page.
🌟 Acknowledgments
- Laravel: For creating the most elegant PHP framework.
- Filament: For the amazing admin panel builder.
- Spatie: For setting the standard on Laravel package development.
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING for details.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
🔒 Security
If you discover any security-related issues, please email Ali Harb at harbzali@gmail.com.
📄 License
The MIT License (MIT). Please see License File for more information.
Made with ❤️ by Ali Harb