1 | 'use strict';
|
2 |
|
3 | var format = require('util').format;
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function rule(analyzer) {
|
11 | var re = {
|
12 | property: /^(\*|-ms-filter)/,
|
13 | selector: /^(\* html|html\s?>\s?body) /,
|
14 | value: /progid:DXImageTransform\.Microsoft|!ie$/
|
15 | };
|
16 |
|
17 | analyzer.setMetric('oldIEFixes');
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | analyzer.on('selector', function(rule, selector) {
|
23 | if (re.selector.test(selector)) {
|
24 | analyzer.incrMetric('oldIEFixes');
|
25 | analyzer.addOffender('oldIEFixes', selector);
|
26 | }
|
27 | });
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | analyzer.on('declaration', function(rule, property, value) {
|
34 | if (re.property.test(property) || re.value.test(value)) {
|
35 | analyzer.incrMetric('oldIEFixes');
|
36 | analyzer.addOffender('oldIEFixes', format('%s {%s: %s}', rule.selectors.join(', '), property, value));
|
37 | }
|
38 | });
|
39 | }
|
40 |
|
41 | rule.description = 'Reports fixes for old versions of Internet Explorer (IE9 and below)';
|
42 | module.exports = rule;
|