Skip to content

3rd Party Libraries

SynQup Core uses a number of third-party libraries to provide additional functionality. This section provides an overview of the libraries used in the project.

You can use composer show to list all the libraries used in the project.

Overview

This is an overview of the libraries used in the project:

Composer Merge Plugin

The Composer Merge Plugin (wikimedia/composer-merge-plugin) is a Composer plugin that allows you to merge the contents of multiple composer.json files. We are using it for customizing the composer.json file of each instance.

If a customer project requires a specific library or synQup module, we can add the library to a composer.merge.json file of the customer project. The Composer Merge Plugin will merge the contents of the composer.merge.json file into the main composer.json file. This is done by the deployment process. It runs the following command:

export COMPOSER_ALLOW_SUPERUSER=1 && composer update --no-scripts --no-plugins && composer update

It is worth noting that the merge plugin uses the following extra configuration in composer.json:

{


  "extra": {
    "symfony": {
      "allow-contrib": "true",
      "require": "6.4.*",
      "docker": false
    },
    "merge-plugin": {
      "include": [
        "composer.local.json",
        "composer.cloud.json"
      ]
    }
  }
}

Thus, it is possible to create a composer.local.json file for local development or a composer.cloud.json file for our cloud environment.