PHPackages                             modera/composer-monorepo-plugin - 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. modera/composer-monorepo-plugin

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

modera/composer-monorepo-plugin
===============================

v0.1.0(9y ago)01.3kPHP

Since Sep 15Pushed 5y ago2 watchersCompare

[ Source](https://github.com/modera/composer-monorepo-plugin)[ Packagist](https://packagist.org/packages/modera/composer-monorepo-plugin)[ RSS](/packages/modera-composer-monorepo-plugin/feed)WikiDiscussions master Synced today

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

modera/composer-monorepo-plugin
===============================

[](#moderacomposer-monorepo-plugin)

Composer plugin to combine requirements from multiple composer.json (at the moment "require", "require-dev") files and run package events on them, you may want to use this plugin when you have a "monolith" repository which contains many packages which at later stages are split by some mechanism like CI scripts but at the same time do not want to manually duplicate meta-information from nested composer.json files into the root one.

Installation
------------

[](#installation)

In order for a plugin to work correctly it has to be installed globally, you can do it by running this command:

```
$ composer global require modera/composer-monorepo-plugin:dev-master
```

Simply specifying a plugin as your project's dependency will have no proper effect since hooks the plugin relies on are invoked earlier than composer starts resolving dependencies graph.

Usage
-----

[](#usage)

Add "extra/modera-monorepo" section to "monolith" composer.json of your package:

```
{
    ...
    "extra": {
        "modera-monorepo": {
            "include": [
                "src/Modera/*/composer.json"
            ]
        }
    }
}
```

"Include" section can be used to specify a list of "glob" expression which instruct the plugin in what directories to look for nested "composer.json" files. In this given example we assume that your package(library) has a "src/Modera" directory in which other directories live which have composer.json inside them.

After each change in nested "composer.json" files you need to run:

```
$ composer update
```

If all passed correctly, plugin combine all requirements and save them into root "composer.json".

Licensing
---------

[](#licensing)

This plugin is under the MIT license. See the complete license in the file: LICENSE

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% 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

Unknown

Total

1

Last Release

3575d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6311198?v=4)[Modera Software](/maintainers/modera)[@modera](https://github.com/modera)

---

Top Contributors

[![cravler](https://avatars.githubusercontent.com/u/157440?v=4)](https://github.com/cravler "cravler (14 commits)")[![sergeil](https://avatars.githubusercontent.com/u/425579?v=4)](https://github.com/sergeil "sergeil (2 commits)")

### Embed Badge

![Health badge](/badges/modera-composer-monorepo-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/modera-composer-monorepo-plugin/health.svg)](https://phpackages.com/packages/modera-composer-monorepo-plugin)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74794.9M939](/packages/symfony-runtime)[ergebnis/composer-normalize

Provides a composer plugin for normalizing composer.json.

1.1k40.0M2.6k](/packages/ergebnis-composer-normalize)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M526](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.0M193](/packages/drupal-core-project-message)[sandersander/composer-link

Adds ability to link local packages for development with composer

94441.4k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

284.6M333](/packages/phpro-grumphp-shim)

PHPackages © 2026

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