BEM tools plugin for removing BEM entity files
Инструмент для удаления БЭМ сущностей по заданным критериям.
- Использование в качестве плагина к bem-tools
- Возможность использования с помощью JS API
Инструмент устанавливается как обычная npm-зависимость:
$ npm install bem-tools-rm
$ ./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
- имя технологии блока.
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 репозитория данного инструмента.