stylehacks 2.1.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,38 +1,50 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
 
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5
+ var _postcssSelectorParser = require('postcss-selector-parser');
6
+
7
+ var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
8
8
 
9
9
  var _exists = require('../exists');
10
10
 
11
11
  var _exists2 = _interopRequireDefault(_exists);
12
12
 
13
+ var _isMixin = require('../isMixin');
14
+
15
+ var _isMixin2 = _interopRequireDefault(_isMixin);
16
+
13
17
  var _plugin = require('../plugin');
14
18
 
15
19
  var _plugin2 = _interopRequireDefault(_plugin);
16
20
 
17
- var _postcssSelectorParser = require('postcss-selector-parser');
21
+ var _browsers = require('../dictionary/browsers');
18
22
 
19
- var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
23
+ var _identifiers = require('../dictionary/identifiers');
24
+
25
+ var _postcss = require('../dictionary/postcss');
26
+
27
+ var _tags = require('../dictionary/tags');
20
28
 
21
- var targets = ['firefox 2'];
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
30
 
23
31
  function analyse(ctx, rule) {
24
32
  return function (selectors) {
25
33
  selectors.each(function (selector) {
26
- if ((0, _exists2['default'])(selector, 0, 'body') && (0, _exists2['default'])(selector, 1, ':empty') && (0, _exists2['default'])(selector, 2, ' ') && selector.at(3)) {
27
- ctx.push(rule, 'Bad selector: ' + selector);
34
+ if ((0, _exists2.default)(selector, 0, _tags.BODY) && (0, _exists2.default)(selector, 1, ':empty') && (0, _exists2.default)(selector, 2, ' ') && selector.at(3)) {
35
+ ctx.push(rule, {
36
+ identifier: _identifiers.SELECTOR,
37
+ hack: selector.toString()
38
+ });
28
39
  }
29
40
  });
30
41
  };
31
42
  }
32
43
 
33
- exports['default'] = (0, _plugin2['default'])(targets, ['rule'], function (rule) {
34
- if (rule.selector) {
35
- (0, _postcssSelectorParser2['default'])(analyse(this, rule)).process(rule.selector);
44
+ exports.default = (0, _plugin2.default)([_browsers.FF_2], [_postcss.RULE], function (rule) {
45
+ if ((0, _isMixin2.default)(rule)) {
46
+ return;
36
47
  }
48
+ (0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
37
49
  });
38
50
  module.exports = exports['default'];
@@ -1,38 +1,52 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
3
+ exports.__esModule = true;
4
+
5
+ var _postcssSelectorParser = require('postcss-selector-parser');
6
6
 
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7
+ var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
8
8
 
9
9
  var _exists = require('../exists');
10
10
 
11
11
  var _exists2 = _interopRequireDefault(_exists);
12
12
 
13
+ var _isMixin = require('../isMixin');
14
+
15
+ var _isMixin2 = _interopRequireDefault(_isMixin);
16
+
13
17
  var _plugin = require('../plugin');
14
18
 
15
19
  var _plugin2 = _interopRequireDefault(_plugin);
16
20
 
17
- var _postcssSelectorParser = require('postcss-selector-parser');
21
+ var _browsers = require('../dictionary/browsers');
18
22
 
19
- var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
23
+ var _identifiers = require('../dictionary/identifiers');
24
+
25
+ var _postcss = require('../dictionary/postcss');
20
26
 
21
- var targets = ['ie 7', 'ie 6', 'ie 5.5'];
27
+ var _tags = require('../dictionary/tags');
28
+
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
30
 
23
31
  function analyse(ctx, rule) {
24
32
  return function (selectors) {
25
33
  selectors.each(function (selector) {
26
- if ((0, _exists2['default'])(selector, 0, 'html') && ((0, _exists2['default'])(selector, 1, '>') || (0, _exists2['default'])(selector, 1, '~')) && selector.at(2) && selector.at(2).type === 'comment' && (0, _exists2['default'])(selector, 3, ' ') && (0, _exists2['default'])(selector, 4, 'body') && (0, _exists2['default'])(selector, 5, ' ') && selector.at(6)) {
27
- ctx.push(rule, 'Bad selector: ' + selector);
34
+ if ((0, _exists2.default)(selector, 0, _tags.HTML) && ((0, _exists2.default)(selector, 1, '>') || (0, _exists2.default)(selector, 1, '~')) && selector.at(2) && selector.at(2).type === 'comment' && (0, _exists2.default)(selector, 3, ' ') && (0, _exists2.default)(selector, 4, _tags.BODY) && (0, _exists2.default)(selector, 5, ' ') && selector.at(6)) {
35
+ ctx.push(rule, {
36
+ identifier: _identifiers.SELECTOR,
37
+ hack: selector.toString()
38
+ });
28
39
  }
29
40
  });
30
41
  };
31
42
  }
32
43
 
33
- exports['default'] = (0, _plugin2['default'])(targets, ['rule'], function (rule) {
34
- if (rule.selector && rule.raws.selector && rule.raws.selector.raw) {
35
- (0, _postcssSelectorParser2['default'])(analyse(this, rule)).process(rule.raws.selector.raw);
44
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
45
+ if ((0, _isMixin2.default)(rule)) {
46
+ return;
47
+ }
48
+ if (rule.raws.selector && rule.raws.selector.raw) {
49
+ (0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.raws.selector.raw);
36
50
  }
37
51
  });
38
52
  module.exports = exports['default'];
@@ -1,38 +1,50 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
 
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5
+ var _postcssSelectorParser = require('postcss-selector-parser');
6
+
7
+ var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
8
8
 
9
9
  var _exists = require('../exists');
10
10
 
11
11
  var _exists2 = _interopRequireDefault(_exists);
12
12
 
13
+ var _isMixin = require('../isMixin');
14
+
15
+ var _isMixin2 = _interopRequireDefault(_isMixin);
16
+
13
17
  var _plugin = require('../plugin');
14
18
 
15
19
  var _plugin2 = _interopRequireDefault(_plugin);
16
20
 
17
- var _postcssSelectorParser = require('postcss-selector-parser');
21
+ var _browsers = require('../dictionary/browsers');
18
22
 
19
- var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
23
+ var _identifiers = require('../dictionary/identifiers');
24
+
25
+ var _postcss = require('../dictionary/postcss');
26
+
27
+ var _tags = require('../dictionary/tags');
20
28
 
21
- var targets = ['opera 9'];
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
30
 
23
31
  function analyse(ctx, rule) {
24
32
  return function (selectors) {
25
33
  selectors.each(function (selector) {
26
- if ((0, _exists2['default'])(selector, 0, 'html') && (0, _exists2['default'])(selector, 1, ':first-child') && (0, _exists2['default'])(selector, 2, ' ') && selector.at(3)) {
27
- ctx.push(rule, 'Bad selector: ' + selector);
34
+ if ((0, _exists2.default)(selector, 0, _tags.HTML) && (0, _exists2.default)(selector, 1, ':first-child') && (0, _exists2.default)(selector, 2, ' ') && selector.at(3)) {
35
+ ctx.push(rule, {
36
+ identifier: _identifiers.SELECTOR,
37
+ hack: selector.toString()
38
+ });
28
39
  }
29
40
  });
30
41
  };
31
42
  }
32
43
 
33
- exports['default'] = (0, _plugin2['default'])(targets, ['rule'], function (rule) {
34
- if (rule.selector) {
35
- (0, _postcssSelectorParser2['default'])(analyse(this, rule)).process(rule.selector);
44
+ exports.default = (0, _plugin2.default)([_browsers.OP_9], [_postcss.RULE], function (rule) {
45
+ if ((0, _isMixin2.default)(rule)) {
46
+ return;
36
47
  }
48
+ (0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
37
49
  });
38
50
  module.exports = exports['default'];
@@ -1,22 +1,25 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 5.5', 'ie 6', 'ie 7'];
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _postcss = require('../dictionary/postcss');
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['decl'], function (decl) {
15
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.DECL], function (decl) {
16
16
  var match = decl.value.match(/!\w/);
17
17
  if (match) {
18
- var text = decl.value.substr(match.index, decl.value.length - 1);
19
- this.push(decl, 'Bad !important: ' + text);
18
+ var hack = decl.value.substr(match.index, decl.value.length - 1);
19
+ this.push(decl, {
20
+ identifier: '!important',
21
+ hack: hack
22
+ });
20
23
  }
21
24
  });
22
25
  module.exports = exports['default'];
@@ -1,55 +1,60 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 5.5', 'ie 6', 'ie 7'];
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _identifiers = require('../dictionary/identifiers');
12
+
13
+ var _postcss = require('../dictionary/postcss');
14
14
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['decl', 'atrule'], function (node) {
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ var hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_');
18
+
19
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE, _postcss.DECL], function (node) {
16
20
  var _this = this;
17
21
 
18
- if (node.type === 'decl') {
19
- var _ret = (function () {
20
- var before = node.raws.before;
21
- if (!before) {
22
- return {
23
- v: undefined
24
- };
25
- }
26
- var hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_');
27
- var hasBefore = hacks.some(function (hack) {
28
- if (~before.indexOf(hack)) {
29
- _this.push(node, 'Bad property: ' + before.trim() + node.prop);
30
- return true;
31
- }
32
- });
33
- if (!hasBefore) {
34
- // some values are not picked up by before, so ensure they are
35
- // at the beginning of the value
36
- hacks.some(function (hack) {
37
- if (!node.prop.indexOf(hack)) {
38
- _this.push(node, 'Bad property: ' + node.prop);
39
- return true;
40
- }
22
+ if (node.type === _postcss.DECL) {
23
+ // some values are not picked up by before, so ensure they are
24
+ // at the beginning of the value
25
+ hacks.some(function (hack) {
26
+ if (!node.prop.indexOf(hack)) {
27
+ _this.push(node, {
28
+ identifier: _identifiers.PROPERTY,
29
+ hack: node.prop
41
30
  });
31
+ return true;
42
32
  }
43
- })();
33
+ });
34
+ var before = node.raws.before;
44
35
 
45
- if (typeof _ret === 'object') return _ret.v;
46
- }
47
- if (node.type === 'atrule') {
36
+ if (!before) {
37
+ return;
38
+ }
39
+ hacks.some(function (hack) {
40
+ if (~before.indexOf(hack)) {
41
+ _this.push(node, {
42
+ identifier: _identifiers.PROPERTY,
43
+ hack: '' + before.trim() + node.prop
44
+ });
45
+ return true;
46
+ }
47
+ });
48
+ } else {
48
49
  // test for the @property: value; hack
49
- var _name = node.name;
50
- var len = _name.length - 1;
51
- if (_name.lastIndexOf(':') === len) {
52
- this.push(node, 'Bad property: @' + _name.substr(0, len));
50
+ var name = node.name;
51
+
52
+ var len = name.length - 1;
53
+ if (name.lastIndexOf(':') === len) {
54
+ this.push(node, {
55
+ identifier: _identifiers.PROPERTY,
56
+ hack: '@' + name.substr(0, len)
57
+ });
53
58
  }
54
59
  }
55
60
  });
@@ -1,24 +1,30 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 6'];
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _identifiers = require('../dictionary/identifiers');
14
12
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['decl'], function (decl) {
13
+ var _postcss = require('../dictionary/postcss');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ exports.default = (0, _plugin2.default)([_browsers.IE_6], [_postcss.DECL], function (decl) {
16
18
  var before = decl.raws.before;
19
+
17
20
  if (!before) {
18
21
  return;
19
22
  }
20
23
  if (~before.indexOf('_') || ~before.indexOf('-')) {
21
- this.push(decl, 'Bad property: ' + before.trim() + decl.prop);
24
+ this.push(decl, {
25
+ identifier: _identifiers.PROPERTY,
26
+ hack: '' + before.trim() + decl.prop
27
+ });
22
28
  }
23
29
  });
24
30
  module.exports = exports['default'];
@@ -1,21 +1,26 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 8'];
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _identifiers = require('../dictionary/identifiers');
12
+
13
+ var _postcss = require('../dictionary/postcss');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['atrule'], function (rule) {
17
+ exports.default = (0, _plugin2.default)([_browsers.IE_8], [_postcss.ATRULE], function (rule) {
16
18
  var params = rule.params.trim();
17
19
  if (params === '\\0screen') {
18
- this.push(rule, 'Bad media query: ' + params);
20
+ this.push(rule, {
21
+ identifier: _identifiers.MEDIA_QUERY,
22
+ hack: params
23
+ });
19
24
  }
20
25
  });
21
26
  module.exports = exports['default'];
@@ -1,21 +1,26 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 5.5', 'ie 6', 'ie 7'];
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _identifiers = require('../dictionary/identifiers');
12
+
13
+ var _postcss = require('../dictionary/postcss');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['atrule'], function (rule) {
17
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE], function (rule) {
16
18
  var params = rule.params.trim();
17
19
  if (params === 'screen\\9') {
18
- this.push(rule, 'Bad media query: ' + params);
20
+ this.push(rule, {
21
+ identifier: _identifiers.MEDIA_QUERY,
22
+ hack: params
23
+ });
19
24
  }
20
25
  });
21
26
  module.exports = exports['default'];
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _plugin = require('../plugin');
6
+
7
+ var _plugin2 = _interopRequireDefault(_plugin);
8
+
9
+ var _browsers = require('../dictionary/browsers');
10
+
11
+ var _identifiers = require('../dictionary/identifiers');
12
+
13
+ var _postcss = require('../dictionary/postcss');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ exports.default = (0, _plugin2.default)([_browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.DECL], function (decl) {
18
+ var v = decl.value;
19
+ if (v && v.length > 2 && v.indexOf('\\9') === v.length - 2) {
20
+ this.push(decl, {
21
+ identifier: _identifiers.VALUE,
22
+ hack: v
23
+ });
24
+ }
25
+ });
26
+ module.exports = exports['default'];
@@ -1,38 +1,50 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
 
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
5
+ var _postcssSelectorParser = require('postcss-selector-parser');
6
+
7
+ var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
8
8
 
9
9
  var _exists = require('../exists');
10
10
 
11
11
  var _exists2 = _interopRequireDefault(_exists);
12
12
 
13
+ var _isMixin = require('../isMixin');
14
+
15
+ var _isMixin2 = _interopRequireDefault(_isMixin);
16
+
13
17
  var _plugin = require('../plugin');
14
18
 
15
19
  var _plugin2 = _interopRequireDefault(_plugin);
16
20
 
17
- var _postcssSelectorParser = require('postcss-selector-parser');
21
+ var _browsers = require('../dictionary/browsers');
18
22
 
19
- var _postcssSelectorParser2 = _interopRequireDefault(_postcssSelectorParser);
23
+ var _identifiers = require('../dictionary/identifiers');
24
+
25
+ var _postcss = require('../dictionary/postcss');
26
+
27
+ var _tags = require('../dictionary/tags');
20
28
 
21
- var targets = ['ie 6', 'ie 5.5'];
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
30
 
23
31
  function analyse(ctx, rule) {
24
32
  return function (selectors) {
25
33
  selectors.each(function (selector) {
26
- if ((0, _exists2['default'])(selector, 0, '*') && (0, _exists2['default'])(selector, 1, ' ') && (0, _exists2['default'])(selector, 2, 'html') && (0, _exists2['default'])(selector, 3, ' ') && selector.at(4)) {
27
- ctx.push(rule, 'Bad selector: ' + selector);
34
+ if ((0, _exists2.default)(selector, 0, '*') && (0, _exists2.default)(selector, 1, ' ') && (0, _exists2.default)(selector, 2, _tags.HTML) && (0, _exists2.default)(selector, 3, ' ') && selector.at(4)) {
35
+ ctx.push(rule, {
36
+ identifier: _identifiers.SELECTOR,
37
+ hack: selector.toString()
38
+ });
28
39
  }
29
40
  });
30
41
  };
31
42
  }
32
43
 
33
- exports['default'] = (0, _plugin2['default'])(targets, ['rule'], function (rule) {
34
- if (rule.selector) {
35
- (0, _postcssSelectorParser2['default'])(analyse(this, rule)).process(rule.selector);
44
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6], [_postcss.RULE], function (rule) {
45
+ if ((0, _isMixin2.default)(rule)) {
46
+ return;
36
47
  }
48
+ (0, _postcssSelectorParser2.default)(analyse(this, rule)).process(rule.selector);
37
49
  });
38
50
  module.exports = exports['default'];
@@ -1,23 +1,35 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true
5
- });
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
3
+ exports.__esModule = true;
8
4
 
9
5
  var _plugin = require('../plugin');
10
6
 
11
7
  var _plugin2 = _interopRequireDefault(_plugin);
12
8
 
13
- var targets = ['ie 7', 'ie 6', 'ie 5.5'];
9
+ var _isMixin = require('../isMixin');
10
+
11
+ var _isMixin2 = _interopRequireDefault(_isMixin);
12
+
13
+ var _browsers = require('../dictionary/browsers');
14
+
15
+ var _identifiers = require('../dictionary/identifiers');
16
+
17
+ var _postcss = require('../dictionary/postcss');
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+
21
+ exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
22
+ if ((0, _isMixin2.default)(rule)) {
23
+ return;
24
+ }
25
+ var selector = rule.selector;
14
26
 
15
- exports['default'] = (0, _plugin2['default'])(targets, ['rule'], function (rule) {
16
- if (rule.selector) {
17
- var sel = rule.selector;
18
- if (sel.trim().lastIndexOf(',') === sel.length - 1 || sel.trim().lastIndexOf('\\') === sel.length - 1) {
19
- this.push(rule, 'Bad selector: ' + sel);
20
- }
27
+ var trim = selector.trim();
28
+ if (trim.lastIndexOf(',') === selector.length - 1 || trim.lastIndexOf('\\') === selector.length - 1) {
29
+ this.push(rule, {
30
+ identifier: _identifiers.SELECTOR,
31
+ hack: selector
32
+ });
21
33
  }
22
34
  });
23
35
  module.exports = exports['default'];