Fork me on GitHub
#clojure-russia
<
2017-07-03
>
mike_ananev19:07:08

@dottedmag почитал я статейку про php. это же ужас, а не язык. прям аж фу-фу-фу

artemyarulin19:07:02

а мне очень понравилось, прям как ужастик хороший troll

kuzmin_m21:07:27

Просвятите, пожалуйста про резолв зависимотей. Я делаю бибилиотеку. Она зависит от reagent. Для тестирования мне нужен React TestUtils. Нужно указать следующее:

[reagent "0.7.0" :exclusions [cljsjs/react]]
[cljsjs/react-with-addons "15.5.4-0"]
Для проекта это еще нормельно, т.к. сам зависимости прописываешь, но это жесть какая-то для библиотеки. Т.е. пользователи моей библиотеки везде будут обязаны исключать react? А если моя библиотека будет зависеть от какого-нибудь компонента, который зависит от react, то тоже придется исключать реакт из зависимостей этой либы, что бы неймспейсы не конфликтовали? Пока есть идею в разных профилях прописывать разные зависимости. Может я что-то не так понял?

mike_ananev21:07:18

в корне project.clj можно добавить секцию:

mike_ananev21:07:10

@kuzmin_m то есть для локального тестирования либы будут загружаться указанные версии зависимых библиотек. однако в основном перечне зависимостей, нужно исключить либы, которые будут provided

kuzmin_m21:07:56

там проблема не в версиях

mike_ananev21:07:14

можно в секции :profiles добавить либу тестирование в подпрофиль :test

kuzmin_m21:07:19

а в разных пакетах с одинаковым неймспейсом

mike_ananev21:07:56

правда я больше ориентируюсь на clj (JVM поведение либ). может быть у тебя в CLJS этот механизм ведет по другому.

kuzmin_m21:07:34

пакетный менеджер то один, так что без разницы спасибо за ответ, может быть кто-то еще сталкивался

mike_ananev21:07:04

@kuzmin_m пользователи твоей библиотеки будут импортировать ее и исключать в ней тот реакт, который ты указал

mike_ananev21:07:42

lein обычно помогает посмотреть где конфликты, где либы тащут более старые версии чем нужно сейчас