Удобства при composer-based сборке drupal'а

Дубовской Александр
Team lead

1. Вы можете добавить свой репозиторий. У нас стоит связка с https://github.com/wemakecustom/gitlab-composer , которая позволяет нужные группы GitLab-проектов использовать через composer

"repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        {
            "type": "composer",
            "url": "https://repo.ra-don.ru"
        }
    ]

И в последующем ставить пакеты через (пример) composer require radon_modules/my_module. Где radon_modules - это название группы проектов в GitLab.

2. Легко добавить нужные команды после обновления кодовой базы. Например:

"post-update-cmd": [
  "drush updatedb -y"
]

Это запустит обновление базы (по статистике, webform чаще всего требует :) .

3. За порядком в файловой системе будет следить composer. Достаточно указать следующее:

"installer-types": ["drupal-custom-feature"],
"installer-paths": {
            "core": ["type:drupal-core"],
            "modules/contrib/{$name}": ["type:drupal-module"],
            "modules/repository/{$name}": ["type:drupal-custom-module"],
            "modules/features/{$name}": ["type:drupal-custom-feature"],
            "profiles/contrib/{$name}": ["type:drupal-profile"],
            "themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"],
            "themes/repository/{$name}": ["type:drupal-custom-theme"]
        },

При этом тип drupal-custom-feature не является стандартным, за его обработку отвечает https://packagist.org/packages/oomphinc/composer-installers-extender , т.е. необходимо для правильной работы добавить его в репозиторий: `composer require oomphinc/composer-installers-extender`