PHPackages                             roygoldman/composer-installers-discovery - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. roygoldman/composer-installers-discovery

ActiveComposer-plugin

roygoldman/composer-installers-discovery
========================================

A composer installers extension which permits dependencies to provide installer paths relative to the parent project.

1.0.3(7y ago)01231GPL-2.0-or-laterPHP

Since Aug 1Pushed 6y ago1 watchersCompare

[ Source](https://github.com/roygoldman/composer-installers-discovery)[ Packagist](https://packagist.org/packages/roygoldman/composer-installers-discovery)[ RSS](/packages/roygoldman-composer-installers-discovery/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (1)Versions (6)Used By (1)

Composer Installers Dependency Search
=====================================

[](#composer-installers-dependency-search)

An extension for [composer/installers](https://github.com/composer/installers)which allows project dependencies to define installer types, and the install locations for those types.

[Composer Installers](https://github.com/composer/installers) Support
---------------------------------------------------------------------

[](#composer-installers-support)

This project doesn't depend on the Composer Installers project, and it will not be included as a dependency of this project. This project can be used completely independently and it will support any custom installer path defined in a package required by the project.

How to Use
----------

[](#how-to-use)

To use this project, require it as part of your composer project or library.

```
composer require roygoldman/composer-installers-discovery

```

Once this project is required, then any module installs will respect the installer configuration of the other dependencies. Any project defining the `installer-paths` key it the extra section of its `composer.json` will be included in the package.

To add this to you project, simply defined this section in your project.

```
  "extra": {
    "installer-paths": {
      ...
      "path/to/libraries/{$name}/": ["type:library"]
      ...
    }
  }

```

Limitations
-----------

[](#limitations)

There are some limitations to this module use case. Package discovery iterates over each packages dependencies in the order they are defined in the `requires`block of the package. This means that if multiple projects define path mapping for the same package type, only the path for the first project will be used.

Additionally, if a package defines its own mappings, they will override the mappings of projects which are required by them. However, if the same package is required twice, and the high priority package isn't otherwise overridden, it will be used instead of the dependent package.

As a result of these two limitations, the order of packages can directly effect the mapping of the installer paths. If this is an issue, please file an issue on github, so I can find a good solution for your use case.

### Overriding paths of dependencies

[](#overriding-paths-of-dependencies)

A root project is the highest authority on installer paths. This means that any installer paths defined in the root package, will be used instead of those defined by the dependencies. This allows a user to opt out of a dependency's installer paths, or replace them.

Support
-------

[](#support)

If you have any questions, comments, or feedback on this module, please open an issue on GitHub. I would like to solve any compatibility and use case issues as well as incorporate new features into this project where its logical. If you could spend some time debugging and possibly fixing issues, its appreciated and pull requests are always welcome!

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Total

4

Last Release

2787d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2d0b02b1400c4c24d0caf4adc94bfbf6baf5b3453fb339bec94a9971738a5535?d=identicon)[roygoldman](/maintainers/roygoldman)

---

Top Contributors

[![richgerdes](https://avatars.githubusercontent.com/u/1626100?v=4)](https://github.com/richgerdes "richgerdes (12 commits)")

### Embed Badge

![Health badge](/badges/roygoldman-composer-installers-discovery/health.svg)

```
[![Health](https://phpackages.com/badges/roygoldman-composer-installers-discovery/health.svg)](https://phpackages.com/packages/roygoldman-composer-installers-discovery)
```

###  Alternatives

[humbug/box

Fast, zero config application bundler with PHARs.

1.3k801.5k69](/packages/humbug-box)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[roots/wordpress-core-installer

A Composer custom installer to handle installing WordPress as a dependency

4115.6M19](/packages/roots-wordpress-core-installer)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
