stylehacks 4.0.3 → 5.0.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.
- package/CHANGELOG.md +73 -0
- package/dist/dictionary/browsers.js +14 -7
- package/dist/dictionary/identifiers.js +10 -5
- package/dist/dictionary/postcss.js +8 -4
- package/dist/dictionary/tags.js +6 -3
- package/dist/exists.js +6 -5
- package/dist/index.js +50 -48
- package/dist/isMixin.js +12 -9
- package/dist/plugin.js +55 -50
- package/dist/plugins/bodyEmpty.js +29 -33
- package/dist/plugins/htmlCombinatorCommentBody.js +31 -35
- package/dist/plugins/htmlFirstChild.js +29 -33
- package/dist/plugins/important.js +19 -17
- package/dist/plugins/index.js +18 -40
- package/dist/plugins/leadingStar.js +51 -43
- package/dist/plugins/leadingUnderscore.js +38 -29
- package/dist/plugins/mediaSlash0.js +18 -17
- package/dist/plugins/mediaSlash0Slash9.js +18 -17
- package/dist/plugins/mediaSlash9.js +18 -17
- package/dist/plugins/slash9.js +19 -17
- package/dist/plugins/starHtml.js +28 -33
- package/dist/plugins/trailingSlashComma.js +27 -26
- package/package.json +15 -11
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
# [5.0.0](https://github.com/cssnano/cssnano/compare/stylehacks@5.0.0-rc.2...stylehacks@5.0.0) (2021-04-06)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package stylehacks
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [5.0.0-rc.2](https://github.com/cssnano/cssnano/compare/stylehacks@5.0.0-rc.1...stylehacks@5.0.0-rc.2) (2021-03-15)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package stylehacks
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [5.0.0-rc.1](https://github.com/cssnano/cssnano/compare/stylehacks@5.0.0-rc.0...stylehacks@5.0.0-rc.1) (2021-03-04)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package stylehacks
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# 5.0.0-rc.0 (2021-02-19)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### chore
|
|
34
|
+
|
|
35
|
+
* minimum require version of node is 10.13 ([#871](https://github.com/cssnano/cssnano/issues/871)) ([28bda24](https://github.com/cssnano/cssnano/commit/28bda243e32ce3ba89b3c358a5f78727b3732f11))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Features
|
|
39
|
+
|
|
40
|
+
* migarete to PostCSS 8 ([#975](https://github.com/cssnano/cssnano/issues/975)) ([40b82dc](https://github.com/cssnano/cssnano/commit/40b82dca7f53ac02cd4fe62846dec79b898ccb49))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### BREAKING CHANGES
|
|
44
|
+
|
|
45
|
+
* minimum supported `postcss` version is `8.2.1`
|
|
46
|
+
* minimum require version of node is 10.13
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## 4.1.10 (2019-02-14)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* **stylehacks:** doesn't throw error on `[attr]` selector ([#711](https://github.com/cssnano/cssnano/issues/711)) ([a4a43c3](https://github.com/cssnano/cssnano/commit/a4a43c37c58eb9dec3123072485f12e20f627bd1))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## 4.1.9 (2019-02-12)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Bug Fixes
|
|
63
|
+
|
|
64
|
+
* **stylehacks:** better handle uppercase ([#704](https://github.com/cssnano/cssnano/issues/704)) ([8d48058](https://github.com/cssnano/cssnano/commit/8d48058b0f5be6943c443e4ce653fb156794f6b7))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## 4.1.1 (2018-09-24)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
### Bug Fixes
|
|
72
|
+
|
|
73
|
+
* **postcss-merge-longhand:** not mangle border output ([#555](https://github.com/cssnano/cssnano/issues/555)) ([9a70605](https://github.com/cssnano/cssnano/commit/9a706050b621e7795a9bf74eb7110b5c81804ffe)), closes [#553](https://github.com/cssnano/cssnano/issues/553) [#554](https://github.com/cssnano/cssnano/issues/554)
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const
|
|
6
|
+
exports.OP_9 = exports.IE_8 = exports.IE_7 = exports.IE_6 = exports.IE_5_5 = exports.FF_2 = void 0;
|
|
7
|
+
const FF_2 = 'firefox 2';
|
|
8
|
+
exports.FF_2 = FF_2;
|
|
9
|
+
const IE_5_5 = 'ie 5.5';
|
|
10
|
+
exports.IE_5_5 = IE_5_5;
|
|
11
|
+
const IE_6 = 'ie 6';
|
|
12
|
+
exports.IE_6 = IE_6;
|
|
13
|
+
const IE_7 = 'ie 7';
|
|
14
|
+
exports.IE_7 = IE_7;
|
|
15
|
+
const IE_8 = 'ie 8';
|
|
16
|
+
exports.IE_8 = IE_8;
|
|
17
|
+
const OP_9 = 'opera 9';
|
|
18
|
+
exports.OP_9 = OP_9;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const
|
|
6
|
+
exports.VALUE = exports.SELECTOR = exports.PROPERTY = exports.MEDIA_QUERY = void 0;
|
|
7
|
+
const MEDIA_QUERY = 'media query';
|
|
8
|
+
exports.MEDIA_QUERY = MEDIA_QUERY;
|
|
9
|
+
const PROPERTY = 'property';
|
|
10
|
+
exports.PROPERTY = PROPERTY;
|
|
11
|
+
const SELECTOR = 'selector';
|
|
12
|
+
exports.SELECTOR = SELECTOR;
|
|
13
|
+
const VALUE = 'value';
|
|
14
|
+
exports.VALUE = VALUE;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
6
|
+
exports.RULE = exports.DECL = exports.ATRULE = void 0;
|
|
7
|
+
const ATRULE = 'atrule';
|
|
8
|
+
exports.ATRULE = ATRULE;
|
|
9
|
+
const DECL = 'decl';
|
|
10
|
+
exports.DECL = DECL;
|
|
11
|
+
const RULE = 'rule';
|
|
12
|
+
exports.RULE = RULE;
|
package/dist/dictionary/tags.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
const
|
|
6
|
+
exports.HTML = exports.BODY = void 0;
|
|
7
|
+
const BODY = 'body';
|
|
8
|
+
exports.BODY = BODY;
|
|
9
|
+
const HTML = 'html';
|
|
10
|
+
exports.HTML = HTML;
|
package/dist/exists.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exists;
|
|
7
|
-
function exists(selector, index, value) {
|
|
8
|
-
const node = selector.at(index);
|
|
9
7
|
|
|
10
|
-
|
|
8
|
+
function exists(selector, index, value) {
|
|
9
|
+
const node = selector.at(index);
|
|
10
|
+
return node && node.value && node.value.toLowerCase() === value;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
module.exports = exports.default;
|
package/dist/index.js
CHANGED
|
@@ -1,67 +1,69 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
+
var _browserslist = _interopRequireDefault(require("browserslist"));
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var _browserslist = require('browserslist');
|
|
12
|
-
|
|
13
|
-
var _browserslist2 = _interopRequireDefault(_browserslist);
|
|
14
|
-
|
|
15
|
-
var _plugins = require('./plugins');
|
|
16
|
-
|
|
17
|
-
var _plugins2 = _interopRequireDefault(_plugins);
|
|
10
|
+
var _plugins = _interopRequireDefault(require("./plugins"));
|
|
18
11
|
|
|
19
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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);
|
|
28
32
|
});
|
|
29
|
-
const processors = _plugins2.default.reduce((list, Plugin) => {
|
|
30
|
-
const hack = new Plugin(result);
|
|
31
|
-
const applied = browsers.some(browser => {
|
|
32
|
-
return hack.targets.some(target => browser === target);
|
|
33
|
-
});
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
if (applied) {
|
|
35
|
+
return list;
|
|
36
|
+
}
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
return [...list, hack];
|
|
39
|
+
}, []);
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
css.walk(node => {
|
|
42
|
+
processors.forEach(proc => {
|
|
43
|
+
if (!~proc.nodeTypes.indexOf(node.type)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
if (opts.lint) {
|
|
48
|
+
return proc.detectAndWarn(node);
|
|
49
|
+
}
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
});
|
|
51
|
+
return proc.detectAndResolve(node);
|
|
54
52
|
});
|
|
55
|
-
|
|
56
|
-
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const hack = new Plugin();
|
|
56
|
+
};
|
|
57
|
+
}
|
|
61
58
|
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
pluginCreator.detect = node => {
|
|
60
|
+
return _plugins.default.some(Plugin => {
|
|
61
|
+
const hack = new Plugin();
|
|
62
|
+
return hack.any(node);
|
|
63
|
+
});
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
pluginCreator.postcss = true;
|
|
67
|
+
var _default = pluginCreator;
|
|
68
|
+
exports.default = _default;
|
|
69
|
+
module.exports = exports.default;
|
package/dist/isMixin.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = isMixin;
|
|
7
|
+
|
|
7
8
|
function isMixin(node) {
|
|
8
|
-
|
|
9
|
+
const {
|
|
10
|
+
selector
|
|
11
|
+
} = node; // If the selector ends with a ':' it is likely a part of a custom mixin.
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
13
|
+
if (!selector || selector[selector.length - 1] === ':') {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
return false;
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
|
|
20
|
+
module.exports = exports.default;
|
package/dist/plugin.js
CHANGED
|
@@ -1,66 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = plugin;
|
|
7
|
-
function plugin(targets, nodeTypes, detect) {
|
|
8
|
-
class Plugin {
|
|
9
|
-
constructor(result) {
|
|
10
|
-
this.nodes = [];
|
|
11
|
-
this.result = result;
|
|
12
|
-
this.targets = targets;
|
|
13
|
-
this.nodeTypes = nodeTypes;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
push(node, metadata) {
|
|
17
|
-
node._stylehacks = Object.assign({}, metadata, {
|
|
18
|
-
message: `Bad ${metadata.identifier}: ${metadata.hack}`,
|
|
19
|
-
browsers: this.targets
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
this.nodes.push(node);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
any(node) {
|
|
26
|
-
if (~this.nodeTypes.indexOf(node.type)) {
|
|
27
|
-
detect.apply(this, arguments);
|
|
28
7
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
detect.apply(this, args);
|
|
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
|
+
}
|
|
39
16
|
|
|
40
|
-
|
|
41
|
-
|
|
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
|
+
}
|
|
42
24
|
|
|
43
|
-
|
|
44
|
-
|
|
25
|
+
any(node) {
|
|
26
|
+
if (~this.nodeTypes.indexOf(node.type)) {
|
|
27
|
+
detect.apply(this, arguments);
|
|
28
|
+
return !!node._stylehacks;
|
|
29
|
+
}
|
|
45
30
|
|
|
46
|
-
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
47
33
|
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
detectAndResolve(...args) {
|
|
35
|
+
this.nodes = [];
|
|
36
|
+
detect.apply(this, args);
|
|
37
|
+
return this.resolve();
|
|
38
|
+
}
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
detectAndWarn(...args) {
|
|
41
|
+
this.nodes = [];
|
|
42
|
+
detect.apply(this, args);
|
|
43
|
+
return this.warn();
|
|
44
|
+
}
|
|
54
45
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
46
|
+
resolve() {
|
|
47
|
+
return this.nodes.forEach(node => node.remove());
|
|
48
|
+
}
|
|
58
49
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
+
});
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return Plugin;
|
|
65
69
|
}
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
module.exports = exports.default;
|
|
@@ -1,52 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
|
-
var _postcssSelectorParser = require(
|
|
8
|
+
var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var _exists = _interopRequireDefault(require("../exists"));
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
+
var _isMixin = _interopRequireDefault(require("../isMixin"));
|
|
12
13
|
|
|
13
|
-
var
|
|
14
|
+
var _plugin = _interopRequireDefault(require("../plugin"));
|
|
14
15
|
|
|
15
|
-
var
|
|
16
|
+
var _browsers = require("../dictionary/browsers");
|
|
16
17
|
|
|
17
|
-
var
|
|
18
|
+
var _identifiers = require("../dictionary/identifiers");
|
|
18
19
|
|
|
19
|
-
var
|
|
20
|
+
var _postcss = require("../dictionary/postcss");
|
|
20
21
|
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
var _browsers = require('../dictionary/browsers');
|
|
24
|
-
|
|
25
|
-
var _identifiers = require('../dictionary/identifiers');
|
|
26
|
-
|
|
27
|
-
var _postcss = require('../dictionary/postcss');
|
|
28
|
-
|
|
29
|
-
var _tags = require('../dictionary/tags');
|
|
22
|
+
var _tags = require("../dictionary/tags");
|
|
30
23
|
|
|
31
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
32
25
|
|
|
33
26
|
function analyse(ctx, rule) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
}
|
|
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()
|
|
42
33
|
});
|
|
43
|
-
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
};
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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);
|
|
51
45
|
});
|
|
52
|
-
|
|
46
|
+
|
|
47
|
+
exports.default = _default;
|
|
48
|
+
module.exports = exports.default;
|
|
@@ -1,54 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
|
-
var _postcssSelectorParser = require(
|
|
8
|
+
var _postcssSelectorParser = _interopRequireDefault(require("postcss-selector-parser"));
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var _exists = _interopRequireDefault(require("../exists"));
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
+
var _isMixin = _interopRequireDefault(require("../isMixin"));
|
|
12
13
|
|
|
13
|
-
var
|
|
14
|
+
var _plugin = _interopRequireDefault(require("../plugin"));
|
|
14
15
|
|
|
15
|
-
var
|
|
16
|
+
var _browsers = require("../dictionary/browsers");
|
|
16
17
|
|
|
17
|
-
var
|
|
18
|
+
var _identifiers = require("../dictionary/identifiers");
|
|
18
19
|
|
|
19
|
-
var
|
|
20
|
+
var _postcss = require("../dictionary/postcss");
|
|
20
21
|
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
var _browsers = require('../dictionary/browsers');
|
|
24
|
-
|
|
25
|
-
var _identifiers = require('../dictionary/identifiers');
|
|
26
|
-
|
|
27
|
-
var _postcss = require('../dictionary/postcss');
|
|
28
|
-
|
|
29
|
-
var _tags = require('../dictionary/tags');
|
|
22
|
+
var _tags = require("../dictionary/tags");
|
|
30
23
|
|
|
31
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
32
25
|
|
|
33
26
|
function analyse(ctx, rule) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
}
|
|
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()
|
|
42
33
|
});
|
|
43
|
-
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
};
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
+
}
|
|
53
47
|
});
|
|
54
|
-
|
|
48
|
+
|
|
49
|
+
exports.default = _default;
|
|
50
|
+
module.exports = exports.default;
|