juy/providers
Loads Laravel service providers and aliases from a dedicated config/providers.php file to keep config/app.php clean. Group providers by app, package, local (dev), and production environments, and auto-register them via a single service provider.
config/app.php, reducing clutter and improving maintainability—especially useful for large Laravel applications with many third-party packages or custom providers.config/providers.php), which can be version-controlled and shared across environments.config/app.php is already bloated. Avoid reinventing the wheel for minor refactoring needs.config/app.php is already modularized via config/providers.php natively). Justify as a low-risk, quick-win for technical debt reduction.app.php.app.php during a refactor.config/app.php (e.g., >50 providers/aliases).config/providers.php obviates this package.ServiceProvider::booting()) for runtime flexibility.config/providers.php manually included in app.php).For Executives:
"This package lets us clean up technical debt in our Laravel 5.x app by moving 30+ service providers out of config/app.php into a dedicated config file. This reduces merge conflicts, improves readability, and makes onboarding easier—all with a one-time setup (no ongoing maintenance). It’s a low-cost, high-impact fix for a legacy pain point, costing ~2 hours to implement vs. weeks of manual refactoring. We’ll phase it into our 2024 modernization roadmap alongside other Laravel upgrades."
For Engineering:
*"We’re proposing this minimalist package to externalize service providers/aliases from app.php into config/providers.php. Benefits:
app.php once.For Developers:
*"This package lets you offload providers/aliases to config/providers.php, so app.php stays lean. Example:
// Before (app.php)
'providers' => [
App\Providers\AppServiceProvider::class,
Laravel\Cashier\CashierServiceProvider::class,
// ...50 more lines...
],
// After (config/providers.php)
return [
'providers' => [
App\Providers\AppServiceProvider::class,
Laravel\Cashier\CashierServiceProvider::class,
// ...now in a separate file!
],
];
Steps:
composer require juy/providers:1.*Juy\Providers\ServiceProvider::class to app.php.php artisan vendor:publish --provider="Juy\Providers\ServiceProvider" --tag="config".
Caveat: Package is old, but the change is safe. If issues arise, we can manually merge the logic."*How can I help you explore Laravel packages today?