Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Composer Installers Extender Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerated Developer Onboarding: Reduces manual setup time for project scaffolding (e.g., Laravel + frontend, databases, or custom tooling) by automating dependency installation via Composer, now with official Composer 2 support and PHP 7.1+ compatibility, ensuring modern Laravel projects (v7+) can leverage it without version conflicts.
  • Consistent Environments: Ensures parity across dev/staging/prod by standardizing non-PHP dependencies (e.g., Node.js, Python, Docker) in a single composer.json, now with PSR-2 compliance and development dependency examples (phpunit, php_codesniffer) to demonstrate best practices for testing and linting.
  • Build vs. Buy: Avoids reinventing custom scripts or CI/CD steps for repetitive setup tasks, with refactored class structures (Installer → Installers\Installer, InstallerHelper → CustomInstaller) improving maintainability and reducing technical debt.
  • Roadmap Alignment: Enables future-proofing for multi-language stacks (e.g., adding Go/Rust tools) while aligning with modern Composer 2 and PHP 7.1+ ecosystems, reducing friction for teams adopting newer Laravel versions (v8+).
  • Use Cases:
    • Monorepos: Bundle PHP + frontend/backend services in a single repo with one composer install, now with explicit development dependency examples to encourage testing integration.
    • Legacy Modernization: Gradually integrate non-PHP tools (e.g., data pipelines) into existing Laravel apps, with PSR-2 compliance easing collaboration with modern codebases.
    • Templates/Boilerplates: Ship pre-configured stacks (e.g., "Laravel + Vue + Tailwind") as reusable packages, now with documented development dependencies to standardize quality tools.
    • Testing/Linting: Standardize phpunit and php_codesniffer setup across projects via Composer, reducing ad-hoc tooling decisions.

When to Consider This Package

Adopt if:

  • Your team spends >1 hour/week on manual composer install + post-install steps (e.g., npm, pip, brew) and uses Composer 2 or PHP 7.1+.
  • You manage multi-language stacks where dependencies aren’t natively supported by Composer (e.g., PHP + Node.js + Python) and want PSR-2-compliant, maintainable code.
  • You’re building reusable project templates (e.g., internal Laravel + React starter kits) with testing/linting requirements (now includes phpunit/php_codesniffer examples).
  • Your CI/CD pipeline has redundant setup scripts (e.g., duplicate npm install commands) and you’re using Laravel v7+ or Composer 2.
  • You need modern PHP practices (PSR-2, PHP 7.1+) in your dependency management workflow.

Look elsewhere if:

  • Your stack is pure PHP (no need for non-Composer dependencies) and you’re not using Composer 2 or PHP 7.1+.
  • You’re using Laravel Sail/Docker exclusively (native Dockerfiles may suffice) and don’t need Composer-based multi-language support.
  • Your team lacks Composer plugin familiarity (requires basic composer.json configuration) or Composer 2 experience.
  • You need active maintenance (last major release in 2020; evaluate forks or alternatives like cweagans/composer-patches).
  • You’re stuck on PHP <7.1 or Composer 1 (this release drops legacy support).

How to Pitch It (Stakeholders)

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:

  • Future-proofing our stack for Laravel v8+ and Composer 2.
  • Reducing onboarding friction for new hires with modern, documented practices.
  • Eliminating redundant scripts in CI/CD pipelines, saving [Y hours/month].

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:

  • Composer 2 + PHP 7.1+ support: No version conflicts with modern Laravel (v7+).
  • PSR-2 compliance: Cleaner, more maintainable code for collaboration.
  • Development dependency examples: Standardize phpunit/php_codesniffer setup across projects via composer.json.
  • Refactored classes: Installer → Installers\Installer and CustomInstaller improve clarity and extensibility.

How to leverage it:

  1. Unify dependency management: Define type: "node-package" or type: "python-package" in composer.json for non-PHP tools.
  2. Replace ad-hoc scripts: Eliminate post-install-cmd in package.json or custom CI steps.
  3. Enforce quality: Use the included phpunit/php_codesniffer examples to standardize testing/linting.

Tradeoffs:

  • Breaking changes: PHP <7.1/Composer 1 no longer supported (upgrade path required).
  • Learning curve: Requires updating 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."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log