Size: a a a

2020 June 19

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Но вообще я с Jordi (автором Composer-а общался) и он советовал не юзать ничего кроме API плагина.
Это когда ты в плагине это используешь, а в обычном классе спокойно можно юзать класс композера. Можно в принципе и еще оптимальнее делать, но надо копаться во внтряке композера.
источник

DS

Dmitriy S in Yii Framework 3
Фактически для сбора конфигов нам нужен RepositoryManager
источник

AM

Alexander Makarov in Yii Framework 3
Он про то говорил, что это внутряк и на backwards compatibility внутряка ему пофиг.
источник

AM

Alexander Makarov in Yii Framework 3
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
возможно. я вижу один из вариантов решения следующим образом:

index.php:
$config = (new ConfigProvider())->collect();

ConfigProvider:
 function collect(): array

внутри уже можно любые навороты делать
return [YiiWebConfigProvider::class, require 'config/web.php', (new YiiDebugConfigProvider($container))->collect()];

главное, это будет +- явно и настраиваемо. даст свободу на зависимости конфигов между компонентами и прочим.
Если это вынести и заставить плагин собирать конфиги и пихать туда... ну неплохо звучит в качестве рефакторинга.
источник

Д

Дмитрий in Yii Framework 3
зачем?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Он про то говорил, что это внутряк и на backwards compatibility внутряка ему пофиг.
Ну как вариант, можем свой парсер .lock файла сделать, который дерево пакетов будет строить, но нафига? Если сломается - исправим
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
зачем?
Чего зачем?
источник

T

TradersVE in Yii Framework 3
Wow 150 msg 😂😂
источник

Д

Дмитрий in Yii Framework 3
не понял, зачем перенесли в requrie
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
не понял, зачем перенесли в requrie
Потому что это надо чтобы код из pull request работал.
источник

AM

Alexander Makarov in Yii Framework 3
И код этот не в тестах.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Он про то говорил, что это внутряк и на backwards compatibility внутряка ему пофиг.
Плюс там на выском уровне все, чисто через фабрику композера, я не думаю что он будет ломать фабрику
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
Потому что это надо чтобы код из pull request работал.
прикольно, тогда нам __files не нужен больше? :)
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
прикольно, тогда нам __files не нужен больше? :)
Да. Его надо выкорчевать.
источник

NO

Nex Otaku in Yii Framework 3
Dmitriy S
Ну как вариант, можем свой парсер .lock файла сделать, который дерево пакетов будет строить, но нафига? Если сломается - исправим
Их несколько готовых есть, я в своём проекте использую mcstreetguy/composer-parser
источник

NO

Nex Otaku in Yii Framework 3
Парсит и composer.lock и composer.json
источник

AM

Alexander Makarov in Yii Framework 3
Ну, так-то лучше чем парсер от Composer не будет, наверное :)
источник

NO

Nex Otaku in Yii Framework 3
Я пробовал оригинальный от композера дёрнуть и он мне не зашёл. Уж не помню почему.
источник

DS

Dmitriy S in Yii Framework 3
Ну и тепер, надеюсь, понятно что я писал вначале. Можно сделать отдельный пакет config-builder, который может билдить конфиги без всяких плагинов, а config-plugin будет просто юзать этот пакет. То есть, если тебе нужна магия с билдом конфигов по composer du, то подключаешь плагин, если нет, то юзаешь config-builder явно выполняя билд конфигов без запуска композера в консоли.
источник