1 | 'use strict';
|
2 |
|
3 | function rule(analyzer) {
|
4 | analyzer.setMetric('qualifiedSelectors');
|
5 |
|
6 |
|
7 | analyzer.on('expression', function(selector, expression) {
|
8 | var hasId = expression.id,
|
9 | hasTag = expression.tag && expression.tag !== '*',
|
10 | hasClass = expression.classList;
|
11 |
|
12 | if (
|
13 |
|
14 | (hasId && hasTag) ||
|
15 |
|
16 | (hasId && hasClass) ||
|
17 |
|
18 | (hasClass && hasTag)
|
19 | ) {
|
20 | analyzer.incrMetric('qualifiedSelectors');
|
21 | analyzer.addOffender('qualifiedSelectors', selector);
|
22 | }
|
23 | });
|
24 | }
|
25 |
|
26 | rule.description = 'Reports qualified selectors';
|
27 | module.exports = rule;
|