wikimedia / composer-merge-plugin

Merge one or more additional composer.json files at Composer runtime
MIT License
923 stars 160 forks source link

"composer update --no-dev" removes merged dev dependencies from lock #261

Open prudloff-insite opened 1 year ago

prudloff-insite commented 1 year ago

When using 2.0.1, if I run composer update --no-dev, merged dev dependencies are removed from the lock.

For example, if I have this in a JSON file that is then merged:

    "require-dev": {
        "friendsoftwig/twigcs": "^5.0"
    }

And then I run something like composer update symfony/http-kernel --no-dev, this dependency is removed from the parent lock file:

-        {
-            "name": "friendsoftwig/twigcs",
-            "version": "5.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/friendsoftwig/twigcs.git",
-                "reference": "5123655a918d232788da4d7b0545c9f75b08023a"
-            },
...

It seems to be because ExtraPackage::mergeInto() only merges require-dev when in dev mode.