Привет, давно ничего не рассказывал, а есть о чём — исправляюсь.
Версия ENB 1.0.0
появилась пару месяцев назад. Многие из вас, наверное, уже увидели этот релиз, а может даже успели перейти.
Но я всё же расскажу, зачем оно нам. Основная цель релиза — не сделать ничего полезного, и мы с этой целью прекрасно справились =)
Но это ещё не всё.
API
Единственный способ использовать ENB до 1.x
— подключать модули, указывая путь к ним.
var buildFlow = require('enb/lib/build-flow'),
BaseTech = require('enb/lib/tech/base-tech'),
FileList = require('enb/lib/file-list'),
asyncFs = require('enb/lib/fs/async-fs.js');
Такой способ не даёт возможности отличить модули, предназначенные для внешнего использования от внутренних, не предназначенных никому, кроме самого ENB.
Начиная с версии 1.0.0
мы предоставили всё необходимое с помощью API.
var enb = require('enb');
enb.buildFlow // Хэлпер для создания технологий
enb.BaseTech // Базовая технология, от которой можно унаследоваться
enb.FileList // Класс для передачи списка файлов в технологию
enb.asyncFs // vow-fs
Важно: если вы используете модули, которые не предоставляются посредством API, то делаете это на свой страх и риск. Это внутренняя реализация, а значит нет никакой гарантии в соблюдении обратной совместимости в минорных или патчевых версиях.
Технологии
Пакет ENB — это, прежде всего, ядро и хэлперы для создания технологий. Сами технологии должны храниться в отдельных пакетах.
Поэтому мы удалили все устаревшие технологии, а также те, которые переехали в другие пакеты. Остались только 4 технологии для работы с файлами:
- file-copy
- file-merge
- file-provider
- symlink
Утилиты
При создании технологий вы могли использовать некоторые из утилит. Мы вынесли их в отдельные пакеты:
Модуль drop-require-cache
был удалён. Вместо него нужно использовать clear-require.
Если вы использовали css-preprocessor
, то мы рекомендуем заменить его на PostCSS
, особенно если вы используете Autoprefixer
. А для плавного перехода css-preprocessor
вынесен в отдельный пакет.
История изменений
Подробнее о всех изменениях читайте в примечании к релизам: v1.0.0, v1.0.1, v1.1.0, v1.1.1.
Вопросы про сборщик ENB традиционно ждем на нашем форуме с меткой enb.
Приятного использования!