stylehacks 5.0.1 → 5.1.0

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.
Files changed (66) hide show
  1. package/README.md +5 -8
  2. package/package.json +8 -11
  3. package/src/dictionary/browsers.js +9 -0
  4. package/src/dictionary/identifiers.js +7 -0
  5. package/src/dictionary/postcss.js +6 -0
  6. package/src/dictionary/tags.js +5 -0
  7. package/src/exists.js +13 -0
  8. package/src/index.js +60 -0
  9. package/src/isMixin.js +15 -0
  10. package/src/plugin.js +108 -0
  11. package/src/plugins/bodyEmpty.js +49 -0
  12. package/src/plugins/htmlCombinatorCommentBody.js +54 -0
  13. package/src/plugins/htmlFirstChild.js +50 -0
  14. package/src/plugins/important.js +25 -0
  15. package/src/plugins/index.js +28 -0
  16. package/src/plugins/leadingStar.js +55 -0
  17. package/src/plugins/leadingUnderscore.js +51 -0
  18. package/src/plugins/mediaSlash0.js +26 -0
  19. package/src/plugins/mediaSlash0Slash9.js +27 -0
  20. package/src/plugins/mediaSlash9.js +27 -0
  21. package/src/plugins/slash9.js +26 -0
  22. package/src/plugins/starHtml.js +50 -0
  23. package/src/plugins/trailingSlashComma.js +36 -0
  24. package/types/dictionary/browsers.d.ts +6 -0
  25. package/types/dictionary/identifiers.d.ts +4 -0
  26. package/types/dictionary/postcss.d.ts +3 -0
  27. package/types/dictionary/tags.d.ts +2 -0
  28. package/types/exists.d.ts +2 -0
  29. package/types/index.d.ts +16 -0
  30. package/types/isMixin.d.ts +2 -0
  31. package/types/plugin.d.ts +60 -0
  32. package/types/plugins/bodyEmpty.d.ts +17 -0
  33. package/types/plugins/htmlCombinatorCommentBody.d.ts +16 -0
  34. package/types/plugins/htmlFirstChild.d.ts +17 -0
  35. package/types/plugins/important.d.ts +11 -0
  36. package/types/plugins/index.d.ts +365 -0
  37. package/types/plugins/leadingStar.d.ts +11 -0
  38. package/types/plugins/leadingUnderscore.d.ts +11 -0
  39. package/types/plugins/mediaSlash0.d.ts +11 -0
  40. package/types/plugins/mediaSlash0Slash9.d.ts +11 -0
  41. package/types/plugins/mediaSlash9.d.ts +11 -0
  42. package/types/plugins/slash9.d.ts +11 -0
  43. package/types/plugins/starHtml.d.ts +17 -0
  44. package/types/plugins/trailingSlashComma.d.ts +11 -0
  45. package/CHANGELOG.md +0 -81
  46. package/dist/dictionary/browsers.js +0 -18
  47. package/dist/dictionary/identifiers.js +0 -14
  48. package/dist/dictionary/postcss.js +0 -12
  49. package/dist/dictionary/tags.js +0 -10
  50. package/dist/exists.js +0 -13
  51. package/dist/index.js +0 -69
  52. package/dist/isMixin.js +0 -20
  53. package/dist/plugin.js +0 -71
  54. package/dist/plugins/bodyEmpty.js +0 -48
  55. package/dist/plugins/htmlCombinatorCommentBody.js +0 -50
  56. package/dist/plugins/htmlFirstChild.js +0 -48
  57. package/dist/plugins/important.js +0 -29
  58. package/dist/plugins/index.js +0 -36
  59. package/dist/plugins/leadingStar.js +0 -67
  60. package/dist/plugins/leadingUnderscore.js +0 -49
  61. package/dist/plugins/mediaSlash0.js +0 -30
  62. package/dist/plugins/mediaSlash0Slash9.js +0 -30
  63. package/dist/plugins/mediaSlash9.js +0 -30
  64. package/dist/plugins/slash9.js +0 -30
  65. package/dist/plugins/starHtml.js +0 -48
  66. package/dist/plugins/trailingSlashComma.js +0 -39
package/dist/index.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _browserslist = _interopRequireDefault(require("browserslist"));
9
-
10
- var _plugins = _interopRequireDefault(require("./plugins"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function pluginCreator(opts = {}) {
15
- return {
16
- postcssPlugin: 'stylehacks',
17
-
18
- OnceExit(css, {
19
- result
20
- }) {
21
- const resultOpts = result.opts || {};
22
- const browsers = (0, _browserslist.default)(null, {
23
- stats: resultOpts.stats,
24
- path: __dirname,
25
- env: resultOpts.env
26
- });
27
-
28
- const processors = _plugins.default.reduce((list, Plugin) => {
29
- const hack = new Plugin(result);
30
- const applied = browsers.some(browser => {
31
- return hack.targets.some(target => browser === target);
32
- });
33
-
34
- if (applied) {
35
- return list;
36
- }
37
-
38
- return [...list, hack];
39
- }, []);
40
-
41
- css.walk(node => {
42
- processors.forEach(proc => {
43
- if (!~proc.nodeTypes.indexOf(node.type)) {
44
- return;
45
- }
46
-
47
- if (opts.lint) {
48
- return proc.detectAndWarn(node);
49
- }
50
-
51
- return proc.detectAndResolve(node);
52
- });
53
- });
54
- }
55
-
56
- };
57
- }
58
-
59
- pluginCreator.detect = node => {
60
- return _plugins.default.some(Plugin => {
61
- const hack = new Plugin();
62
- return hack.any(node);
63
- });
64
- };
65
-
66
- pluginCreator.postcss = true;
67
- var _default = pluginCreator;
68
- exports.default = _default;
69
- module.exports = exports.default;
package/dist/isMixin.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isMixin;
7
-
8
- function isMixin(node) {
9
- const {
10
- selector
11
- } = node; // If the selector ends with a ':' it is likely a part of a custom mixin.
12
-
13
- if (!selector || selector[selector.length - 1] === ':') {
14
- return true;
15
- }
16
-
17
- return false;
18
- }
19
-
20
- module.exports = exports.default;
package/dist/plugin.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = plugin;
7
-
8
- function plugin(targets, nodeTypes, detect) {
9
- class Plugin {
10
- constructor(result) {
11
- this.nodes = [];
12
- this.result = result;
13
- this.targets = targets;
14
- this.nodeTypes = nodeTypes;
15
- }
16
-
17
- push(node, metadata) {
18
- node._stylehacks = Object.assign({}, metadata, {
19
- message: `Bad ${metadata.identifier}: ${metadata.hack}`,
20
- browsers: this.targets
21
- });
22
- this.nodes.push(node);
23
- }
24
-
25
- any(node) {
26
- if (~this.nodeTypes.indexOf(node.type)) {
27
- detect.apply(this, arguments);
28
- return !!node._stylehacks;
29
- }
30
-
31
- return false;
32
- }
33
-
34
- detectAndResolve(...args) {
35
- this.nodes = [];
36
- detect.apply(this, args);
37
- return this.resolve();
38
- }
39
-
40
- detectAndWarn(...args) {
41
- this.nodes = [];
42
- detect.apply(this, args);
43
- return this.warn();
44
- }
45
-
46
- resolve() {
47
- return this.nodes.forEach(node => node.remove());
48
- }
49
-
50
- warn() {
51
- return this.nodes.forEach(node => {
52
- const {
53
- message,
54
- browsers,
55
- identifier,
56
- hack
57
- } = node._stylehacks;
58
- return node.warn(this.result, message, {
59
- browsers,
60
- identifier,
61
- hack
62
- });
63
- });
64
- }
65
-
66
- }
67
-
68
- return Plugin;
69
- }
70
-
71
- module.exports = exports.default;
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
9
-
10
- var _exists = _interopRequireDefault(require("../exists"));
11
-
12
- var _isMixin = _interopRequireDefault(require("../isMixin"));
13
-
14
- var _plugin = _interopRequireDefault(require("../plugin"));
15
-
16
- var _browsers = require("../dictionary/browsers");
17
-
18
- var _identifiers = require("../dictionary/identifiers");
19
-
20
- var _postcss = require("../dictionary/postcss");
21
-
22
- var _tags = require("../dictionary/tags");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function analyse(ctx, rule) {
27
- return selectors => {
28
- selectors.each(selector => {
29
- if ((0, _exists.default)(selector, 0, _tags.BODY) && (0, _exists.default)(selector, 1, ':empty') && (0, _exists.default)(selector, 2, ' ') && selector.at(3)) {
30
- ctx.push(rule, {
31
- identifier: _identifiers.SELECTOR,
32
- hack: selector.toString()
33
- });
34
- }
35
- });
36
- };
37
- }
38
-
39
- var _default = (0, _plugin.default)([_browsers.FF_2], [_postcss.RULE], function (rule) {
40
- if ((0, _isMixin.default)(rule)) {
41
- return;
42
- }
43
-
44
- (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
45
- });
46
-
47
- exports.default = _default;
48
- module.exports = exports.default;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
9
-
10
- var _exists = _interopRequireDefault(require("../exists"));
11
-
12
- var _isMixin = _interopRequireDefault(require("../isMixin"));
13
-
14
- var _plugin = _interopRequireDefault(require("../plugin"));
15
-
16
- var _browsers = require("../dictionary/browsers");
17
-
18
- var _identifiers = require("../dictionary/identifiers");
19
-
20
- var _postcss = require("../dictionary/postcss");
21
-
22
- var _tags = require("../dictionary/tags");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function analyse(ctx, rule) {
27
- return selectors => {
28
- selectors.each(selector => {
29
- if ((0, _exists.default)(selector, 0, _tags.HTML) && ((0, _exists.default)(selector, 1, '>') || (0, _exists.default)(selector, 1, '~')) && selector.at(2) && selector.at(2).type === 'comment' && (0, _exists.default)(selector, 3, ' ') && (0, _exists.default)(selector, 4, _tags.BODY) && (0, _exists.default)(selector, 5, ' ') && selector.at(6)) {
30
- ctx.push(rule, {
31
- identifier: _identifiers.SELECTOR,
32
- hack: selector.toString()
33
- });
34
- }
35
- });
36
- };
37
- }
38
-
39
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.RULE], function (rule) {
40
- if ((0, _isMixin.default)(rule)) {
41
- return;
42
- }
43
-
44
- if (rule.raws.selector && rule.raws.selector.raw) {
45
- (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.raws.selector.raw);
46
- }
47
- });
48
-
49
- exports.default = _default;
50
- module.exports = exports.default;
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
9
-
10
- var _exists = _interopRequireDefault(require("../exists"));
11
-
12
- var _isMixin = _interopRequireDefault(require("../isMixin"));
13
-
14
- var _plugin = _interopRequireDefault(require("../plugin"));
15
-
16
- var _browsers = require("../dictionary/browsers");
17
-
18
- var _identifiers = require("../dictionary/identifiers");
19
-
20
- var _postcss = require("../dictionary/postcss");
21
-
22
- var _tags = require("../dictionary/tags");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function analyse(ctx, rule) {
27
- return selectors => {
28
- selectors.each(selector => {
29
- if ((0, _exists.default)(selector, 0, _tags.HTML) && (0, _exists.default)(selector, 1, ':first-child') && (0, _exists.default)(selector, 2, ' ') && selector.at(3)) {
30
- ctx.push(rule, {
31
- identifier: _identifiers.SELECTOR,
32
- hack: selector.toString()
33
- });
34
- }
35
- });
36
- };
37
- }
38
-
39
- var _default = (0, _plugin.default)([_browsers.OP_9], [_postcss.RULE], function (rule) {
40
- if ((0, _isMixin.default)(rule)) {
41
- return;
42
- }
43
-
44
- (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
45
- });
46
-
47
- exports.default = _default;
48
- module.exports = exports.default;
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _postcss = require("../dictionary/postcss");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.DECL], function (decl) {
17
- const match = decl.value.match(/!\w/);
18
-
19
- if (match) {
20
- const hack = decl.value.substr(match.index, decl.value.length - 1);
21
- this.push(decl, {
22
- identifier: '!important',
23
- hack
24
- });
25
- }
26
- });
27
-
28
- exports.default = _default;
29
- module.exports = exports.default;
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _bodyEmpty = _interopRequireDefault(require("./bodyEmpty"));
9
-
10
- var _htmlCombinatorCommentBody = _interopRequireDefault(require("./htmlCombinatorCommentBody"));
11
-
12
- var _htmlFirstChild = _interopRequireDefault(require("./htmlFirstChild"));
13
-
14
- var _important = _interopRequireDefault(require("./important"));
15
-
16
- var _leadingStar = _interopRequireDefault(require("./leadingStar"));
17
-
18
- var _leadingUnderscore = _interopRequireDefault(require("./leadingUnderscore"));
19
-
20
- var _mediaSlash = _interopRequireDefault(require("./mediaSlash0"));
21
-
22
- var _mediaSlash0Slash = _interopRequireDefault(require("./mediaSlash0Slash9"));
23
-
24
- var _mediaSlash2 = _interopRequireDefault(require("./mediaSlash9"));
25
-
26
- var _slash = _interopRequireDefault(require("./slash9"));
27
-
28
- var _starHtml = _interopRequireDefault(require("./starHtml"));
29
-
30
- var _trailingSlashComma = _interopRequireDefault(require("./trailingSlashComma"));
31
-
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
- var _default = [_bodyEmpty.default, _htmlCombinatorCommentBody.default, _htmlFirstChild.default, _important.default, _leadingStar.default, _leadingUnderscore.default, _mediaSlash.default, _mediaSlash0Slash.default, _mediaSlash2.default, _slash.default, _starHtml.default, _trailingSlashComma.default];
35
- exports.default = _default;
36
- module.exports = exports.default;
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- const hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_');
19
-
20
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE, _postcss.DECL], function (node) {
21
- if (node.type === _postcss.DECL) {
22
- // some values are not picked up by before, so ensure they are
23
- // at the beginning of the value
24
- hacks.some(hack => {
25
- if (!node.prop.indexOf(hack)) {
26
- this.push(node, {
27
- identifier: _identifiers.PROPERTY,
28
- hack: node.prop
29
- });
30
- return true;
31
- }
32
- });
33
- let {
34
- before
35
- } = node.raws;
36
-
37
- if (!before) {
38
- return;
39
- }
40
-
41
- hacks.some(hack => {
42
- if (~before.indexOf(hack)) {
43
- this.push(node, {
44
- identifier: _identifiers.PROPERTY,
45
- hack: `${before.trim()}${node.prop}`
46
- });
47
- return true;
48
- }
49
- });
50
- } else {
51
- // test for the @property: value; hack
52
- let {
53
- name
54
- } = node;
55
- let len = name.length - 1;
56
-
57
- if (name.lastIndexOf(':') === len) {
58
- this.push(node, {
59
- identifier: _identifiers.PROPERTY,
60
- hack: `@${name.substr(0, len)}`
61
- });
62
- }
63
- }
64
- });
65
-
66
- exports.default = _default;
67
- module.exports = exports.default;
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function vendorPrefix(prop) {
19
- let match = prop.match(/^(-\w+-)/);
20
-
21
- if (match) {
22
- return match[0];
23
- }
24
-
25
- return '';
26
- }
27
-
28
- var _default = (0, _plugin.default)([_browsers.IE_6], [_postcss.DECL], function (decl) {
29
- const {
30
- before
31
- } = decl.raws;
32
-
33
- if (before && ~before.indexOf('_')) {
34
- this.push(decl, {
35
- identifier: _identifiers.PROPERTY,
36
- hack: `${before.trim()}${decl.prop}`
37
- });
38
- }
39
-
40
- if (decl.prop[0] === '-' && decl.prop[1] !== '-' && vendorPrefix(decl.prop) === '') {
41
- this.push(decl, {
42
- identifier: _identifiers.PROPERTY,
43
- hack: decl.prop
44
- });
45
- }
46
- });
47
-
48
- exports.default = _default;
49
- module.exports = exports.default;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var _default = (0, _plugin.default)([_browsers.IE_8], [_postcss.ATRULE], function (rule) {
19
- const params = rule.params.trim();
20
-
21
- if (params.toLowerCase() === '\\0screen') {
22
- this.push(rule, {
23
- identifier: _identifiers.MEDIA_QUERY,
24
- hack: params
25
- });
26
- }
27
- });
28
-
29
- exports.default = _default;
30
- module.exports = exports.default;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.ATRULE], function (rule) {
19
- const params = rule.params.trim();
20
-
21
- if (params.toLowerCase() === '\\0screen\\,screen\\9') {
22
- this.push(rule, {
23
- identifier: _identifiers.MEDIA_QUERY,
24
- hack: params
25
- });
26
- }
27
- });
28
-
29
- exports.default = _default;
30
- module.exports = exports.default;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE], function (rule) {
19
- const params = rule.params.trim();
20
-
21
- if (params.toLowerCase() === 'screen\\9') {
22
- this.push(rule, {
23
- identifier: _identifiers.MEDIA_QUERY,
24
- hack: params
25
- });
26
- }
27
- });
28
-
29
- exports.default = _default;
30
- module.exports = exports.default;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _plugin = _interopRequireDefault(require("../plugin"));
9
-
10
- var _browsers = require("../dictionary/browsers");
11
-
12
- var _identifiers = require("../dictionary/identifiers");
13
-
14
- var _postcss = require("../dictionary/postcss");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var _default = (0, _plugin.default)([_browsers.IE_6, _browsers.IE_7, _browsers.IE_8], [_postcss.DECL], function (decl) {
19
- let v = decl.value;
20
-
21
- if (v && v.length > 2 && v.indexOf('\\9') === v.length - 2) {
22
- this.push(decl, {
23
- identifier: _identifiers.VALUE,
24
- hack: v
25
- });
26
- }
27
- });
28
-
29
- exports.default = _default;
30
- module.exports = exports.default;
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
9
-
10
- var _exists = _interopRequireDefault(require("../exists"));
11
-
12
- var _isMixin = _interopRequireDefault(require("../isMixin"));
13
-
14
- var _plugin = _interopRequireDefault(require("../plugin"));
15
-
16
- var _browsers = require("../dictionary/browsers");
17
-
18
- var _identifiers = require("../dictionary/identifiers");
19
-
20
- var _postcss = require("../dictionary/postcss");
21
-
22
- var _tags = require("../dictionary/tags");
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function analyse(ctx, rule) {
27
- return selectors => {
28
- selectors.each(selector => {
29
- if ((0, _exists.default)(selector, 0, '*') && (0, _exists.default)(selector, 1, ' ') && (0, _exists.default)(selector, 2, _tags.HTML) && (0, _exists.default)(selector, 3, ' ') && selector.at(4)) {
30
- ctx.push(rule, {
31
- identifier: _identifiers.SELECTOR,
32
- hack: selector.toString()
33
- });
34
- }
35
- });
36
- };
37
- }
38
-
39
- var _default = (0, _plugin.default)([_browsers.IE_5_5, _browsers.IE_6], [_postcss.RULE], function (rule) {
40
- if ((0, _isMixin.default)(rule)) {
41
- return;
42
- }
43
-
44
- (0, _postcssSelectorParser.default)(analyse(this, rule)).processSync(rule.selector);
45
- });
46
-
47
- exports.default = _default;
48
- module.exports = exports.default;