У меня есть большой проект Symfony, и я начал передавать код на аутсорсинг для автономных пакетов. Это работает как шарм.
Но я понял, что composer.json содержит «странную» информацию на корневом уровне после выполнения обновления композитора:
Вот почему я прошу:
"customer/base-bundle": {
"version": "dev-develop"
},
"customer/a-bundle": {
"version": "dev-develop"
},
"customer/b-bundle": {
"version": "dev-develop"
},
"customer/c-bundle": {
"version": "dev-develop"
},
"symfony/polyfill-intl-idn": {
"version": "v1.11.0"
},
Это обычная конфигурация в composer.json:
"repositories": {
"base-bundle": {
"type": "vcs",
"url": "[email protected]:customer-shared/base-bundle.git"
},
"a-bundle": {
"type": "vcs",
"url": "[email protected]:customer-shared/a-bundle.git"
},
"b-bundle": {
"type": "vcs",
"url": "[email protected]:customer-shared/b-bundle.git"
},
"c-bundle": {
"type": "vcs",
"url": "[email protected]:customer-shared/c-bundle.git"
}
},
"require": {
// ...
"customer/base-bundle": "dev-develop",
"customer/a-bundle": "dev-develop",
"customer/b-bundle": "dev-develop",
"customer/c-bundle": "dev-develop"
}
С репозиториями и разделом require все в порядке. Я просто не знаю, почему он добавляет пакеты «dev-develop» (и пакет symfony/polyfill-intl-idn) отдельно в корень composer.json.
Это поведение Symfony/Flex или Composer по умолчанию? И для чего используется эта дополнительная информация?
Заранее спасибо!






Выяснил, что есть баг, когда переименовываешь composer.json вот так: composer-dev.json
В Symfony Flex есть str_replace для файла symfony.lock.
Однако переименование пользовательского composer.json следующим образом: dev-composer.json работает.