Socket
Book a DemoInstallSign in
Socket

enb-bem-pseudo-levels

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

enb-bem-pseudo-levels

Pseudo BEM levels for ENB

Source
npmnpm
Version
0.2.1
Version published
Weekly downloads
7
-36.36%
Maintainers
1
Weekly downloads
 
Created
Source

enb-bem-pseudo-levels

NPM version Build Status Dependency Status

Инструмент для манипуляции с уровнями переопределений для 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');  // путь до нового уровня

// Создаём таск с названием `pseudo`, для манипуляций с уровнями.
config.task('pseudo', function () {
var args = [].slice.call(arguments, 1).map(function (arg) {
    return config.resolvePath(arg);
});                                 // Получаем список целей, которые хотим
                                    // построить в новом уровне. Если список пуст
                                    // уровень будет построен полностью.

return pseudo(getLevels(config))    // Сканируем исходные уровни.    (1)
    .addBuilder(dstpath, resolve)   // Задаём путь и resolve-функцию (2)
    .build(args);                   // Строим новый уровень          (3)
});

};

/**
 * Функция применяется для каждого файла найденного на исходных уровнях `levels`
 *
 * @param file информация о текущем файле
 * @param levels список исходных уровней
 * @param dstpath путь до нового уровня
 */
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

FAQs

Package last updated on 12 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts