/composer-inheritance-plugin

Opinionated version of Wikimedia composer-merge-plugin to work in pair with Bamarni composer-bin-plugin.

Primary LanguagePHPMIT LicenseMIT

Composer Inheritance Plugin

Package version Build Status License

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/