bemhint-css-naming
Plugin for bemhint which validate css classes.
Checks css classes for BEM-notation;
Checks for existing target block in the selector.
Example for my-block.css (exclude: test-*)
/* ok */
.my-block
{
    color: red;
}
.b-page .my-block .another-block
{
    color: red;
}
.my-block .another-block > a:hover,
.my-block__elem,
.my-block__elem_mod_val
{
    color: red;
}
/* will be ignored because of exclude matching */
.my-block .test-e_x_c_l_u_d_e_d
{
    color: red;
}
/* not ok */
/* invalid class name */
.my-block__elem__elem2
{
    color: black;
}
/* there is no target block in selector */
.another-block
{
    color: green;
}
/* there is no target block */
.test-e_x_c_l_u_d_e_d
{
    color: red;
}
How to install
$ npm install bemhint-css-naming
How to use
Add plugin to .bemhint.js:
module.exports = {
    plugins: {
        'bemhint-css-naming': true
    }
};
Exclude some classnames from BEM-naming validation:
module.exports = {
    plugins: {
        'bemhint-css-naming': {
            excludeClasses: [
                'my-another-block',
                'test-*'
            ]
        }
    }
};