- Профайлер не должен запускаться по умолчанию (@blond #535).
- Сборка не должна завершаться с ошибкой из-за неправильных расчётов в профайлере (@blond #536).
-
Добавлена опция
build-info-file
(@blond #534).В JSON-файл будет записана вся информация о сборке, всё то, что возвращает ENB через JS API.
Пример
$ enb make --profiler --built-info-output='build-info.json'
В файл
build-info.json
будет записано время работы технологий и время сборки каждого таргета.
- Модуль
[email protected]
обновлен до версии0.4.13
. - Модуль
[email protected]
обновлен до версии4.16.6
.
- Исправлена ошибка сборки через API в режиме профейлера, если не была указана опция
profilerPercentiles
(@blond #516).
- Модуль
[email protected]
обновлен до версии7.1.1
. - Модуль
[email protected]
обновлен до версии2.2.6
. - Модуль
[email protected]
обновлен до версии3.5.0
. - Модуль
[email protected]
обновлен до версии4.16.4
.
Добавлен profiler
для таргетов и технологий (@blond, @timofey-em #476, #482, #490, #500, #502, #505, #506).
Чтобы получить информацию о времени работы технологий используйте опцию --profiler
.
$ enb make --profiler
Чтобы получить подробную информацию о времени работы каждого таргета используйте опцию --profiler
со значением targets
.
$ enb make --profiler=targets
Чтобы получить процентили для времени работы технологий используйте опцию --profiler-percentiles
.
$ enb make --profiler-percentiles=25,50,95
В режиме профилирования enb.make()
возвращает объект со следующими полями:
techMetrics
— содержит результаты профилирования технологий (аналог$ enb make --profiler
)buildTimes
— содержит информацию о времени для каждого таргета (аналог$ enb make --profiler=targets
)
var enb = require('enb');
enb.make({ profiler: true })
.then(function(data) {
console.log(data.techMetrics);
console.log(data.buildTimes);
});
- Исправлено кэширование для технологии
file-copy
(@loyd #484).
- Модуль
[email protected]
обновлен до версии7.0.6
. - Модуль
[email protected]
обновлен до версии2.2.5
. - Модуль
[email protected]
обновлен до версии4.15.0
(@blond, @greenkeeperio-bot #453, #499). - Модуль
[email protected]
обновлен до версии0.3.6
. - Модуль
[email protected]
обновлен до версии1.11.1
.
- [
ea271f0
] - chore(package): use caret ranges for dev dependencies (@blond) - [
91e0ddc
] - Object -> Function (@Yeti-or) - [
d5b5435
] - Убрал ссылку на конфигуратор (@h4) - [
fcd75a0
] - Rename in docs enb/lib/server/server-middleware -> enb/lib/server/middleware (@adinvadim)
- Через API теперь можно получить класс
MakePlatform
(#450).
var enb = require('enb');
var MakePlatform = enb.MakePlatform;
- Модуль
[email protected]
обновлен до версии7.0.3
.
- Исправлен метод
ProjectConfig.includeConfig()
: путь к модулю должен расчитываться от корня проекта (#444).
- Модуль
[email protected]
обновлен до версии1.1.3
. - Модуль
[email protected]
обновлен до версии3.4.1
. - Модуль
[email protected]
обновлен до версии1.10.2
. - Модуль
[email protected]
обновлен до версии0.3.5
.
- Добавлена технология
write-file
(#426).
- Исправлен метод
Node.resolvePath()
: некорректно обрабатывались абсолютные пути (#433). - Исправлены тесты для запуска в NodeJS 4 (#438).
-
Для кэш-файла используется формат
JSON
вместоCommonJS
(#434).Было:
.enb/tmp/cache.js
Стало:
.enb/tmp/cache.json
- Исправлено наследование технологий в
build-flow
(#422):
- Модуль
[email protected]
обновлен до версии6.0.4
. - Модуль
[email protected]
обновлен до версии2.2.3
: возможность подменять метод__base()
при тестировании. - Модуль
[email protected]
обновлен до версии1.10.1
. - Модуль
[email protected]
обновлен до версии0.4.12
.
- Технология
file-merge
: исправлено построение карт кода (source maps) для работы сenb server
(#421).
- Модуль
[email protected]
обновлен до версии1.9.0
. - Модуль
[email protected]
обновлен до версии6.0.2
.
- Добавлена опция
strict
для методаenb.make()
(#411).
- Исправлено логирование сервера: сообщения
build failed
не будут выводиться при получении файлов, которые не нужно собирать с помощью ENB (#410).
- Модуль
[email protected]
обновлен до версии2.9.0
. - Модуль
[email protected]
обновлен до версии3.4.0
. - Модуль
[email protected]
обновлен до версии1.0.1
. - Модуль
[email protected]
обновлен до версии1.0.2
.
- Исправлен метод
make
: возможность передавать только опции (#397). - Исправлено получение
buildFlow
через API (#404).
- Модуль
[email protected]
обновлен до версии5.0.15
. - Модуль
[email protected]
обновлен до версии0.4.11
.
- Технологии
file-copy
,file-merge
,file-provider
иsymlink
используют публичное API (#406).
Начиная с данной версии предполагается, что внутреннее устройство ENB
может произвольно меняться. Пользователям предлагается использовать исключительно публичный API. Если необходимая функциональность там отсутствует - ожидается issue или pull request.
Для удобства участия в разработке ENB
большая часть ядра ENB
покрыта тестами. Покрытие на данный момент составляет 90.96%.
- Обновлены зависимости до актуальных на момент релиза версий. (#386)
- Обновлен публичный API: Добавлены классы
BaseTech
,BuildFlow
,FileList
. Также добавлен namespaceasyncFs
. (#398) - Удалена
cli
командаhelp
. (#358) - Для команды
enb server
опцияhost
теперь задается ключем-H
вместо-h
. (#101) - Граф сборки не строится по умолчанию. Таким образом уменьшается время сборки и потребление памяти. (#357)
- Удалены технологии, переехавшие в
enb-bem-techs
,enb-bem-i18n
,enb-bembundle
и другие отдельные пакеты. Оставшиеся в ядре технологии:file-copy
,file-merge
,file-provider
,symlink
. (#367) - Удален старый генератор
project-stub
(#360) - Удалены старые моки:
test-node
,test-logger
,test-file-system
.mock-node
иmock-logger
могут быть найдены в пакетеmock-enb
. Вместоtest-file-system
предполагается использовать пакетmock-fs
. (#365, #369, #371) - Удалена утилита
dir-glob
. В качестве замены предполагается пакетglob
. (#378) - Удалена утилита
drop-require-cache
, для совместимости с использующими её на момент релиза технологиями оставлена заглушка. Вместоdrop-require-cache
предполагается использовать модульclear-require
. (#341, #342) - Удалена утилита
async-require
, для совместимости с использующими её на момент релиза технологиями оставлена заглушка. Вместоasync-require
предполагается использовать модульenb-async-require
. (#400) - Удалена утилита
require-or-eval
, для совместимости с использующими её на момент релиза технологиями оставлена заглушка. Вместоrequire-or-eval
предполагается использовать модульenb-require-or-eval
. (#400) - Удалены устаревшие методы из
FileList
. (#363) - Обновлен
ENB server
: удалены избыточные зависимости, остальные обновлены до актуальных на момент релиза версий. (#393)
- По команде
npm test
тесты запускаются только один раз (#334)
- Теперь можно отключать предупреждения об устаревших модулях с помощью опции
--hide-warnings
(#304). - Больше не показывается ложное предупреждение об использовании модуля
dir-glob
(#312).
- Модуль
[email protected]
обновлен до версии1.7.2
: исправляет склеивание файлов с помощью технологииfile-merge
(#321).
- Предупреждения об устаревших модулях выводятся с использованием стандартного ENB-логгера (#313).
- В предупреждениях об устаревших модулях указывается путь модуля, в котором он используется (#303).
- Технология
file-merge
исправлена для объединения CSS-файлов с учётом source maps (#314). - Методы
Node.getNodePath
иNode.resolvePath
теперь возвращают корректный путь в Windows (#306).
- Модуль
[email protected]
обновлен до версии1.7.1
.
- Добавлена поддержка карт кода (source maps) для технологии
file-merge
(#296). - Добавлена возможность явно включать цветной вывод в логах (например, в CLI) с помощью переменной окружения
COLOR
(#271).
- Методы
loadFromDirSync
,loadFromDir
иparseFilename
модуляFileList
объявлены устаревшими (#268). - Модуль
dir-glob
объявлен устаревшим (#270). Вместо него рекомендуется использовать модуль glob.
- Добавлен пул дочерних процессов
jobQueue
для выполнения «тяжелых» задач в технологиях (#257). - Добавлен метод
getSharedResources()
дляMakePlatform
иNode
. Он возвращает набор общих ресурсов, которые могут быть использованы в технологиях. (#257).
- Методы
justJoinFiles
иjustJoinFilesWithComments
модуляbuild-flow
теперь используютEOL
вместо\n
(#242).
- Добавлен метод
make
для сборки нод и таргетов, а также для запуска тасков. - Добавлен метод
runServer
для запуска dev-сервера.
make
: добавлена опцияmode
.server
: добавлены опцииdir
,mode
и--no-cache
.
- Добавлена поддержка
Node.js
версии0.12
. - Добавлена поддержка
io.js
.
- Исправлены тесты для запуска в Windows.
- Добавлено тестирование под Windows в Continues Integration при помощи AppVeyor.
- Добавлена возможность указать конфиг сборки при инициализации
MakePlatform
. - При построении страницы индекса для dev-сервера теперь учитывается кэш.
- Исправлена обработка путей в
FileList
для методовloadFromDir
иloadFromDirSync
.
- Базовые БЭМ технологии переехали в пакет
enb-bem-techs
. Описание миграции смотрите в руководстве.bemdecl-from-bemjson
bemdecl-from-deps-by-tech
bemdecl-merge
bemdecl-provider
deps-merge
deps-old
deps-provider
deps-subtract
deps
files
levels
- Технологии для сборки
i18n
переехали в пакетenb-bem-i18n
:i18n-keysets-xml
i18n-lang-js
i18n-merge-keysets
- Технологии для получения
html
устарели. Вместо них следует использовать технологии, поставляемые в пакетах (enb-xjst
,enb-bemxjst
иenb-bh
) вместе с технологиями сборки шаблонизаторов.html-from-bemjson
html-from-bemjson-i18n
html-from-bemjson-i18n-sync
- Технология
i18n-lang-js-chunks
переехала в пакетenb-bembundle
. - Технология
bemdecl-test
устарела.
- В
CacheStorage
добавлен методsaveAsync
. - Снижено потребление памяти при сохранении кэша.
- Для технологии
file-copy
переименованы опцииsourceTarget
->source
,destTarget
->target
.
- Новые моки для
fs
. - Автоматически создаем директории для страниц.
- Моки для
fs
. - Отмечаем ряд технологий, как
deprecated
.
- Добавлена опция
--dir
.
- Добавлена опция
sublevelDirectories
для технологииlevels
. - Увеличена
borschik
в зависимостях.
- Добавлена опция
tech
для технологииcss-borschik-chunks
.
- Фикс build-flow: принимаем недекларированные опции в заменах.
- Мелкие фиксы.
- Фиксы, stylus поднята до
0.40.x
.
- Исправлены утечки памяти.
- Технология
html-from-bemjson-i18n-sync
.
- Фикс технологии
xslt
.
- Новая Борщика.
- Переменные для styl-технологии.
- Фикс кэширования в
html-from-bemjson
.
- Фиксы для i18n.
- Фикс ошибки формирования структуры level при наличии файлов с модификаторами но без значений модификатора.
- Фикс ошибки с модификаторами без значений.
- Совместимость с
BEViS
.
- Для технологии
bemdecl-from-bemjson
добавлена возможность указанияelemMods
вbemjson
.
- Исправлена работа сервера при непредвиденных ошибках.
- Еще один фикс в работе
enb server
— вывод ошибок при возникновении.
- Фикс в работе
enb server
— вывод ошибок при возникновении.
- Поддержка nodejs-синтаксиса для
bemjson
-файлов.
- Информация о местоположении файлов в сборке
stylus
. - Опция
required
дляdeps
в форматеyaml
.
- ENV-переменная
ENB_FILE_LIMIT
для ограничения открытых дескрипторов файлов.
- Зависимость от
borschik
->v0.3.3
.
- Избавляемся от модуля
colors
из-за ошибок, связанных с ним. - Фикс контекста в
html-from-bemjson-i18n
.
- Фикс кеширования
deps.yaml
-файлов.
- Поддерка
yaml
-формата для описания deps'ов. Считается, чтоdeps
в форматеdeps.yaml
содержитshouldDeps
.
- Исправлена ошибка EMFILES в технологиях
html-from-bemhtml
иhtml-from-bemhtml-i18n
.
- Исправлена ошибка, возникавшая при чтении неверного кэша.
- Комментарии о включенных в сборку
priv.js
-файлов. - Асинхронная обработка
deps
.
- Интеграция jscs для проверки стиля.
- Фиксы в нормализации зависимостей.
- Расширено поведение useFileList, теперь можно суффиксы задать через опцию
sourceSuffixes
. - Фикс препроцессинга url в CSS.
- Фикс сборки dirs.
- Фикс сборки depsByTech.
- Интеграция с travis.
- Использован jshint.
- Конфигуратор включен в состав проекта.
- Технология css-stylus-with-nib.
- Технология css-less.
- Фикс в css-stylus.
- Отдача статики через enb server.
- levelsTarget для bemdecl-test.
- Возможность задания нестандартных схем именования для уровней переопределения.
- Фиксы в модульности.
- Поддержка модульности.
- Возможность сконфигурировать ноду для заданного режима.
- Фикс в технологии bemdecl-from-bemjson.
- Фикс в формировалии относительных путей.
- Фикс в технологии priv-js.
- Технологии node-js, browser-js, vanilla-js.
- Фиксы в технологии pub-js-i18n.
- Переделано логгирование. Теперь оно стало короче и понятнее.
- Добавлена опция --graph в enb make. С ее помощью можно вывести граф сборки.
- Порядок суффиксов, переданных в useFileList при создании технологии теперь учитывается при формировании результата.
- Фиксы в превышении лимита открытых файлов.
- Более понятная ошибка при синтаксической ошибке в депсах.