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

ActiveComposer-plugin

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 1mo ago

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 49% 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

3523d 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

[humbug/box

Fast, zero config application bundler with PHARs.

1.3k801.5k67](/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.3M14](/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.9M440](/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)
