joachim-n / composer-manifest

A Composer plugin which maintains a simple YAML file listing all installed packages with their version numbers.
MIT License
32 stars 10 forks source link

Manifest listing reorders itself at random when running composer commands #3

Closed iamsophiesk closed 5 years ago

iamsophiesk commented 5 years ago

When running composer install for example, sometimes the packages in the manifest listing will reorder themselves. Where they may have been in alphabetical order previously, newly added or installed packages may instead sink to the bottom of the list.

This may be because it copies the structure of the composer.lock file (from a conversation with @joachim-n yesterday), but perhaps a forced sort would be useful?

iamsophiesk commented 5 years ago

Just thought I'd provide a supporting example:

I upgraded drush/drush on a feature branch, merged that branch into develop, then did git checkout develop && git pull followed by composer install.

That installed the packages correctly but resulted in this diff of my composer-manifest.yml file:

diff --git a/composer-manifest.yaml b/composer-manifest.yaml
index 3d6423368..faa2a4638 100644
--- a/composer-manifest.yaml
+++ b/composer-manifest.yaml
@@ -22,7 +22,6 @@ packages:
     bshaffer/oauth2-server-php: v1.11.1
     caxy/php-htmldiff: v0.1.9
     cebe/markdown: 1.2.1
-    chi-teck/drupal-code-generator: 1.29.2
     ckeditor-plugin-descriptionlist/descriptionlist: master
     commerceguys/addressing: v1.0.2
     commerceguys/intl: v1.0.2
@@ -31,13 +30,8 @@ packages:
     composer/semver: 1.5.0
     consolidation/annotated-command: 2.12.0
     consolidation/config: 1.2.1
-    consolidation/filter-via-dot-access-data: 1.0.0
     consolidation/log: 1.1.1
-    consolidation/output-formatters: 3.5.0
-    consolidation/robo: 1.4.9
     consolidation/self-update: 1.1.5
-    consolidation/site-alias: 3.0.0
-    consolidation/site-process: 2.0.3
     container-interop/container-interop: 1.2.0
     cweagans/composer-patches: 1.6.5
     defuse/php-encryption: v2.2.1
@@ -90,7 +84,6 @@ packages:
     drupal/console-extend-plugin: 0.9.2
     drupal/consumers: 1.9.0
     drupal/contact_storage: 1.0.0-beta10
-    drupal/core: 8.6.17
     drupal/crop: 2.0.0-rc1
     drupal/csv_serialization: 1.4.0
     drupal/ctools: 3.0.0
@@ -193,7 +186,6 @@ packages:
     drupal/views_data_export: 1.0.0-beta1
     drupal/views_infinite_scroll: 1.5.0
     drupal/viewsreference: 1.4.0
-    drush/drush: 9.7.0
     easyrdf/easyrdf: 0.9.1
     egulias/email-validator: 1.2.15
     enm1989/chromedriver: '2.45'
@@ -231,7 +223,6 @@ packages:
     mikey179/vfsstream: v1.6.5
     mkalkbrenner/php-htmldiff-advanced: 0.0.8
     myclabs/deep-copy: 1.8.1
-    nikic/php-parser: v4.2.2
     npm-asset/inputmask: 4.0.6
     oomphinc/composer-installers-extender: v1.1.2
     paragonie/random_compat: v2.0.18
@@ -274,15 +265,9 @@ packages:
     symfony-cmf/routing: 1.4.1
     symfony/browser-kit: v4.2.4
     symfony/class-loader: v3.4.28
-    symfony/config: v3.4.29
-    symfony/console: v3.4.29
     symfony/css-selector: v3.4.23
-    symfony/debug: v3.4.29
     symfony/dependency-injection: v3.4.28
     symfony/dom-crawler: v3.4.23
-    symfony/event-dispatcher: v3.4.29
-    symfony/filesystem: v3.4.29
-    symfony/finder: v3.4.29
     symfony/http-foundation: v3.4.28
     symfony/http-kernel: v3.4.23
     symfony/phpunit-bridge: v3.4.23
@@ -290,15 +275,11 @@ packages:
     symfony/polyfill-iconv: v1.11.0
     symfony/polyfill-mbstring: v1.11.0
     symfony/polyfill-php70: v1.11.0
-    symfony/polyfill-php72: v1.11.0
-    symfony/process: v3.4.29
     symfony/psr-http-message-bridge: v1.2.0
     symfony/routing: v3.4.28
     symfony/serializer: v3.4.28
     symfony/translation: v3.4.28
     symfony/validator: v3.4.28
-    symfony/var-dumper: v4.3.2
-    symfony/yaml: v3.4.29
     textalk/websocket: 1.2.0
     theseer/tokenizer: 1.1.0
     twig/twig: v1.42.2
@@ -313,3 +294,22 @@ packages:
     zendframework/zend-escaper: 2.6.0
     zendframework/zend-feed: 2.12.0
     zendframework/zend-stdlib: 3.2.1
+    symfony/yaml: v3.4.29
+    symfony/polyfill-php72: v1.11.0
+    symfony/var-dumper: v4.3.2
+    symfony/process: v3.4.29
+    symfony/finder: v3.4.29
+    symfony/event-dispatcher: v3.4.29
+    symfony/debug: v3.4.29
+    symfony/console: v3.4.29
+    nikic/php-parser: v4.2.2
+    consolidation/site-alias: 3.0.0
+    consolidation/site-process: 2.0.3
+    symfony/filesystem: v3.4.29
+    consolidation/output-formatters: 3.5.0
+    consolidation/robo: 1.4.9
+    consolidation/filter-via-dot-access-data: 1.0.0
+    chi-teck/drupal-code-generator: 1.29.2
+    drush/drush: 9.7.0
+    symfony/config: v3.4.29
+    drupal/core: 8.6.17
joachim-n commented 5 years ago

Fixed by #4