Пакетные менеджеры созданы что бы удовлетворять зависимости. В мире php это composer, в мире js и css это npm или yarn.
Я решил добавить в php проект зависимости от npm пакетов. Для composer существует плагин fxp/composer-asset-plugin который может решить эту проблему. Но работает он очень долго, перебирая множество версий в зависимостях. Мне же хотелось использовать yarn т.к. он оставляет далеко позади и плагин и npm. В решении данной проблемы мне помог пакет foxy.
Для начала я создал в корне проекта файл package.json. Пример содержимого:
{
"dependencies": {
"bootstrap": "3.3.7"
}
}
Затем добавил в composer.json конфигурацию.
"config": {
"foxy": {
"manager": "yarn",
"enabled": true
},
},
В конфиге, в параметре manager можно указать какой пакетный менеджер использовать yarn или npm. После этого необходимо поставить пакет foxy
composer require foxy/foxy
Тперь про выполнении команд composer install или composer update foxy обойдет установленные пакеты, посмотрит наличие package.json с зависимостями, соберет один файл со всеми зависимостями, укажет его в dependencies коневого package.json и установит недостающие пакеты.
Возможно данный метод работает не идеально, но лучшего решения я не нашел. Работающий пример можно найти на гитхабе.