oomphinc/composer-installers-extender
Extends Composer Installers to add custom installer types and paths without forking. Define extra installer mappings for plugins/themes/modules and other packages, keeping your project’s directory structure consistent across Composer installs.
Use Case Alignment (Updated for 2.0.0):
laravel-module, theme) but now enforces PSR-2 standards and PHP 7.1+, aligning with modern Laravel (8+) and Composer 2.x ecosystems.Installer class rename to Installers\Installer) may require updates to custom installers or third-party integrations extending this package.Laravel Synergy (Unchanged):
illuminate/modules).Breaking Changes:
OomphInc\ComposerInstallersExtender\Installer → OomphInc\ComposerInstallersExtender\Installers\InstallerOomphInc\ComposerInstallersExtender\InstallerHelper → OomphInc\ComposerInstallersExtender\Installers\CustomInstallerNew Opportunities:
| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Breaking Class Changes | High | Audit all custom installers; update imports and logic. Use composer show -a to find dependencies. |
| PHP 7.1+ Requirement | Medium | Upgrade PHP version if not already compliant (Laravel 8+ requires PHP 7.4+). |
| Composer 2.x Migration | Medium | Follow Composer 2.x migration guide. Test in CI first. |
| Custom Installer Failures | High | Write tests for custom installers using phpunit/phpunit. |
| Laravel Caching Issues | Low | Unchanged; clear caches post-install if packages modify Laravel’s config/routes. |
composer-installers-extender?
If yes, how will the class renames (Installer → Installers\Installer) be addressed?phpunit, php_codesniffer) be leveraged?| Phase | Action | Tools/Commands |
|---|---|---|
| Pre-Migration | Audit custom installers for class dependencies. | grep -r "OomphInc\\ComposerInstallersExtender\\Installer" . |
| PHP/Composer Upgrade | Upgrade PHP to 7.1+ and migrate to Composer 2.x. | composer self-update + Composer 2.x migration guide |
| Class Refactoring | Update custom installers to use renamed classes. | Find/replace in IDE or script. |
| Testing | Add PHPUnit tests for custom installers; run PHP_CodeSniffer. | composer require --dev phpunit/phpunit squizlabs/php_codesniffer |
| CI/CD Update | Update CI to use Composer 2.x and PHP 7.1+. | Example: .github/workflows/ci.yml with composer:2 and php:7.4. |
| Rollout | Deploy with feature flags if custom installers are critical. | Gradual rollout with monitoring. |
post-install-cmd behavior changes).composer.json schema changes).create_function) in custom scripts.Class 'OomphInc\ComposerInstallersExtender\Installer' not found → Update imports to Installers\Installer.Composer 2.x platform requirements → Adjust config.platform-check in composer.json.PHP 7.1 deprecation warnings → Update custom scripts to PHP 7.4+ syntax.How can I help you explore Laravel packages today?