enb-bem-pseudo-levels

Инструмент для манипуляции с уровнями переопределений для ENB. Позволяет создавать уровни на основе уже существующих.
Текущая реализация основана на симлинках. Это означает, что созданный уровень будет состоять из симлинкок на файлы исходных уровней.
Установка
npm install --save-dev enb-bem-pseudo-levels
Для работы модуля требуется зависимость от пакета enb версии 0.8.22
или выше.
Как использовать?
Для того, чтобы выполнить манипуляцию над уровнями следует:
- Задать список исходных уровней, на основе которых будут производиться манипуляции.
- Задекларировать resolve-функцию по пути до нового уровня.
- Запустить процесс сборки новых уровней;
Пример того, как скопировать nested
-уровень и положить его на файловую систему в simple
-стиле:
var pseudo = require('enb-bem-pseudo-levels');
module.exports = function (config) {
var dstpath = config.resolvePath('pseudo-level');
config.task('pseudo', function () {
var args = [].slice.call(arguments, 1).map(function (arg) {
return config.resolvePath(arg);
});
return pseudo(getLevels(config))
.addBuilder(dstpath, resolve)
.build(args);
});
};
function resolve (file, levels, dstpath) {
return [{
sourcePath: file.fullname,
targetPath: path.join(dstpath, file.name)
}];
}
function getLevels (config) {
return [
'source-level'
].map(function (level) {
return config.resolvePath(level);
});
}
Запускаем скрипт манипуляции с уровнями следует описанный в таске pseudo
:
$ ./node_modules/.bin/enb make pseudo