История изменений
2.2.2
Исправления ошибок
Исправлено кэширование в технологии
levels-to-bemdecl
(@L0stSoul #255).Исправлена схема уровней
levels-plain
: не работала сenb@1.x
(@dmkova #250).Исправлена технология
provide-deps
: должна поддерживать зависимости в формате массива (@dmkova #251).
Зависимости
Модуль
bem-naming@0.5.1
обновлен до версии1.0.1
.Модуль
inherit@2.2.3
обновлен до версии2.2.6
.Модуль
js-yaml@3.5.2
обновлен до версии3.7.0
.Модуль
vow@0.4.12
обновлен до версии0.4.13
.
Остальное
2.2.1
Исправления ошибок
Исправлена работа технологии deps-by-tech-to-bemdecl
:
Неправильно учитывался контекст БЭМ-сущности по имени файла (#201).
2.2.0
Опции
Для технологий levels-to-bemdecl
, bemjson-to-bemdecl
и deps-by-tech-to-bemdecl
добавлена опция bemdeclFormat.
Опция позволяет возвращать результат не только в стандартном BEMDECL-формате, но и формате результата deps
и depsOld
технологий.
Пример BEMDECL-формата:
{ blocks: [{ name: 'b', elems: [{ name: 'e', mods: [{ name: 'm', vals: [{ name: 'v' }] }] }] }]}
Пример DEPS-формата:
{ deps: [{ block: 'b', elem: 'e', mod: 'm', val: 'v' }] }
Важно: DEPS-формат позволяет выражать декларации, в которые может входить элемент без своего блока и модификатор без своего блока или элемента. Это может быть необходимо при сборке бандлов, которые будут догружаться в браузере.
2.1.1
Исправления ошибок
Исправлена работа технологии deps-by-tech-to-bemdecl
:
Не учитывался контекст БЭМ-сущности по имени файла (#191).
Некорректно обрабатывалась короткая запись для булевых модификаторов (#192).
Зависимости
Модуль
enb-async-require@1.0.0
обновлен до версии1.0.1
.Модуль
enb-require-or-eval@1.0.1
обновлен до версии1.0.2
.Модуль
inherit@2.2.2
обновлен до версии2.2.3
: возможность подменять метод__base()
при тестировании.Модуль
js-yaml@3.4.2
обновлен до версии3.5.2
.Модуль
vow@0.4.11
обновлен до версии0.4.12
.2.1.0
Крупные изменения
Добавлена поддержка
enb
версии1.x
(#185).
Зависимости
Модуль
js-yaml@3.4.0
обновлен до версии3.4.2
.Модуль
vow@0.4.10
обновлен до версии0.4.11
.2.0.1
Исправления ошибок
Исправлена технология
files
: в списках файлов появлялись дубликаты, если уровень переопределения находился в директории другого уровня (#179).
Зависимости
Модуль
js-yaml@3.3.1
обновлен до версии3.4.0
.2.0.0
Важно: ознакомтесь с руководством по переходу на версию 2.0.0
.
Технология files
Исправлен порядок файлов, возвращаемый для нескольких суффиксов:
Файлы должны быть отсортированы сперва по имени сущности, и только потом по суффиксу (#129).
Файлы должны быть отсортированы сперва по уровню, и только потом по суффиксу (#156).
Технология deps-old
Исправлена ошибка раскрытия
must
-зависимостей (#175). Алгоритм раскрытия зависимостей был полностью переписан.Добавлена опция strict, которая включает строгий режим раскрытия зависимостей.
Теперь в консоль выводятся предупреждения о циклических
must
-зависимостях.
Технология deps
Исправлена ошибка, из-за которой невозможно было задать
must
-зависимость модификатору от своего блока (#148).
Формат deps.js
В чтении и обработке deps.js
-файлов исправлены следующие ошибки:
Не учитывались элементы, переданные в виде массива в поле
elem
(#136).Не учитывались булевые модификаторы, переданные в виде массива строк (#113).
Не учитывался контекст блока для его элементов и модификаторов (#112).
Исправлена обработка пустых
deps.js
-файлов (#151).
Технология merge-bemdecl
Исправлено объединение деклараций: не учитывались модификаторы без значения (#116).
Технология subtract-deps
Исправлена обработка опций
from
иwhat
: не раскрывался?
в названии таргета ().
Зависимости
Модуль
js-yaml@3.2.7
обновлен до версии3.3.1
.Модуль
vow@0.4.8
обновлен до версии0.4.10
.1.0.4
Исправления ошибок
Исправлена ошибка, из-за которой невозможно было представить декларацию БЭМ-сущностей в DEPS-формате в виде массива (#107). Актуально для технологий, ожидающих или возвращающих декларацию в формате принятом в enb@0.13.x
.
Ошибки могли возникать в двух случаях:
Если базовые технологии получали на вход декларации, построенные с помощью сторонних технологий.
Если сторонние технологии получали на вход декларации, построенные с помощью базовых технологий.
Исправления были внесены в следующие технологии:
deps
deps-old
files
merge-deps
subtract-deps
Также в релиз вошли следующие изменения
Добавлена поддержка
Node.js
версии0.12
.Добавлена поддержка
io.js
.Модуль
js-yaml@3.2.5
обновлён до версии3.2.7
.1.0.3
Исправления ошибок
Исправлена технология
levels-to-bemdecl
: не правильно строился BEMDECL для булевых модификаторов (#103).
Также в релиз вошли следующие изменения
Модуль
vow@0.4.7
обновлён до версии0.4.8
.1.0.2
Исправления ошибок
Исправлены технологии
merge-bemdecl
иmerge-deps
: ошибка возникала при отсутствии результирующего файла до начала сборки (#99).
Также в релиз вошли следующие изменения
Модуль
bem-naming@0.5.0
обновлён до версии0.5.1
.1.0.1
Исправления ошибок
Для технологии
deps-merge
возвращена возможность объединять BEMDECL-файлы с DEPS-файлами (#94).Исправлено кэширование для следующих технологий:
merge-deps
,merge-bemdecl
иdeps-by-tech-to-bemdecl
(#93, #97).
Также в релиз вошли следующие изменения
Модуль
bem-naming@0.4.0
обновлён до версии0.5.0
.Модуль
js-yaml@3.2.3
обновлён до версии3.2.5
.1.0.0
Для версии 1.0.0
история изменений описана по отношению к пакету enb@0.13.x
.
Изменения, ломающие обратную совместимость
Удалена вся логика, связанная с
BEViS
методологией.Технологии
bemjson-to-bemdecl
,deps-by-tech-to-bemdecl
,merge-bemdecl
иprovide-bemdecl
теперь предоставляют результат вbemdecl
формате, вместоdeps
формата.Технологии
merge-bemdecl
иprovide-bemdecl
теперь ожидает исходные таргеты вbemdecl
формате, вместоdeps
формата.
Крупные изменения
Модуль экспортирует все предоставляемые технологии (#70).
Добавлена
levels-to-bemdecl
технология (#41).Опция
levels
изlevels
технологии теперь может принимать пути относительно корня, вместо абсолютных (#10).Опция
destTech
изdeps-by-tech-to-bemdecl
технологии теперь не является обязательной (#67).
API технологий
Технология
bemdecl-from-bemjson
переименована вbemjson-to-bemdecl
.Технология
bemdecl-from-deps-by-tech.js
переименована вdeps-by-tech-to-bemdecl
.Технология
bemdecl-merge
переименована вmerge-bemdecl
.Технология
deps-merge
переименована вmerge-deps
.Технология
deps-subtract
переименована вsubtract-deps
.Технология
bemdecl-provider
переименована вprovide-bemdecl
.Технология
deps-provider
переименована вprovide-deps
.Опции
sourceTarget
иdestTarget
изbemdecl-from-bemjson
технологии объявлены deprecated, вместо них следует использоватьsource
иtarget
соответственно.Опции
bemdeclSources
иbemdeclTarget
изmerge-bemdecl
технологии объявлены deprecated, вместо них следует использоватьsources
иtarget
соответственно.Опции
sourceNodePath
,sourceTarget
иbemdeclTarget
изprovide-bemdecl
технологии объявлены deprecated, вместо них следует использоватьnode
,source
иtarget
соответственно.Опции
bemdeclTarget
иdepsTarget
изdeps
технологии объявлены deprecated, вместо них следует использоватьbemdeclFile
иtarget
соответственно.Опции
depsSources
иdepsTarget
изmerge-deps
технологии объявлены deprecated, вместо них следует использоватьsources
иtarget
соответственно.Опции
bemdeclTarget
иdepsTarget
изdeps-old
технологии объявлены deprecated, вместо них следует использоватьbemdeclFile
иtarget
соответственно.Опции
sourceNodePath
,sourceTarget
иdepsTarget
изprovide-deps
технологии объявлены deprecated, вместо них следует использоватьnode
,source
иtarget
соответственно.Опции
subtractFromTarget
,subtractWhatTarget
иdepsTarget
изsubtract-deps
технологии объявлены deprecated, вместо них следует использоватьfrom
,what
иtarget
соответственно.Опция
depsTarget
изfiles
технологии объявлена deprecated, вместо неё следует использоватьdepsFile
.
Исправления ошибок
Исправлена ошибка в
deps
иdeps-old
технологиях, из-за которой было невозможно выразить булевый модификатор со значениемtrue
вdeps
формате.Исправлена ошибка в
bemjson-to-bemdecl
технологии, связанная сundefined
вbemjson
формате.Исправлена ошибка в
deps-by-tech-to-bemdecl
технологии, из-за которой полеblock
не подставлялось по контексту.Исправлены ошибки при использовании в Windows.
Также в релиз вошли следующие изменения
Улучшена документация технологий.
Добавлены руководства по сборке бандлов, страниц и дистрибутивов.
Добавлены тесты для технологий.
Добавлены молульные тесты.
Добавлены тесты на производительность для сканера уровней.
Настроен запуск автотестов с помощью
appveyor
для Windows.Добавлена зависимость от модуля
bem-naming
версии0.4.0
.Модуль
vow
обновлён до версии0.4.7
.Модуль
inherit
обновлён до версии2.2.2
.Модуль
js-yaml
обновлён до версии3.2.3
.