the order in which you define your requirements has strictly no influence on the order in whcih packages are installed.
the rule to sort the packages for installations is that dependencies of a package are always installed before the package itself (except if you have a circular dependency in your packages of course as this would be impossible)
Therefore I assume the issue is with the missing dependency declaration. As composer-drupal-info-file-patch-helper/src/Plugin.php uses PatchEvents class shouldn't it declare a dependency on cweagans/composer-patches?
Checking out my current project which uses this plugin and running
composer install
I get:This is the same issue as in #1 . The solution there was:
As stated in this old composer issue about install order:
Therefore I assume the issue is with the missing dependency declaration. As composer-drupal-info-file-patch-helper/src/Plugin.php uses PatchEvents class shouldn't it declare a dependency on cweagans/composer-patches?