postcss 6.0.22 → 7.0.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.
Potentially problematic release.
This version of postcss might be problematic. Click here for more details.
- package/CHANGELOG.md +18 -0
- package/README-cn.md +54 -51
- package/README.md +60 -52
- package/docs/architecture.md +2 -2
- package/docs/guidelines/plugin.md +28 -28
- package/docs/guidelines/runner.md +21 -21
- package/docs/source-maps.md +11 -11
- package/docs/syntax.md +23 -23
- package/gulpfile.js +78 -74
- package/lib/at-rule.js +14 -14
- package/lib/comment.js +4 -4
- package/lib/container.js +773 -801
- package/lib/css-syntax-error.js +197 -180
- package/lib/declaration.js +15 -14
- package/lib/input.js +149 -143
- package/lib/lazy-result.js +364 -337
- package/lib/list.js +69 -70
- package/lib/map-generator.js +270 -275
- package/lib/node.js +558 -570
- package/lib/parse.js +20 -21
- package/lib/parser.js +476 -479
- package/lib/postcss.d.ts +1246 -1246
- package/lib/postcss.js +61 -57
- package/lib/previous-map.js +117 -122
- package/lib/processor.js +96 -75
- package/lib/result.js +70 -64
- package/lib/root.js +91 -90
- package/lib/rule.js +12 -12
- package/lib/stringifier.js +295 -295
- package/lib/stringify.js +5 -4
- package/lib/terminal-highlight.js +50 -50
- package/lib/tokenize.js +259 -259
- package/lib/vendor.js +27 -27
- package/lib/warn-once.js +6 -4
- package/lib/warning.js +30 -26
- package/package.json +4 -3
- package/CONTRIBUTING.md +0 -78
package/lib/list.js
CHANGED
@@ -6,90 +6,89 @@ exports.__esModule = true;
|
|
6
6
|
* preserving parentheses and quotes.
|
7
7
|
*
|
8
8
|
* @example
|
9
|
-
* const list = postcss.list
|
9
|
+
* const list = postcss.list
|
10
10
|
*
|
11
11
|
* @namespace list
|
12
12
|
*/
|
13
13
|
var list = {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
split: function split(string, separators, last) {
|
15
|
+
var array = [];
|
16
|
+
var current = '';
|
17
|
+
var split = false;
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
var func = 0;
|
20
|
+
var quote = false;
|
21
|
+
var escape = false;
|
22
22
|
|
23
|
-
|
24
|
-
|
23
|
+
for (var i = 0; i < string.length; i++) {
|
24
|
+
var letter = string[i];
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
34
|
-
} else if (letter === '"' || letter === '\'') {
|
35
|
-
quote = letter;
|
36
|
-
} else if (letter === '(') {
|
37
|
-
func += 1;
|
38
|
-
} else if (letter === ')') {
|
39
|
-
if (func > 0) func -= 1;
|
40
|
-
} else if (func === 0) {
|
41
|
-
if (separators.indexOf(letter) !== -1) split = true;
|
42
|
-
}
|
43
|
-
|
44
|
-
if (split) {
|
45
|
-
if (current !== '') array.push(current.trim());
|
46
|
-
current = '';
|
47
|
-
split = false;
|
48
|
-
} else {
|
49
|
-
current += letter;
|
50
|
-
}
|
26
|
+
if (quote) {
|
27
|
+
if (escape) {
|
28
|
+
escape = false;
|
29
|
+
} else if (letter === '\\') {
|
30
|
+
escape = true;
|
31
|
+
} else if (letter === quote) {
|
32
|
+
quote = false;
|
51
33
|
}
|
34
|
+
} else if (letter === '"' || letter === '\'') {
|
35
|
+
quote = letter;
|
36
|
+
} else if (letter === '(') {
|
37
|
+
func += 1;
|
38
|
+
} else if (letter === ')') {
|
39
|
+
if (func > 0) func -= 1;
|
40
|
+
} else if (func === 0) {
|
41
|
+
if (separators.indexOf(letter) !== -1) split = true;
|
42
|
+
}
|
43
|
+
|
44
|
+
if (split) {
|
45
|
+
if (current !== '') array.push(current.trim());
|
46
|
+
current = '';
|
47
|
+
split = false;
|
48
|
+
} else {
|
49
|
+
current += letter;
|
50
|
+
}
|
51
|
+
}
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
if (last || current !== '') array.push(current.trim());
|
54
|
+
return array;
|
55
|
+
},
|
56
56
|
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
58
|
+
/**
|
59
|
+
* Safely splits space-separated values (such as those for `background`,
|
60
|
+
* `border-radius`, and other shorthand properties).
|
61
|
+
*
|
62
|
+
* @param {string} string Space-separated values.
|
63
|
+
*
|
64
|
+
* @return {string[]} Split values.
|
65
|
+
*
|
66
|
+
* @example
|
67
|
+
* postcss.list.space('1px calc(10% + 1px)') //=> ['1px', 'calc(10% + 1px)']
|
68
|
+
*/
|
69
|
+
space: function space(string) {
|
70
|
+
var spaces = [' ', '\n', '\t'];
|
71
|
+
return list.split(string, spaces);
|
72
|
+
},
|
73
73
|
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
}
|
75
|
+
/**
|
76
|
+
* Safely splits comma-separated values (such as those for `transition-*`
|
77
|
+
* and `background` properties).
|
78
|
+
*
|
79
|
+
* @param {string} string Comma-separated values.
|
80
|
+
*
|
81
|
+
* @return {string[]} Split values.
|
82
|
+
*
|
83
|
+
* @example
|
84
|
+
* postcss.list.comma('black, linear-gradient(white, black)')
|
85
|
+
* //=> ['black', 'linear-gradient(white, black)']
|
86
|
+
*/
|
87
|
+
comma: function comma(string) {
|
88
|
+
return list.split(string, [','], true);
|
89
|
+
}
|
91
90
|
};
|
92
91
|
|
93
92
|
exports.default = list;
|
94
93
|
module.exports = exports['default'];
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpc3QuZXM2Il0sIm5hbWVzIjpbImxpc3QiLCJzcGxpdCIsInN0cmluZyIsInNlcGFyYXRvcnMiLCJsYXN0IiwiYXJyYXkiLCJjdXJyZW50IiwiZnVuYyIsInF1b3RlIiwiZXNjYXBlIiwiaSIsImxlbmd0aCIsImxldHRlciIsImluZGV4T2YiLCJwdXNoIiwidHJpbSIsInNwYWNlIiwic3BhY2VzIiwiY29tbWEiXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7QUFTQSxJQUFJQSxPQUFPO0FBRVRDLE9BRlMsaUJBRUZDLE1BRkUsRUFFTUMsVUFGTixFQUVrQkMsSUFGbEIsRUFFd0I7QUFDL0IsUUFBSUMsUUFBUSxFQUFaO0FBQ0EsUUFBSUMsVUFBVSxFQUFkO0FBQ0EsUUFBSUwsUUFBUSxLQUFaOztBQUVBLFFBQUlNLE9BQU8sQ0FBWDtBQUNBLFFBQUlDLFFBQVEsS0FBWjtBQUNBLFFBQUlDLFNBQVMsS0FBYjs7QUFFQSxTQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSVIsT0FBT1MsTUFBM0IsRUFBbUNELEdBQW5DLEVBQXdDO0FBQ3RDLFVBQUlFLFNBQVNWLE9BQU9RLENBQVAsQ0FBYjs7QUFFQSxVQUFJRixLQUFKLEVBQVc7QUFDVCxZQUFJQyxNQUFKLEVBQVk7QUFDVkEsbUJBQVMsS0FBVDtBQUNELFNBRkQsTUFFTyxJQUFJRyxXQUFXLElBQWYsRUFBcUI7QUFDMUJILG1CQUFTLElBQVQ7QUFDRCxTQUZNLE1BRUEsSUFBSUcsV0FBV0osS0FBZixFQUFzQjtBQUMzQkEsa0JBQVEsS0FBUjtBQUNEO0FBQ0YsT0FSRCxNQVFPLElBQUlJLFdBQVcsR0FBWCxJQUFrQkEsV0FBVyxJQUFqQyxFQUF1QztBQUM1Q0osZ0JBQVFJLE1BQVI7QUFDRCxPQUZNLE1BRUEsSUFBSUEsV0FBVyxHQUFmLEVBQW9CO0FBQ3pCTCxnQkFBUSxDQUFSO0FBQ0QsT0FGTSxNQUVBLElBQUlLLFdBQVcsR0FBZixFQUFvQjtBQUN6QixZQUFJTCxPQUFPLENBQVgsRUFBY0EsUUFBUSxDQUFSO0FBQ2YsT0FGTSxNQUVBLElBQUlBLFNBQVMsQ0FBYixFQUFnQjtBQUNyQixZQUFJSixXQUFXVSxPQUFYLENBQW1CRCxNQUFuQixNQUErQixDQUFDLENBQXBDLEVBQXVDWCxRQUFRLElBQVI7QUFDeEM7O0FBRUQsVUFBSUEsS0FBSixFQUFXO0FBQ1QsWUFBSUssWUFBWSxFQUFoQixFQUFvQkQsTUFBTVMsSUFBTixDQUFXUixRQUFRUyxJQUFSLEVBQVg7QUFDcEJULGtCQUFVLEVBQVY7QUFDQUwsZ0JBQVEsS0FBUjtBQUNELE9BSkQsTUFJTztBQUNMSyxtQkFBV00sTUFBWDtBQUNEO0FBQ0Y7O0FBRUQsUUFBSVIsUUFBUUUsWUFBWSxFQUF4QixFQUE0QkQsTUFBTVMsSUFBTixDQUFXUixRQUFRUyxJQUFSLEVBQVg7QUFDNUIsV0FBT1YsS0FBUDtBQUNELEdBM0NROzs7QUE2Q1Q7Ozs7Ozs7Ozs7O0FBV0FXLE9BeERTLGlCQXdERmQsTUF4REUsRUF3RE07QUFDYixRQUFJZSxTQUFTLENBQUMsR0FBRCxFQUFNLElBQU4sRUFBWSxJQUFaLENBQWI7QUFDQSxXQUFPakIsS0FBS0MsS0FBTCxDQUFXQyxNQUFYLEVBQW1CZSxNQUFuQixDQUFQO0FBQ0QsR0EzRFE7OztBQTZEVDs7Ozs7Ozs7Ozs7O0FBWUFDLE9BekVTLGlCQXlFRmhCLE1BekVFLEVBeUVNO0FBQ2IsV0FBT0YsS0FBS0MsS0FBTCxDQUFXQyxNQUFYLEVBQW1CLENBQUMsR0FBRCxDQUFuQixFQUEwQixJQUExQixDQUFQO0FBQ0Q7QUEzRVEsQ0FBWDs7a0JBK0VlRixJIiwiZmlsZSI6Imxpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRhaW5zIGhlbHBlcnMgZm9yIHNhZmVseSBzcGxpdHRpbmcgbGlzdHMgb2YgQ1NTIHZhbHVlcyxcbiAqIHByZXNlcnZpbmcgcGFyZW50aGVzZXMgYW5kIHF1b3Rlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbGlzdCA9IHBvc3Rjc3MubGlzdFxuICpcbiAqIEBuYW1lc3BhY2UgbGlzdFxuICovXG5sZXQgbGlzdCA9IHtcblxuICBzcGxpdCAoc3RyaW5nLCBzZXBhcmF0b3JzLCBsYXN0KSB7XG4gICAgbGV0IGFycmF5ID0gW11cbiAgICBsZXQgY3VycmVudCA9ICcnXG4gICAgbGV0IHNwbGl0ID0gZmFsc2VcblxuICAgIGxldCBmdW5jID0gMFxuICAgIGxldCBxdW90ZSA9IGZhbHNlXG4gICAgbGV0IGVzY2FwZSA9IGZhbHNlXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IGxldHRlciA9IHN0cmluZ1tpXVxuXG4gICAgICBpZiAocXVvdGUpIHtcbiAgICAgICAgaWYgKGVzY2FwZSkge1xuICAgICAgICAgIGVzY2FwZSA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAnXFxcXCcpIHtcbiAgICAgICAgICBlc2NhcGUgPSB0cnVlXG4gICAgICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSBxdW90ZSkge1xuICAgICAgICAgIHF1b3RlID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsZXR0ZXIgPT09ICdcIicgfHwgbGV0dGVyID09PSAnXFwnJykge1xuICAgICAgICBxdW90ZSA9IGxldHRlclxuICAgICAgfSBlbHNlIGlmIChsZXR0ZXIgPT09ICcoJykge1xuICAgICAgICBmdW5jICs9IDFcbiAgICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAnKScpIHtcbiAgICAgICAgaWYgKGZ1bmMgPiAwKSBmdW5jIC09IDFcbiAgICAgIH0gZWxzZSBpZiAoZnVuYyA9PT0gMCkge1xuICAgICAgICBpZiAoc2VwYXJhdG9ycy5pbmRleE9mKGxldHRlcikgIT09IC0xKSBzcGxpdCA9IHRydWVcbiAgICAgIH1cblxuICAgICAgaWYgKHNwbGl0KSB7XG4gICAgICAgIGlmIChjdXJyZW50ICE9PSAnJykgYXJyYXkucHVzaChjdXJyZW50LnRyaW0oKSlcbiAgICAgICAgY3VycmVudCA9ICcnXG4gICAgICAgIHNwbGl0ID0gZmFsc2VcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnJlbnQgKz0gbGV0dGVyXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGxhc3QgfHwgY3VycmVudCAhPT0gJycpIGFycmF5LnB1c2goY3VycmVudC50cmltKCkpXG4gICAgcmV0dXJuIGFycmF5XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNhZmVseSBzcGxpdHMgc3BhY2Utc2VwYXJhdGVkIHZhbHVlcyAoc3VjaCBhcyB0aG9zZSBmb3IgYGJhY2tncm91bmRgLFxuICAgKiBgYm9yZGVyLXJhZGl1c2AsIGFuZCBvdGhlciBzaG9ydGhhbmQgcHJvcGVydGllcykuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgU3BhY2Utc2VwYXJhdGVkIHZhbHVlcy5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nW119IFNwbGl0IHZhbHVlcy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogcG9zdGNzcy5saXN0LnNwYWNlKCcxcHggY2FsYygxMCUgKyAxcHgpJykgLy89PiBbJzFweCcsICdjYWxjKDEwJSArIDFweCknXVxuICAgKi9cbiAgc3BhY2UgKHN0cmluZykge1xuICAgIGxldCBzcGFjZXMgPSBbJyAnLCAnXFxuJywgJ1xcdCddXG4gICAgcmV0dXJuIGxpc3Quc3BsaXQoc3RyaW5nLCBzcGFjZXMpXG4gIH0sXG5cbiAgLyoqXG4gICAqIFNhZmVseSBzcGxpdHMgY29tbWEtc2VwYXJhdGVkIHZhbHVlcyAoc3VjaCBhcyB0aG9zZSBmb3IgYHRyYW5zaXRpb24tKmBcbiAgICogYW5kIGBiYWNrZ3JvdW5kYCBwcm9wZXJ0aWVzKS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBDb21tYS1zZXBhcmF0ZWQgdmFsdWVzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gU3BsaXQgdmFsdWVzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBwb3N0Y3NzLmxpc3QuY29tbWEoJ2JsYWNrLCBsaW5lYXItZ3JhZGllbnQod2hpdGUsIGJsYWNrKScpXG4gICAqIC8vPT4gWydibGFjaycsICdsaW5lYXItZ3JhZGllbnQod2hpdGUsIGJsYWNrKSddXG4gICAqL1xuICBjb21tYSAoc3RyaW5nKSB7XG4gICAgcmV0dXJuIGxpc3Quc3BsaXQoc3RyaW5nLCBbJywnXSwgdHJ1ZSlcbiAgfVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IGxpc3RcbiJdfQ==
|