Dependency hell between Composer librairies used in MediaWiki extensions and skins

$ # 854 extensions and 46 skins in master versions mostly from Gerrit and some from GitHub (up-to-date) in a MediaWiki master (up-to-date) as of today (2017-12-18), for a total of 784 composer.json (1 from MediaWiki, 740 from extensions, 43 from skins)

$ # Problem 1 (sexies) is caused by Wikidata extension -> the extension Wikidata.org is unusually named (with a point and an uppercase letter), not sure how composer/installers reacts (contrary to what is said in this error message, there were no "extensions/Wikidata.org" directory), I first removed entirely the extension Wikidata, re-ran composer, IT WORKED! and installed 101 libraries

$ # UPDATE [after initial post]: This issue and the very last issue of this paste are linked to the Wikidata extension where there are "sub-extensions" (whose Wikidata.org and Wikibase), which is unusual from the point of view of the root composer.json.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\anyType2anyTypeMap" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\entry" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\Amount" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\ServiceException" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\Error" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

Warning: Ambiguous class resolution, "SmashPig\PaymentProviders\Adyen\WSDL\Type" was found in both "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Payment.php" and "/mediawiki/master/vendor/wikimedia/smash-pig/PaymentProviders/Adyen/WSDL/Notification.php", the first will be used.

> ComposerVendorHtaccessCreator::onEvent

> ComposerVendorHtaccessCreator::onEvent

$ # Then I re-added the extension Wikidata and removed the faulty dependency, re-ran composer and no more worked…

$ # ------------------------

$ composer update --no-dev

[MediaWiki core composer.json…]

> ComposerHookHandler::onPreUpdate

Loading composer repositories with package information

Updating dependencies

Your requirements could not be resolved to an installable set of packages.

$ # I became tired to count in Latin hence I set minimum-stability = dev since it seems SMW (and others?) was installed in dev stability; <-- although I’m pretty sure I added minimum-stability = dev here, I do not understand why dev-master were downloaded earlier, the experiment should perhaps be re-checked