Skip to content

Composer.json for Magento 2.2 versions isn't in line with a normal Magento installation #255

Closed
@hostep

Description

@hostep

Hi!

I don't know how important this is, but I'm reporting this for consistency's sake.

So, when I compare a composer.json file from Magento Open Source 2.1.x to 2.2.x when a project has been setup using composer create-project, I notice some changes being done to the composer.json file, which have not been applied to this project's composer.json file.
I know this project depends on those other Magento projects, but some of those composer.json changes only apply to the root project, so it doesn't matter if the required packages from this project have the new composer.json file, it's the root file which counts for some of the sections.

I'm talking about these sections:

  • config
  • autoload
  • minimum-stability
  • prefer-stable

Here is a diff between the composer.json file of a fresh Magento 2.1.12 and 2.2.5 project (minus the changes in the version, require or require-dev sections, since they are less relevant here):

--- magento21-test/composer.json	2018-07-20 18:31:52.000000000 +0200
+++ magento22-test/composer.json	2018-06-14 15:31:46.000000000 +0200
@@ -20,9 +20,6 @@
         "lusitanian/oauth": "~0.8.10",
         "sebastian/phpcpd": "2.0.4"
     },
-    "config": {
-        "use-include-path": true
-    },
     "autoload": {
         "psr-4": {
             "Magento\\Framework\\": "lib/internal/Magento/Framework/",
@@ -30,10 +27,17 @@
             "Magento\\": "app/code/Magento/"
         },
         "psr-0": {
-            "": "app/code/"
+            "": [
+                "app/code/"
+            ]
         },
         "files": [
             "app/etc/NonComposerComponentRegistration.php"
+        ],
+        "exclude-from-classmap": [
+            "**/dev/**",
+            "**/update/**",
+            "**/Test/**"
         ]
     },
     "autoload-dev": {
@@ -45,8 +49,7 @@
             "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
         }
     },
-    "minimum-stability": "alpha",
-    "prefer-stable": true,
+    "minimum-stability": "stable",
     "repositories": [
         {
             "type": "composer",

So the above changes are for Magento 2.2 projects.
But for 2.1 projects, there was also a slight change between 2.1.12 and 2.1.13 (also part of the diff above):

         "psr-0": {
-            "": "app/code/"
+            "": [
+                "app/code/"
+            ]
         },

Also there is no require-dev section, so people who want to run the default test suite of Magento have to add that manually, there is already a PR open here: #200

Again: I don't know how important all these changes are. The use-include-path probably not important, but setting the minimum-stability to stable is probably a good idea at least?

Some of these changes were done for performance improvements, see: magento/magento2@0b659d2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions