独学者Fossa

独学していることなど

Composer Merge Plugin

github.com

Composer Merge Pluginが、やっとComposer 2.xに対応しました。*1

MediaWikiや、CMSOctoberなどで、使われているみたいです。

Laravel Modulesで、Module毎にcomposer.jsonで、パッケージを管理したい場合、とても便利です。

使い方は、以前と同じでした。

試したので、追記します。*2

使用したソフトとバージョン

Name Version
PHP 7.4.15
Laravel 8.30.1
nwidart/laravel-modules 8.2.0
wikimedia/composer-merge-plugin 2.0.1

使い方

composer require nwidart/laravel-modules
composer require wikimedia/composer-merge-plugin

composer.jsonの一部

{
    "require": {
        "nwidart/laravel-modules": "^8.0",
        "wikimedia/composer-merge-plugin": "^2.0"
    },
    "autoload": {
        "psr-4": {
          "App\\": "app/",
          "Database\\Factories\\": "database/factories/",
          "Database\\Seeders\\": "database/seeders/",
          "Modules\\": "Modules/"
        }
    },
    "extra": {
        "merge-plugin": {
            "include": [
                "composer.local.json",
                "Modules/*/composer.json"
            ],
            "recurse": true,
            "replace": false,
            "ignore-duplicates": false,
            "merge-dev": true,
            "merge-extra": false,
            "merge-extra-deep": false,
            "merge-scripts": false
        }
    }
}

Modules/<module_name>/composer.jsonの一部

    "require": {
        "simplepie/simplepie": "^1.5"
    }

上記の設定が終わったら

composer update

*1:下書きにしたまま、忘れていました

*2:2021-03-04 13:00:00