autoprefixer 9.6.4 → 9.6.5

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 CHANGED
@@ -1,6 +1,9 @@
1
1
  # Change Log
2
2
  This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
+ ## 9.6.5
5
+ * Fix selector prefixing (by Andrey Alexandrov).
6
+
4
7
  ## 9.6.4
5
8
  * Now the real fix for `'startsWith' of undefined` error.
6
9
 
package/lib/selector.js CHANGED
@@ -4,6 +4,9 @@ function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaul
4
4
 
5
5
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
6
6
 
7
+ var _require = require('postcss'),
8
+ list = _require.list;
9
+
7
10
  var OldSelector = require('./old-selector');
8
11
 
9
12
  var Prefixer = require('./prefixer');
@@ -74,29 +77,66 @@ function (_Prefixer) {
74
77
  ;
75
78
 
76
79
  _proto.prefixeds = function prefixeds(rule) {
80
+ var _this2 = this;
81
+
77
82
  if (rule._autoprefixerPrefixeds) {
78
- return rule._autoprefixerPrefixeds;
83
+ if (rule._autoprefixerPrefixeds[this.name]) {
84
+ return rule._autoprefixerPrefixeds;
85
+ }
86
+ } else {
87
+ rule._autoprefixerPrefixeds = {};
79
88
  }
80
89
 
81
90
  var prefixeds = {};
82
91
 
83
- for (var _iterator = this.possible(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
84
- var _ref;
92
+ if (rule.selector.includes(',')) {
93
+ var ruleParts = list.comma(rule.selector);
94
+ var toProcess = ruleParts.filter(function (el) {
95
+ return el.includes(_this2.name);
96
+ });
97
+
98
+ var _loop = function _loop() {
99
+ if (_isArray) {
100
+ if (_i >= _iterator.length) return "break";
101
+ _ref = _iterator[_i++];
102
+ } else {
103
+ _i = _iterator.next();
104
+ if (_i.done) return "break";
105
+ _ref = _i.value;
106
+ }
107
+
108
+ var prefix = _ref;
109
+ prefixeds[prefix] = toProcess.map(function (el) {
110
+ return _this2.replace(el, prefix);
111
+ }).join(', ');
112
+ };
85
113
 
86
- if (_isArray) {
87
- if (_i >= _iterator.length) break;
88
- _ref = _iterator[_i++];
89
- } else {
90
- _i = _iterator.next();
91
- if (_i.done) break;
92
- _ref = _i.value;
114
+ for (var _iterator = this.possible(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
115
+ var _ref;
116
+
117
+ var _ret = _loop();
118
+
119
+ if (_ret === "break") break;
93
120
  }
121
+ } else {
122
+ for (var _iterator2 = this.possible(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
123
+ var _ref2;
124
+
125
+ if (_isArray2) {
126
+ if (_i2 >= _iterator2.length) break;
127
+ _ref2 = _iterator2[_i2++];
128
+ } else {
129
+ _i2 = _iterator2.next();
130
+ if (_i2.done) break;
131
+ _ref2 = _i2.value;
132
+ }
94
133
 
95
- var prefix = _ref;
96
- prefixeds[prefix] = this.replace(rule.selector, prefix);
134
+ var prefix = _ref2;
135
+ prefixeds[prefix] = this.replace(rule.selector, prefix);
136
+ }
97
137
  }
98
138
 
99
- rule._autoprefixerPrefixeds = prefixeds;
139
+ rule._autoprefixerPrefixeds[this.name] = prefixeds;
100
140
  return rule._autoprefixerPrefixeds;
101
141
  }
102
142
  /**
@@ -116,8 +156,8 @@ function (_Prefixer) {
116
156
 
117
157
  var some = false;
118
158
 
119
- for (var key in prefixeds) {
120
- var prefixed = prefixeds[key];
159
+ for (var key in prefixeds[this.name]) {
160
+ var prefixed = prefixeds[this.name][key];
121
161
 
122
162
  if (before.selector === prefixed) {
123
163
  if (prefix === key) {
@@ -159,7 +199,7 @@ function (_Prefixer) {
159
199
  }
160
200
 
161
201
  var cloned = this.clone(rule, {
162
- selector: prefixeds[prefix]
202
+ selector: prefixeds[this.name][prefix]
163
203
  });
164
204
  rule.parent.insertBefore(rule, cloned);
165
205
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoprefixer",
3
- "version": "9.6.4",
3
+ "version": "9.6.5",
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,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "browserslist": "^4.7.0",
14
- "caniuse-lite": "^1.0.30000998",
14
+ "caniuse-lite": "^1.0.30000999",
15
15
  "chalk": "^2.4.2",
16
16
  "normalize-range": "^0.1.2",
17
17
  "num2fraction": "^1.2.2",