Привет!
На сегодняшний день разработка bem-tools заморожена.
Мы плавно мигрируем на ENB. ENB можно представить как альтернативную реализацию команды bem 'make'. Всех остальных команд в нем нет. Кроме того, ядро ENB позволяет собирать и проекты, не связанные с БЭМ. В ENB, как и в случае с bem-tools, большая часть логики описана в модулях технологий.
Т.к. ядро ENB не завязано на знание предметной области БЭМ, то нет никакого поведения по умолчанию, и конфиги зачастую получаются гораздо более вербозными, но зато более простыми для понимания.
Одной из основных причин для перехода на ENB для нас стал факт того, что большинство разработчиков Яндекса перешли на ENB, когда он только появился и позволял собирать типовые проекты быстрее bem-tools. После автор, Марат Дулин, помог нам ускорить bem-tools (момент появления v2-технологий для сборки), но смысла для разработчиков возвращаться не было.
В результате у нас был выбор: либо поддерживать оба инструмента, тестировать все блоки при сборке на обоих, отвечать на вопросы по каждому и вкладываться в синхронизацию изменений и там и там, либо остановиться на каком-то одном. Мы решили последовать выбору большинства.
На сегодняшний день мы реализовали все, что было разработано поверх bem-tools, в ENB и добавили части, которых в ENB не было.
Нам предстоит сделать еще много всего: написать и опубликовать документацию новых модулей, выпустить версии библиотек, собираемых на ENB, поддержать его в project-stub и т.д.
Что касается использования, то до выхода bem-core@v3 все наши библиотеки точно можно будет собирать любым из сборщиков. С точки зрения результата отличий не будет. Об остальных изменениях обязательно сообщим дополнительным анонсом в нашем блоге на bem.info.
Для задач типа создания сущностей bem-tools по-прежнему остаются актуальны. Реализовывать эту логику где-то рядом с ENB смысла нет. Возможно, в рамках bem-tools мы сделаем команду 'make' полиморфной: если на проекте есть конфиг bem-tools — собираем с помощью bem 'make', если же есть конфиг ENB — вызываем ENB под капотом.
И как мы неоднократно рассказывали на BEMup-ах, мы прекратили разработку bem-tools 1.0, но продолжаем мечтать о том, чтобы написать набор атомарных модулей, которые будут позволять собирать БЭМ-проекты с помощью grunt, gulp, broccoli, brunch и т.д.
Возможно когда-нибудь дойдем и до этого. А, возможно, найдем кого-то неравнодушного из числа БЭМ-разработчиков?
Если у вас есть силы и желание взять на себя этот кусок работы, мы с радостью поговорим с вами про это, поможем спланировать и подскажем, куда стоит двигаться, а дальше с радостью позовем поделиться получившимися результатами на собственных и внешних конференциях, и написать про это на сайте bem.info.
Пишите нам на info@bem.info
И Stay BEMed!