EN RU
Forum

Methodology

Technology

Toolbox

Libraries

Tutorials

bemhint-css-naming

Plugin for bemhint which validate css classes.

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-*'
            ]
        }
    }
};