theofidry / composer-inheritance-plugin
Composer plugin to merge multiple sub composer.json files
Fund package maintenance!
theofidry
Installs: 100 442
Dependents: 0
Suggesters: 0
Security: 0
Stars: 28
Watchers: 5
Forks: 3
Open Issues: 0
Type:composer-plugin
Requires
- php: ^7.2 || ^8.0
- composer-plugin-api: ^1.0 || ^2.0
- wikimedia/composer-merge-plugin: ^2.0
Requires (Dev)
- composer/composer: ^1.0 || ^2.0
Conflicts
- composer/composer: >=2.0,<2.0.13
This package is auto-updated.
Last update: 2024-10-11 12:51:13 UTC
README
Opinionated version of Wikimedia composer-merge-plugin to work in pair with bamarni/composer-bin-plugin.
Usage
If you are familiar with bamarni/composer-bin-plugin, you know that you can
easily manage several namespaces without impacting your project dependencies.
There is however one issue: the composer.json
files in your vendor-bin
directory are completely isolated from your project root composer.json
. It is
possible thanks to wikimedia/composer-merge-plugin to change that. This
library pre-configure this plugin to work more nicely out of the box.
Live example: https://github.com/nelmio/alice
/nelmio-alice-project
├── composer.json <-- uses bamarni/composer-bin-plugin to manage vendor-bin
├── composer.lock
├── vendor/
└── vendor-bin/
├── laravel
| ├── composer.json <-- uses theofidry/composer-inheritance-plugin to
| | inherit from the root `composer.json` and add
| | dependencies related to Laravel to test the
| | Laravel bridge
| ├── composer.lock
| └── vendor/
└── symfony
├── composer.json <-- uses theofidry/composer-inheritance-plugin to
| inherit from the root `composer.json` and add
| dependencies related to Symfony to test the
| Symfony bridge
├── composer.lock
└── vendor/