autoprefixer 9.7.0 → 9.7.1
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 +4 -0
- package/README.md +1 -1
- package/data/prefixes.js +13 -3
- package/lib/transition.js +29 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
3
3
|
|
|
4
|
+
## 9.7.1
|
|
5
|
+
* Avoid unnecessary transitions in prefixed selectors (by Andrey Alexandrov).
|
|
6
|
+
* Fix `fit-content` for Firefox.
|
|
7
|
+
|
|
4
8
|
## 9.7 “Ad Victoriam”
|
|
5
9
|
* Add `AUTOPREFIXER_GRID` env variable to enable Grid Layout polyfill for IE.
|
|
6
10
|
* Fix `Cannot read property 'grid' of undefined` error.
|
package/README.md
CHANGED
package/data/prefixes.js
CHANGED
|
@@ -374,9 +374,10 @@ f(require('caniuse-lite/data/features/css3-tabsize'), function (browsers) {
|
|
|
374
374
|
|
|
375
375
|
var intrinsic = require('caniuse-lite/data/features/intrinsic-width');
|
|
376
376
|
|
|
377
|
+
var sizeProps = ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows'];
|
|
377
378
|
f(intrinsic, function (browsers) {
|
|
378
|
-
return prefix(['max-content', 'min-content'
|
|
379
|
-
props:
|
|
379
|
+
return prefix(['max-content', 'min-content'], {
|
|
380
|
+
props: sizeProps,
|
|
380
381
|
feature: 'intrinsic-width',
|
|
381
382
|
browsers: browsers
|
|
382
383
|
});
|
|
@@ -385,7 +386,16 @@ f(intrinsic, {
|
|
|
385
386
|
match: /x|\s#4/
|
|
386
387
|
}, function (browsers) {
|
|
387
388
|
return prefix(['fill', 'fill-available', 'stretch'], {
|
|
388
|
-
props:
|
|
389
|
+
props: sizeProps,
|
|
390
|
+
feature: 'intrinsic-width',
|
|
391
|
+
browsers: browsers
|
|
392
|
+
});
|
|
393
|
+
});
|
|
394
|
+
f(intrinsic, {
|
|
395
|
+
match: /x|\s#5/
|
|
396
|
+
}, function (browsers) {
|
|
397
|
+
return prefix(['fit-content'], {
|
|
398
|
+
props: sizeProps,
|
|
389
399
|
feature: 'intrinsic-width',
|
|
390
400
|
browsers: browsers
|
|
391
401
|
});
|
package/lib/transition.js
CHANGED
|
@@ -8,6 +8,8 @@ var vendor = require('postcss').vendor;
|
|
|
8
8
|
|
|
9
9
|
var list = require('postcss').list;
|
|
10
10
|
|
|
11
|
+
var Browsers = require('./browsers');
|
|
12
|
+
|
|
11
13
|
var Transition =
|
|
12
14
|
/*#__PURE__*/
|
|
13
15
|
function () {
|
|
@@ -28,7 +30,8 @@ function () {
|
|
|
28
30
|
|
|
29
31
|
var prefix, prop;
|
|
30
32
|
var add = this.prefixes.add[decl.prop];
|
|
31
|
-
var
|
|
33
|
+
var vendorPrefixes = this.ruleVendorPrefixes(decl);
|
|
34
|
+
var declPrefixes = vendorPrefixes || add && add.prefixes || [];
|
|
32
35
|
var params = this.parse(decl.value);
|
|
33
36
|
var names = params.map(function (i) {
|
|
34
37
|
return _this.findProp(i);
|
|
@@ -69,6 +72,12 @@ function () {
|
|
|
69
72
|
prefix = _i3.value;
|
|
70
73
|
}
|
|
71
74
|
|
|
75
|
+
if (vendorPrefixes && !vendorPrefixes.some(function (p) {
|
|
76
|
+
return prefix.includes(p);
|
|
77
|
+
})) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
|
|
72
81
|
var prefixed = this.prefixes.prefixed(prop, prefix);
|
|
73
82
|
|
|
74
83
|
if (prefixed !== '-ms-transform' && !names.includes(prefixed)) {
|
|
@@ -473,6 +482,25 @@ function () {
|
|
|
473
482
|
}
|
|
474
483
|
|
|
475
484
|
return undefined;
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Check if transition prop is inside vendor specific rule
|
|
488
|
+
*/
|
|
489
|
+
;
|
|
490
|
+
|
|
491
|
+
_proto.ruleVendorPrefixes = function ruleVendorPrefixes(decl) {
|
|
492
|
+
var parent = decl.parent;
|
|
493
|
+
|
|
494
|
+
if (parent.type !== 'rule') {
|
|
495
|
+
return false;
|
|
496
|
+
} else if (!parent.selector.includes(':-')) {
|
|
497
|
+
return false;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
var selectors = Browsers.prefixes().filter(function (s) {
|
|
501
|
+
return parent.selector.includes(':' + s);
|
|
502
|
+
});
|
|
503
|
+
return selectors.length > 0 ? selectors : false;
|
|
476
504
|
};
|
|
477
505
|
|
|
478
506
|
return Transition;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autoprefixer",
|
|
3
|
-
"version": "9.7.
|
|
3
|
+
"version": "9.7.1",
|
|
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>",
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"browserslist": "^4.7.2",
|
|
14
|
-
"caniuse-lite": "^1.0.
|
|
14
|
+
"caniuse-lite": "^1.0.30001006",
|
|
15
15
|
"chalk": "^2.4.2",
|
|
16
16
|
"normalize-range": "^0.1.2",
|
|
17
17
|
"num2fraction": "^1.2.2",
|
|
18
|
-
"postcss": "^7.0.
|
|
18
|
+
"postcss": "^7.0.21",
|
|
19
19
|
"postcss-value-parser": "^4.0.2"
|
|
20
20
|
},
|
|
21
21
|
"bin": {
|