1 | ;
|
2 |
|
3 | var COMPLEX_SELECTOR_THRESHOLD = 3;
|
4 |
|
5 | function rule(analyzer) {
|
6 | analyzer.setMetric('complexSelectors');
|
7 |
|
8 | // #foo .bar ul li a
|
9 | analyzer.on('selector', function(rule, selector, expressions) {
|
10 | if (expressions.length > COMPLEX_SELECTOR_THRESHOLD) {
|
11 | analyzer.incrMetric('complexSelectors');
|
12 | analyzer.addOffender('complexSelectors', selector);
|
13 | }
|
14 | });
|
15 | }
|
16 |
|
17 | rule.description = 'Reports too complex CSS selectors';
|
18 | module.exports = rule;
|