История изменений
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.
Ошибки могли возникать в двух случаях:
Если базовые технологии получали на вход декларации, построенные с помощью сторонних технологий.
Если сторонние технологии получали на вход декларации, построенные с помощью базовых технологий.
Исправления были внесены в следующие технологии:
depsdeps-oldfilesmerge-depssubtract-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.