Skip to content

bem-tools/bem-tools-rm

Repository files navigation

bem-tools-remove

BEM tools plugin for removing BEM entity files

NPM version Build Status David

Logo

Инструмент для удаления БЭМ сущностей по заданным критериям.

Возможности

  • Использование в качестве плагина к bem-tools
  • Возможность использования с помощью JS API

Установка

Инструмент устанавливается как обычная npm-зависимость:

$ npm install bem-tools-rm

Использование

Использование с помощью CLI-интерфейса.

$ ./bin/bem rm --help
Tools to work with files written using the BEM methodology.
See https://bem.info for more info.

BEM Tool for removing BEM entity files

Usage:
  bem rm [OPTIONS] [ARGS]

Commands:
  completion : Shell completion

Options:
  -h, --help : Help
  -l LEVEL, --level=LEVEL : Name of level(s)
  -b BLOCK, --block=BLOCK : Name of block(s)
  -e ELEMENT, --element=ELEMENT : Name of element(s)
  -m MODIFIER, --mod=MODIFIER : Name of modifier(s)
  -t TECH, --tech=TECH : Name of tech(s)

Arguments:
  ENTITY : entity

Здесь:

  • -h, --help - флаг предназначенный для получения справочной информации по вызову команды.
  • -l, --level - имя уровня(ей) переопределения блоков. Может быть использован несколько раз.
  • -b, --block - имя блока(ов). Может быть использован несколько раз.
  • -e, --element - имя элемента(ов) блока(ов). Может быть использован несколько раз.
  • -m, --mod - имя модификатора. Если указан также параметр элемента (-e, --element), то подразумевается выборка по модификаторам элементов блока. Если параметр элемента отсутствует, то будет произведена выборка по модификаторам блока.
  • -t, --tech - имя технологии блока.

Использование инструмента с помощью JS API.

bem-tools-rm также может быть использован программно. Для этого нужно подключить зависимость bem-tools-rm в модуль вашего проекта и передать переметры для поиска BEM-сущностей которые должны быть удалены.

var bemToolsRemove = require('bem-tools-rm');

bemToolsRemove({
    levels: ['level1'],
    blocks: ['block1', 'block2'],
    elements: ['elem1', 'elem2'],
    modifiers: ['mod1', 'mod2'],
    techs: ['tech1', 'tech2']
}).pipe(process.stdout) //здесь вместо `process.stdout` можно использовать ваш собственный stream.

Примечание: в передаваемом объекте с параметрами любые поля могут быть опущены в том случае если критерий поиска по ним не является необходимым.

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

Запуск тестов

$ npm test

Запуск тестов с вычислением покрытия кода тестами с помощью инструмента istanbul:

$ npm run cover

Проверка синтаксиса кода с помощью: jshint, jscs

$ npm run lint

Особая благодарность за помощь в разработке:

Разработчики:

Вопросы и предложения присылать в раздел issues репозитория данного инструмента.

Releases

No releases published

Packages

No packages published