В последний день весны мы решили рассказать вам, что наша команда сделала за последние четыре месяца.
Новости документации
Чего стоит ждать в ближайшем будущем:
- Новый большой и полезный туториал по всему БЭМ-стеку.
- Новые документы в разделе Методология.
Новости библиотек
bem-core
Выпустили bem-core 4.2.0. Обновление должно быть совершенно «бесплатным», так как новая версия полностью обратносовместимая.
Главным изменением является совместимость с bem-xjst 8.x.
Все изменения, вошедшие в релиз, описаны в CHANGELOG.
bem-core 4.2.0 уже внедрена в project-stub.
bem-components
Выпустили две версии v5.1.0
и v6.0.0
.
v5.1.0
Версия v5.1.0 обратносовместимая. Обновление не должно потребовать дополнительных усилий.
Основные изменения:
- обновлена зависимость от bem-core до 4.2.0;
- добавлено визуальное оформление для
link_disabled
;
- исправлены некоторые ошибки.
Подробности в CHANGELOG.
v6.0.0
Bерсия v6.0.0 отличается от 5.1.0 только новыми шаблонами. v6.0.0 обязательно требует обновления до bem-xjst v8.x, где появились новые режимы и исправлена работа режима extend
.
Подробности в CHANGELOG.
Необходимые пакеты для сборки на ENB (enb-bemxjst 8.6.7) или gulp (gulp-bem-xjst 3.0.0) уже доступны для установки.
При переходе вам может пригодиться автоматический мигратор шаблонов.
bem-components 6.0.0 внедрена в project-stub.
bem-history
Выпустили новую версию bem-history v4.0.0, анонсированную в прошлом выпуске дайджеста. Версия v4.0.0 полностью совместима с bem-core v4.
Главное изменение — переименование блока uri
в элемент uri__querystring
, который расширяет базовую реализацию одноименного модуля из bem-core
классом Uri
. Методы класса сохранились без изменений.
Подробное описание изменений в CHANGELOG.
bem-calendar
Опубликовали мини-библиотеку bem-calendar на основе bem-components.
bem-textarea-editor
Опубликовали библиотеку bem-textarea-editor с блоком editor
, позволяющим писать текст на маркдауне с удобной панелью инструментов (примерно как на Github) и получать превью до отправки поста на сервер.
Посмотреть на работу блока в действии можно тут.
bem-font-awesome
Опубликовали библиотеку bem-font-awesome, которая позволяет использовать Font Awesome с использованием БЭМ-нотации и не тянуть лишние стили в проект.
Как установить и использовать библиотеку, читайте в README проекта или в посте на форуме.
bem-font-awesome-icons
Опубликовали альтернативный вариант библиотеки bem-font-awesome
— bem-font-awesome-icons, где распилили шрифт на отдельные SVG-иконки, так что теперь на клиент приедет только то, что реально используется.
Подробности в документации и на форуме.
Новости технологий
bem-express
Обновили версии библиотек bem-core 4.2.0 и bem-components 6.0.0.
project-stub
Обновили версии библиотек bem-core v4.2.0, bem-components v6.0.0 и другие зависимости.
bem-xjst
Выпустили следующие релизы v8.6.0 - v8.6.11.
Основные изменения:
- Исправлена ошибка: переданные
oninit()
во время второй и последующих вызовов compile()
не вызывались. Теперь это исправлено.
- Исправлена ошибка, приводящая к утечке памяти.
- Исправлена ошибка про некорректную работу
this.reapply()
и depth
.
- Исправлена ошибка с отсутствием
i-bem
при миксе элемента с js
.
- Исправлена ошибка с
applyCtx
.
- Исправлена ошибка в теле шаблона функции и
appendContent()/prependContent()
.
- Исправлена ошибка при использовании
match()
без аргументов.
- BEMTREE и BEMHTML: добавлена возможность подключения сторонних библиотек как глобально, так и для разных модульных систем с помощью опции
requires
.
- Размер бандлов BEMHTML и BEMTREE уменьшен (–6%).
- В теле функции-колбека
match
можно использовать apply()
для вызова любого режима, относящегося к данному узлу.
- Создан автомигратор, который умеет править код проектных шаблонов так, чтобы он начал соответствовать указанной мажорной версии.
- Реализован статический линтер, который обеспечивает запуск статической проверки для ваших шаблонов и включает их (наравне с runtime-проверками) в ваш процесс разработки.
- Подробности в CHANGELOG.
Полезный пост про миграцию проектных шаблонов.
gather-reverse-deps
Появился пакет gather-reverse-deps, позволяющий собирать обратные зависимости.
Новости инструментов
bem-naming
Выпустили пакеты 2.0.0-5 и 2.0.0-6.
Основные изменения:
- Теперь, если не указан разделитель значения модификатора, он не наследуется от разделителя имени модификатора и возвращается к значению по умолчанию
bemNaming.modValDelim
.
- Добавлено поле
delims
вместоelemDelim
, modDelim
иmodValDelim
для соответствия функции bemNaming
.
Выпустили bem-tools-create v2.1.0, в которой исправили ряд ошибок и добавили поддержку следующих опций:
-f
— принудительно перезаписывает существующие файлы;
-c
— задает содержимое создаваемых файлов не из шаблонов, а вручную из командной строки.
borschik
Выпустили новую версию borschik v1.7.0, где хеш-функция, используемая при фризе статики, была вынесена в отдельный пакет borschik-hash.
Прекращена поддержка node 0.8.0
Подробности в CHANGELOG.
Обновили документацию.
Новости БЭМ из мира React
bem-react-core
Выпустили bem-react-core v0.4.2. В новой версии исправлен баг с потерей контекста для вложенных элементов и ряд других ошибок.
Основные изменения:
- Рендер без CSS-класса (bem:false).
- Поддержка cls, mix.
- Доопределение статических полей
defaultProps
и propTypes
.
- Сокращенный синтаксис декларации модификаторов.
- Поддержка HOC (redux, flux и других оберток).
Написали подробную документацию – REFERENCE.
Провели ряд мероприятий, посвященных bem-react-core:
bem-react-components
Продолжаем активно развивать bem-react-components — библиотеку блоков для разработки с React по БЭМ-методологии.
create-bem-react-app
Продолжаем создавать реактовый проджект стаб create-bem-react-app, который позволяет одной командой собрать готовое React/БЭМ-приложение с установленными зависимостями и правильной файловой структурой.
Важный приятный пункт — create-bem-react-app не требует никаких предварительных настроек сборки.
webpack-bem-loader
- Добавили генератор i18n, который обеспечивает возможность локализации компонентов.
- Появилась возможность конфигурировать каждый уровень сборки отдельно с помощью bem-config.
Новости мероприятий и сообщества
- Провели целую серию BEMup'ов:
- Продолжили проводить BEMup'ы для новичков — на этот раз встреча была для тех, кто уже имеет представление о базовых понятиях методологии. Опубликовали скринкаст. Видео с первого BEMup'а для новичков, для тех, кто пропустил начало.
- Рассказали про сборку БЭМ-проектов с enb и про все новости БЭМ из мира React на BEMup'е в Москве. Конечно, опубликовали видео.
- Провели Bemup в Екатеринбурге для разработчиков, использующих БЭМ в своих проектах и желающих больше узнать про БЭМ-технологии.
- Провели мастер-класс, на котором написали проект на основе
project-stub
. На живых примерах показали, для чего нужны технологии BEMJSON, BEMTREE, BEMHTML, DEPS, и как использовать их вместе. Опубликовали скринкаст.
- Антон Виноградов провел вебинар «Немного БЭМ в вашем React», где рассказал, как начать использовать bem-react-core — декларативно описывать React-компоненты, гибко их доопределять и использовать уровни переопределения. Скринкаст.
- Сергей Бережной рассказал, что нового в bem-react-core на React Moscow Meetup #2.
- Владимир Гриненко выступил на United Dev Conf в Минске с докладом Dependencies in component web done right. Слайды к докладу в keynote.
- Владимир Гриненко выступил на Web Development Conference.
- Возродили канал bem.info на Youtube. Теперь все новые видео с докладами и вебинарами вы сможете находить тут. Подписывайтесь!