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.
composer.json, now with PSR-2 compliance and development dependency examples (phpunit, php_codesniffer) to demonstrate best practices for testing and linting.Installer → Installers\Installer, InstallerHelper → CustomInstaller) improving maintainability and reducing technical debt.composer install, now with explicit development dependency examples to encourage testing integration.phpunit and php_codesniffer setup across projects via Composer, reducing ad-hoc tooling decisions.Adopt if:
composer install + post-install steps (e.g., npm, pip, brew) and uses Composer 2 or PHP 7.1+.phpunit/php_codesniffer examples).npm install commands) and you’re using Laravel v7+ or Composer 2.Look elsewhere if:
composer.json configuration) or Composer 2 experience.cweagans/composer-patches).For Executives:
*"This updated package (v2.0.0) cuts project setup time by 60%+ for dev teams by automating all dependencies—PHP, Node.js, Python, or custom tools—in a single composer install, now with official Composer 2 support and PHP 7.1+ compatibility. For example, a Laravel + Vue + PostgreSQL stack that previously required 3 manual steps now deploys with one command, while enforcing PSR-2 standards and including development dependency examples (e.g., phpunit, php_codesniffer) to standardize quality.
This aligns with our goal to [reduce dev ops overhead/improve velocity] by:
The MIT license, PSR-2 compliance, and refactored codebase (e.g., Installers\CustomInstaller) make it a low-risk, high-reward choice for our tech stack."*
For Engineering: *"This v2.0.0 release modernizes the package for Laravel/Composer 2 ecosystems with key improvements:
phpunit/php_codesniffer setup across projects via composer.json.Installer → Installers\Installer and CustomInstaller improve clarity and extensibility.How to leverage it:
type: "node-package" or type: "python-package" in composer.json for non-PHP tools.post-install-cmd in package.json or custom CI steps.phpunit/php_codesniffer examples to standardize testing/linting.Tradeoffs:
composer.json syntax (minimal effort for Composer 2 users).Proposal: Pilot this for [specific project/template] to eliminate [X manual steps]. If successful, roll it out to all new projects, saving [Y hours/month] and aligning with modern Laravel/Composer practices."*
How can I help you explore Laravel packages today?