All packages that you are adding to your project are versioned. This means that you can specify which version of a package you wish to include in your project. To keep track of which version you are using within your project we save that information in a easy to read json file. This file is easy to read and can be used to add multiple packages at once. Next to that it’s also possible to ship a copy of a whole project to a different environment.

Some basic information about the json file.

{
    "packages": [
        {
            "name": "mycompany/my-package",
            "version": "1.2.3"
        },
        {
            "name": "mycompany/another-package",
            "version": "4.5.6"
        }
    ]
}

Here an example of a json file with the Multiple strategy wich downloads multiple version of the same package in the same WorkingFolder. This file contains a package download in a alternative Workingfolder.

{
  "workingFolder": "packages",
  "packages": [
    {
      "name": "ipmhub/aks-package",
      "versions": [
        "4.5.6",
        "3.4.5"
      ],
      "downloadStrategy": "Multiple"
    },
    {
      "name": "ipmhub/aks-package",
      "version": "3.4.5",
      "workingFolder": "AlternativeWorkFolder"
    }
  ]
}