autoprefixer 8.5.1 → 8.6.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.
- package/AUTHORS +2 -0
- package/CHANGELOG.md +14 -0
- package/README.md +2 -0
- package/lib/autoprefixer.js +6 -1
- package/lib/browsers.js +9 -7
- package/lib/hacks/grid-utils.js +36 -15
- package/package.json +2 -2
package/AUTHORS
CHANGED
|
@@ -65,6 +65,7 @@ GU Yiling <justice360@gmail.com>
|
|
|
65
65
|
Gustavo Real <https://github.com/kotfire>
|
|
66
66
|
Hallvord R. M. Steen <hallvord@hallvord.com>
|
|
67
67
|
heady <https://github.com/heady>
|
|
68
|
+
HongShaoRou <evanzlist@sina.com>
|
|
68
69
|
Huáng Jùnliàng <https://github.com/JLHwung>
|
|
69
70
|
Iain Beeston <iain.beeston@gmail.com>
|
|
70
71
|
Igor Adamenko <https://github.com/igoradamenko>
|
|
@@ -152,6 +153,7 @@ Vladimir Pouzanov <farcaller@gmail.com>
|
|
|
152
153
|
vladkens <vladkens@yandex.ru>
|
|
153
154
|
Yet Another Minion <yam@thinkalexandria.com>
|
|
154
155
|
Yuriy Alekseyev <dev.yuriy.a@gmail.com>
|
|
156
|
+
Yury Timofeev <y.timofeyev@gmail.com>
|
|
155
157
|
Даниил Пронин <mail@grawl.ru>
|
|
156
158
|
一丝 <jie.lijie@alibaba-inc.com>
|
|
157
159
|
刘祺 <gucong@gmail.com>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
3
3
|
|
|
4
|
+
## 8.6.2
|
|
5
|
+
* Fix error during adding Grid prefixes in `@media` (by Evgeny Petukhov).
|
|
6
|
+
|
|
7
|
+
## 8.6.1
|
|
8
|
+
* Fix `grid-template` with media queries (by Evgeny Petukhov).
|
|
9
|
+
|
|
10
|
+
## 8.6 “Follow Reason”
|
|
11
|
+
* Add `gap` support (by Evgeny Petukhov).
|
|
12
|
+
* Add two values support for `grid-gap` and `gap` (by Evgeny Petukhov).
|
|
13
|
+
* Add `ignoreUnknownVersions` option for Browserslist.
|
|
14
|
+
|
|
15
|
+
## 8.5.2
|
|
16
|
+
* Fix `grid-template` support wit auto row sizes (by Yury Timofeev).
|
|
17
|
+
|
|
4
18
|
## 8.5.1
|
|
5
19
|
* Remove unnecessary warning on `-webkit-fill-available`.
|
|
6
20
|
|
package/README.md
CHANGED
|
@@ -588,6 +588,8 @@ Available options are:
|
|
|
588
588
|
or `browserslist` key in `package.json` to share target browsers
|
|
589
589
|
with Babel, ESLint and Stylelint. See [Browserslist docs]
|
|
590
590
|
for available queries and default value.
|
|
591
|
+
* `ignoreUnknownVersions` (boolean): do not raise error on unknown browser
|
|
592
|
+
version in Browserslist config or `browsers` option. Default is `false`.
|
|
591
593
|
|
|
592
594
|
Plugin object has `info()` method for debugging purpose.
|
|
593
595
|
|
package/lib/autoprefixer.js
CHANGED
|
@@ -65,9 +65,14 @@ module.exports = postcss.plugin('autoprefixer', function () {
|
|
|
65
65
|
options.grid = false;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
var brwlstOpts = {
|
|
69
|
+
ignoreUnknownVersions: options.ignoreUnknownVersions,
|
|
70
|
+
stats: options.stats
|
|
71
|
+
};
|
|
72
|
+
|
|
68
73
|
var loadPrefixes = function loadPrefixes(opts) {
|
|
69
74
|
var data = module.exports.data;
|
|
70
|
-
var browsers = new Browsers(data.browsers, reqs, opts,
|
|
75
|
+
var browsers = new Browsers(data.browsers, reqs, opts, brwlstOpts);
|
|
71
76
|
var key = browsers.selected.join(', ') + JSON.stringify(options);
|
|
72
77
|
|
|
73
78
|
if (!cache[key]) {
|
package/lib/browsers.js
CHANGED
|
@@ -43,12 +43,12 @@ var Browsers = function () {
|
|
|
43
43
|
return this.prefixesRegexp.test(value);
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
function Browsers(data, requirements, options,
|
|
46
|
+
function Browsers(data, requirements, options, browserslistOpts) {
|
|
47
47
|
_classCallCheck(this, Browsers);
|
|
48
48
|
|
|
49
49
|
this.data = data;
|
|
50
50
|
this.options = options || {};
|
|
51
|
-
this.
|
|
51
|
+
this.browserslistOpts = browserslistOpts || {};
|
|
52
52
|
this.selected = this.parse(requirements);
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -58,11 +58,13 @@ var Browsers = function () {
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
Browsers.prototype.parse = function parse(requirements) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
var opts = {};
|
|
62
|
+
for (var i in this.browserslistOpts) {
|
|
63
|
+
opts[i] = this.browserslistOpts[i];
|
|
64
|
+
}
|
|
65
|
+
opts.path = this.options.from;
|
|
66
|
+
opts.env = this.options.env;
|
|
67
|
+
return browserslist(requirements, opts);
|
|
66
68
|
};
|
|
67
69
|
|
|
68
70
|
/**
|
package/lib/hacks/grid-utils.js
CHANGED
|
@@ -220,6 +220,13 @@ function testTrack(node) {
|
|
|
220
220
|
return node.type === 'word' && /^\[.+\]$/.test(node.value);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
function verifyRowSize(result) {
|
|
224
|
+
if (result.areas.length > result.rows.length) {
|
|
225
|
+
result.rows.push('auto');
|
|
226
|
+
}
|
|
227
|
+
return result;
|
|
228
|
+
}
|
|
229
|
+
|
|
223
230
|
function parseTemplate(_ref7) {
|
|
224
231
|
var decl = _ref7.decl,
|
|
225
232
|
gap = _ref7.gap;
|
|
@@ -233,6 +240,7 @@ function parseTemplate(_ref7) {
|
|
|
233
240
|
|
|
234
241
|
// area
|
|
235
242
|
if (type === 'string') {
|
|
243
|
+
result = verifyRowSize(result);
|
|
236
244
|
result.areas.push(value);
|
|
237
245
|
}
|
|
238
246
|
|
|
@@ -244,6 +252,7 @@ function parseTemplate(_ref7) {
|
|
|
244
252
|
// devider(/)
|
|
245
253
|
if (type === 'div' && value === '/') {
|
|
246
254
|
result.key = 'columns';
|
|
255
|
+
result = verifyRowSize(result);
|
|
247
256
|
}
|
|
248
257
|
|
|
249
258
|
return result;
|
|
@@ -301,6 +310,9 @@ function insertAreas(areas, decl, result) {
|
|
|
301
310
|
var missed = Object.keys(areas);
|
|
302
311
|
|
|
303
312
|
var parentMedia = getParentMedia(decl.parent);
|
|
313
|
+
var rules = [];
|
|
314
|
+
var areasLength = Object.keys(areas).length;
|
|
315
|
+
var areasCount = 0;
|
|
304
316
|
|
|
305
317
|
decl.root().walkDecls('grid-area', function (gridArea) {
|
|
306
318
|
|
|
@@ -313,13 +325,6 @@ function insertAreas(areas, decl, result) {
|
|
|
313
325
|
|
|
314
326
|
if (area && parentMedia) {
|
|
315
327
|
|
|
316
|
-
// skip if grid-template-areas already prefixed in media
|
|
317
|
-
if (parentMedia.some(function (i) {
|
|
318
|
-
return i.selector === gridArea.parent.selector;
|
|
319
|
-
})) {
|
|
320
|
-
return undefined;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
328
|
// create new rule
|
|
324
329
|
var rule = decl.parent.clone({
|
|
325
330
|
selector: gridArea.parent.selector
|
|
@@ -335,8 +340,16 @@ function insertAreas(areas, decl, result) {
|
|
|
335
340
|
}));
|
|
336
341
|
});
|
|
337
342
|
|
|
338
|
-
|
|
339
|
-
|
|
343
|
+
rules.push(rule);
|
|
344
|
+
areasCount++;
|
|
345
|
+
if (areasCount === areasLength) {
|
|
346
|
+
var next = gridArea.parent.next();
|
|
347
|
+
|
|
348
|
+
if (next && next.type === 'atrule' && next.name === 'media' && next.params === parentMedia.params && next.first.type === 'rule' && next.first.selector && parentMedia.first.selector && /^-ms-/.test(next.first.first.prop)) return undefined;
|
|
349
|
+
|
|
350
|
+
var areaMedia = parentMedia.clone().removeAll().append(rules);
|
|
351
|
+
gridArea.parent.after(areaMedia);
|
|
352
|
+
}
|
|
340
353
|
|
|
341
354
|
return undefined;
|
|
342
355
|
}
|
|
@@ -367,16 +380,24 @@ function getGridGap(decl) {
|
|
|
367
380
|
var gap = {};
|
|
368
381
|
|
|
369
382
|
// try to find gap
|
|
370
|
-
|
|
383
|
+
var testGap = /^(grid-)?((row|column)-)?gap$/;
|
|
384
|
+
decl.parent.walkDecls(testGap, function (_ref8) {
|
|
371
385
|
var prop = _ref8.prop,
|
|
372
386
|
value = _ref8.value;
|
|
373
387
|
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
|
|
388
|
+
if (/^(grid-)?gap$/.test(prop)) {
|
|
389
|
+
var _parser$nodes = parser(value).nodes,
|
|
390
|
+
_parser$nodes$ = _parser$nodes[0],
|
|
391
|
+
row = _parser$nodes$ === undefined ? {} : _parser$nodes$,
|
|
392
|
+
_parser$nodes$2 = _parser$nodes[2],
|
|
393
|
+
column = _parser$nodes$2 === undefined ? {} : _parser$nodes$2;
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
gap.row = row.value;
|
|
397
|
+
gap.column = column.value || row.value;
|
|
377
398
|
}
|
|
378
|
-
if (
|
|
379
|
-
if (
|
|
399
|
+
if (/^(grid-)?row-gap$/.test(prop)) gap.row = value;
|
|
400
|
+
if (/^(grid-)?column-gap$/.test(prop)) gap.column = value;
|
|
380
401
|
});
|
|
381
402
|
|
|
382
403
|
return gap;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autoprefixer",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.2",
|
|
4
4
|
"description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website",
|
|
5
5
|
"keywords": ["autoprefixer", "css", "prefix", "postcss", "postcss-plugin"],
|
|
6
6
|
"author": "Andrey Sitnik <andrey@sitnik.ru>",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"repository": "postcss/autoprefixer",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"browserslist": "^3.2.8",
|
|
11
|
-
"caniuse-lite": "^1.0.
|
|
11
|
+
"caniuse-lite": "^1.0.30000851",
|
|
12
12
|
"normalize-range": "^0.1.2",
|
|
13
13
|
"num2fraction": "^1.2.2",
|
|
14
14
|
"postcss": "^6.0.22",
|