Skip to content

Latest commit

 

History

History
704 lines (472 loc) · 25.8 KB

CHANGELOG.md

File metadata and controls

704 lines (472 loc) · 25.8 KB

История изменений

1.5.1

Исправления ошибок

  • Профайлер не должен запускаться по умолчанию (@blond #535).
  • Сборка не должна завершаться с ошибкой из-за неправильных расчётов в профайлере (@blond #536).

1.5.0

Опции

  • Добавлена опция build-info-file (@blond #534).

    В JSON-файл будет записана вся информация о сборке, всё то, что возвращает ENB через JS API.

    Пример

    $ enb make --profiler --built-info-output='build-info.json'

    В файл build-info.json будет записано время работы технологий и время сборки каждого таргета.

Зависимости

1.4.1

Исправления ошибок

  • Исправлена ошибка сборки через API в режиме профейлера, если не была указана опция profilerPercentiles (@blond #516).

Зависимости

1.4.0

Profiler

Добавлен profiler для таргетов и технологий (@blond, @timofey-em #476, #482, #490, #500, #502, #505, #506).

CLI

Чтобы получить информацию о времени работы технологий используйте опцию --profiler.

$ enb make --profiler

Чтобы получить подробную информацию о времени работы каждого таргета используйте опцию --profiler со значением targets.

$ enb make --profiler=targets

Чтобы получить процентили для времени работы технологий используйте опцию --profiler-percentiles.

$ enb make --profiler-percentiles=25,50,95

API

В режиме профилирования 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).

Зависимости

Commits

  • [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)

1.3.0

API

  • Через API теперь можно получить класс MakePlatform (#450).
var enb = require('enb');
var MakePlatform = enb.MakePlatform;

Зависимости

1.2.1

Исправления ошибок

  • Исправлен метод ProjectConfig.includeConfig(): путь к модулю должен расчитываться от корня проекта (#444).

Зависимости

1.2.0

Улучшения

  • Добавлена технология write-file (#426).

Исправления ошибок

  • Исправлен метод Node.resolvePath(): некорректно обрабатывались абсолютные пути (#433).
  • Исправлены тесты для запуска в NodeJS 4 (#438).

Остальное

  • Для кэш-файла используется формат JSON вместо CommonJS (#434).

    Было:

    .enb/tmp/cache.js
    

    Стало:

    .enb/tmp/cache.json
    

1.1.2

Исправления ошибок

  • Исправлено наследование технологий в build-flow (#422):
    • Исправлена работа this.__base() в builder (#230).
    • Исправлена работа this.__base() для методов технологий (#222).

Зависимости

  • Модуль [email protected] обновлен до версии 6.0.4.
  • Модуль [email protected] обновлен до версии 2.2.3: возможность подменять метод __base() при тестировании.
  • Модуль [email protected] обновлен до версии 1.10.1.
  • Модуль [email protected] обновлен до версии 0.4.12.

1.1.1

Исправления ошибок

  • Технология file-merge: исправлено построение карт кода (source maps) для работы с enb server (#421).

Зависимости

1.1.0

API

  • Добавлена опция strict для метода enb.make() (#411).

Исправления ошибок

  • Исправлено логирование сервера: сообщения build failed не будут выводиться при получении файлов, которые не нужно собирать с помощью ENB (#410).

Зависимости

1.0.1

Исправления ошибок

  • Исправлен метод make: возможность передавать только опции (#397).
  • Исправлено получение buildFlow через API (#404).

Зависимости

Остальное

  • Технологии file-copy, file-merge, file-provider и symlink используют публичное API (#406).

1.0.0

Начиная с данной версии предполагается, что внутреннее устройство ENB может произвольно меняться. Пользователям предлагается использовать исключительно публичный API. Если необходимая функциональность там отсутствует - ожидается issue или pull request.

Для удобства участия в разработке ENB большая часть ядра ENB покрыта тестами. Покрытие на данный момент составляет 90.96%.

Крупные изменения

  • Обновлены зависимости до актуальных на момент релиза версий. (#386)
  • Обновлен публичный API: Добавлены классы BaseTech, BuildFlow, FileList. Также добавлен namespace asyncFs. (#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)

0.17.2

Исправления ошибок

  • Теперь можно отключать предупреждения об устаревших модулях с помощью опции --hide-warnings (#304).
  • Больше не показывается ложное предупреждение об использовании модуля dir-glob (#312).

Зависимости

  • Модуль [email protected] обновлен до версии 1.7.2: исправляет склеивание файлов с помощью технологии file-merge (#321).

Остальное

  • Предупреждения об устаревших модулях выводятся с использованием стандартного ENB-логгера (#313).
  • В предупреждениях об устаревших модулях указывается путь модуля, в котором он используется (#303).

0.17.1

Исправления ошибок

  • Технология file-merge исправлена для объединения CSS-файлов с учётом source maps (#314).
  • Методы Node.getNodePath и Node.resolvePath теперь возвращают корректный путь в Windows (#306).

Зависимости

0.17.0

Крупные изменения

  • Добавлена поддержка карт кода (source maps) для технологии file-merge (#296).
  • Добавлена возможность явно включать цветной вывод в логах (например, в CLI) с помощью переменной окружения COLOR (#271).

Остальное

  • Методы loadFromDirSync, loadFromDir и parseFilename модуля FileList объявлены устаревшими (#268).
  • Модуль dir-glob объявлен устаревшим (#270). Вместо него рекомендуется использовать модуль glob.

0.16.0

Крупные изменения

  • Добавлен пул дочерних процессов jobQueue для выполнения «тяжелых» задач в технологиях (#257).
  • Добавлен метод getSharedResources() для MakePlatform и Node. Он возвращает набор общих ресурсов, которые могут быть использованы в технологиях. (#257).

Остальное

  • Методы justJoinFiles и justJoinFilesWithComments модуля build-flow теперь используют EOL вместо \n (#242).

0.15.0

JavaScript API

  • Добавлен метод make для сборки нод и таргетов, а также для запуска тасков.
  • Добавлен метод runServer для запуска dev-сервера.

CLI

  • make: добавлена опция mode.
  • server: добавлены опции dir, mode и --no-cache.

Engines

  • Добавлена поддержка Node.js версии 0.12.
  • Добавлена поддержка io.js.

Тестирование

  • Исправлены тесты для запуска в Windows.
  • Добавлено тестирование под Windows в Continues Integration при помощи AppVeyor.

Остальные изменения

  • Добавлена возможность указать конфиг сборки при инициализации MakePlatform.
  • При построении страницы индекса для dev-сервера теперь учитывается кэш.
  • Исправлена обработка путей в FileList для методов loadFromDir и loadFromDirSync.

0.14.0

Устаревшие технологии

  • Базовые БЭМ технологии переехали в пакет 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.
  • Снижено потребление памяти при сохранении кэша.

0.13.0

  • Для технологии file-copy переименованы опции sourceTarget -> source, destTarget -> target.

0.12.0

  • Новые моки для fs.
  • Автоматически создаем директории для страниц.

0.11.0

  • Моки для fs.
  • Отмечаем ряд технологий, как deprecated.

0.10.0

  • Добавлена опция --dir.

0.9.0

  • Добавлена опция sublevelDirectories для технологии levels.
  • Увеличена borschik в зависимостях.

0.8.48

  • Добавлена опция tech для технологии css-borschik-chunks.

0.8.47

  • Фикс build-flow: принимаем недекларированные опции в заменах.

0.8.45

  • Мелкие фиксы.

0.8.43

  • Фиксы, stylus поднята до 0.40.x.

0.8.40

  • Исправлены утечки памяти.

0.8.39

  • Технология html-from-bemjson-i18n-sync.

0.8.38

  • Фикс технологии xslt.

0.8.37

  • Новая Борщика.

0.8.36

  • Переменные для styl-технологии.

0.8.35

  • Фикс кэширования в html-from-bemjson.

0.8.34

  • Фиксы для i18n.

0.8.33

  • Фикс ошибки формирования структуры level при наличии файлов с модификаторами но без значений модификатора.

0.8.32

  • Фикс ошибки с модификаторами без значений.

0.8.29

  • Совместимость с BEViS.

0.8.28

  • Для технологии bemdecl-from-bemjson добавлена возможность указания elemMods в bemjson.

0.8.27

  • Исправлена работа сервера при непредвиденных ошибках.

0.8.26

  • Еще один фикс в работе enb server — вывод ошибок при возникновении.

0.8.25

  • Фикс в работе enb server — вывод ошибок при возникновении.

0.8.24

  • Поддержка nodejs-синтаксиса для bemjson-файлов.

0.8.23

  • Информация о местоположении файлов в сборке stylus.
  • Опция required для deps в формате yaml.

0.8.22

  • ENV-переменная ENB_FILE_LIMIT для ограничения открытых дескрипторов файлов.

0.8.21

  • Зависимость от borschik -> v0.3.3.

0.8.20

  • Избавляемся от модуля colors из-за ошибок, связанных с ним.
  • Фикс контекста в html-from-bemjson-i18n.

0.8.19

  • Фикс кеширования deps.yaml-файлов.

0.8.18

  • Поддерка yaml-формата для описания deps'ов. Считается, что deps в формате deps.yaml содержит shouldDeps.

0.8.17

  • Исправлена ошибка EMFILES в технологиях html-from-bemhtml и html-from-bemhtml-i18n.

0.8.16

  • Исправлена ошибка, возникавшая при чтении неверного кэша.
  • Комментарии о включенных в сборку priv.js-файлов.
  • Асинхронная обработка deps.

0.8.15

  • Интеграция jscs для проверки стиля.
  • Фиксы в нормализации зависимостей.

0.8.14

  • Расширено поведение useFileList, теперь можно суффиксы задать через опцию sourceSuffixes.
  • Фикс препроцессинга url в CSS.

0.8.13

  • Фикс сборки dirs.

0.8.12

  • Фикс сборки depsByTech.

0.8.11

  • Интеграция с travis.
  • Использован jshint.

0.8.10

  • Конфигуратор включен в состав проекта.
  • Технология css-stylus-with-nib.
  • Технология css-less.
  • Фикс в css-stylus.

0.8.9

  • Отдача статики через enb server.

0.8.8

  • levelsTarget для bemdecl-test.

0.8.7

  • Возможность задания нестандартных схем именования для уровней переопределения.
  • Фиксы в модульности.

0.8.6

  • Поддержка модульности.
  • Возможность сконфигурировать ноду для заданного режима.

0.8.5

  • Фикс в технологии bemdecl-from-bemjson.
  • Фикс в формировалии относительных путей.

0.8.4

  • Фикс в технологии priv-js.

0.8.3

  • Технологии node-js, browser-js, vanilla-js.

0.8.2

  • Фиксы в технологии pub-js-i18n.

0.8.1

  • Переделано логгирование. Теперь оно стало короче и понятнее.
  • Добавлена опция --graph в enb make. С ее помощью можно вывести граф сборки.
  • Порядок суффиксов, переданных в useFileList при создании технологии теперь учитывается при формировании результата.
  • Фиксы в превышении лимита открытых файлов.
  • Более понятная ошибка при синтаксической ошибке в депсах.