PHPackages                             webimpress/composer-extra-dependency - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. webimpress/composer-extra-dependency

ArchivedComposer-plugin[Utility &amp; Helpers](/categories/utility)

webimpress/composer-extra-dependency
====================================

Composer plugin to require extra dependencies

0.2.2(8y ago)11701.7k↓80.5%2[1 PRs](https://github.com/webimpress/composer-extra-dependency/pulls)1BSD-2-ClausePHPPHP ^5.6 || ^7.0

Since Oct 11Pushed 8y ago1 watchersCompare

[ Source](https://github.com/webimpress/composer-extra-dependency)[ Packagist](https://packagist.org/packages/webimpress/composer-extra-dependency)[ Docs](https://github.com/webimpress/composer-extra-dependency)[ RSS](/packages/webimpress-composer-extra-dependency/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (5)Versions (5)Used By (1)

composer-extra-dependency
=========================

[](#composer-extra-dependency)

[![Build Status](https://camo.githubusercontent.com/6b0cc1911b202a784a586fc311094be76c8730d219e4c99d408df5d86687c107/68747470733a2f2f7472617669732d63692e6f72672f776562696d70726573732f636f6d706f7365722d65787472612d646570656e64656e63792e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/webimpress/composer-extra-dependency)[![Coverage Status](https://camo.githubusercontent.com/9cefc1e2d4f55679cb0ae096c2f4ab5854c0b6024bfa7ce23f28a91f72d3f3a9/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f776562696d70726573732f636f6d706f7365722d65787472612d646570656e64656e63792f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/webimpress/composer-extra-dependency?branch=master)

This composer plugin allows you to require composer dependencies in version specified by user during the installation. It modifies the `composer.json` file and add required package in `require` section.

This can be useful when your library supports multiple version of some dependencies and you'd like to force user to use an explicit dependency instead of depending on implicit dependencies from your library.

Usage
-----

[](#usage)

Require the package in your library:

```
# composer require webimpress/composer-extra-dependency
```

Update your `composer.json` file: in section `extra.dependency` add package(s) you'd like to install with your library:

```
{
    "name": "my/package",
    "description": "This is my package",
    "extra": {
        "dependency": [
            "package/to-require",
            ...
        ]
    },
    "require": {
        "php": "^5.6 || ^7.0",
        "webimpress/composer-extra-dependency": "^0.1 || ^1.0",
        ...
    }
    ...
}
```

Then, during installation of your library, user will be prompted:

```
# Enter the version of package/to-require to require (or leave blank to use the latest version):
```

After providing the version, `composer.json` of the user will be update (package will be added in `require` section with version provided by user).

If user does not provide the version, plugin will try to find package in the latest version matching platform requirements and other dependencies. Here also `composer.json` will be updated and package will be installed.

Plugin runs always on post update/install package to check if there are some dependencies to require explicitly in user `composer.json` file.

> If dependency is already provided in user `composer.json` (`require` or `require-dev` section) the plugin is not going to do anything.

> Please note plugin works only in **development interactive mode**. It means when `--no-dev` or `--no-interaction` flags are provided, plugin is not going to do anything.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 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 ~2 days

Total

4

Last Release

3126d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/06864e2afad0a0cb0b46016664bf5895c3378c8b413e0bddd03075011fc6d731?d=identicon)[webimpress](/maintainers/webimpress)

---

Top Contributors

[![michalbundyra](https://avatars.githubusercontent.com/u/7423207?v=4)](https://github.com/michalbundyra "michalbundyra (17 commits)")

---

Tags

composerdependenciesplugincomposerdependencywebimpress

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webimpress-composer-extra-dependency/health.svg)

```
[![Health](https://phpackages.com/badges/webimpress-composer-extra-dependency/health.svg)](https://phpackages.com/packages/webimpress-composer-extra-dependency)
```

###  Alternatives

[bamarni/composer-bin-plugin

No conflicts for your bin dependencies

52722.0M855](/packages/bamarni-composer-bin-plugin)[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k37.3M2.1k](/packages/ergebnis-composer-normalize)[pyrech/composer-changelogs

Display changelogs after each composer update

5904.0M25](/packages/pyrech-composer-changelogs)[typisttech/imposter-plugin

Composer plugin that wraps all composer vendor packages inside your own namespace. Intended for WordPress plugins.

158251.0k2](/packages/typisttech-imposter-plugin)[helhum/dotenv-connector

Makes it possible to set environment variables for composer projects.

1594.6M33](/packages/helhum-dotenv-connector)[mnsami/composer-custom-directory-installer

A composer plugin, to help install packages of different types in custom paths.

1395.0M52](/packages/mnsami-composer-custom-directory-installer)

PHPackages © 2026

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