autoprefixer 1.0.20140110 → 1.0.20140213
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 +19 -3
- package/README.md +42 -15
- package/data/browsers.js +15 -16
- package/data/prefixes.js +48 -48
- package/lib/binary.js +54 -47
- package/lib/browsers.js +14 -13
- package/lib/declaration.js +6 -7
- package/lib/hacks/align-content.js +4 -5
- package/lib/hacks/align-items.js +4 -5
- package/lib/hacks/align-self.js +4 -5
- package/lib/hacks/border-image.js +2 -3
- package/lib/hacks/border-radius.js +9 -10
- package/lib/hacks/fill-available.js +2 -3
- package/lib/hacks/filter.js +3 -4
- package/lib/hacks/flex-basis.js +6 -7
- package/lib/hacks/flex-direction.js +6 -7
- package/lib/hacks/flex-flow.js +4 -5
- package/lib/hacks/flex-grow.js +4 -5
- package/lib/hacks/flex-shrink.js +6 -7
- package/lib/hacks/flex-wrap.js +2 -3
- package/lib/hacks/flex.js +4 -5
- package/lib/hacks/fullscreen.js +2 -3
- package/lib/hacks/gradient.js +23 -23
- package/lib/hacks/justify-content.js +4 -5
- package/lib/hacks/order.js +4 -5
- package/lib/hacks/placeholder.js +2 -3
- package/lib/hacks/transform.js +2 -3
- package/lib/hacks/transition.js +37 -0
- package/lib/keyframes.js +2 -3
- package/lib/prefixes.js +45 -35
- package/lib/processor.js +59 -51
- package/lib/selector.js +6 -5
- package/lib/updater.js +54 -50
- package/lib/utils.js +2 -2
- package/lib/value.js +7 -8
- package/package.json +6 -6
- package/updaters/browsers.js +58 -58
- package/updaters/prefixes.js +220 -173
package/ChangeLog.md
CHANGED
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
* Use browserify to build standalone version.
|
|
21
21
|
|
|
22
22
|
### 20131225:
|
|
23
|
-
|
|
24
23
|
* Fix deprecated API convertor.
|
|
25
24
|
* Add ::placeholder support for Firefix >= 18.
|
|
26
25
|
* Fix vendor prefixes order.
|
|
@@ -30,16 +29,33 @@
|
|
|
30
29
|
* Update browsers popularity statistics.
|
|
31
30
|
|
|
32
31
|
### 20140109:
|
|
33
|
-
|
|
34
32
|
* Add selectors and at-rules sections to debug info.
|
|
35
33
|
* Fix outdated prefixes cleaning.
|
|
36
34
|
|
|
37
35
|
### 20140110:
|
|
38
|
-
|
|
39
36
|
* Add `Firefox ESR` browser requirement.
|
|
40
37
|
* Opera 18 is moved to released versions.
|
|
41
38
|
* Add Opera 20 data.
|
|
42
39
|
|
|
40
|
+
### 20140117:
|
|
41
|
+
* Chrome 32 is moved to released versions.
|
|
42
|
+
* Add Opera 34 data.
|
|
43
|
+
|
|
44
|
+
### 20140130:
|
|
45
|
+
* Fix flexbox properties names in transitions.
|
|
46
|
+
* Add Chrome 35 and Firefox 29 data.
|
|
47
|
+
|
|
48
|
+
### 20140203:
|
|
49
|
+
* Android 4.4 stock browser and Opera 19 are moved to released versions.
|
|
50
|
+
* Add Opera 21 data.
|
|
51
|
+
* Update browsers usage statistics.
|
|
52
|
+
|
|
53
|
+
### 20140213
|
|
54
|
+
* Add case insensitive to IE’s filter hack (by Dominik Schilling).
|
|
55
|
+
* Improve selector prefixing in some rare cases (by Simon Lydell).
|
|
56
|
+
* Firefox 27 is moved to released versions.
|
|
57
|
+
* Add Firefox 30 data.
|
|
58
|
+
|
|
43
59
|
## 0.8 “Unbowed, Unbent, Unbroken”
|
|
44
60
|
* Add more browsers to defaults ("> 1%, last 2 versions, ff 17, opera 12.1"
|
|
45
61
|
instead of just "last 2 browsers").
|
package/README.md
CHANGED
|
@@ -40,11 +40,16 @@ to apply prefixes for you:
|
|
|
40
40
|
}
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
[@autoprefixer](https://twitter.com/autoprefixer).
|
|
43
|
+
You can play with your CSS in [interactive demo] of Autoprefixer.
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
Twitter account for news and releases: [@autoprefixer].
|
|
46
|
+
|
|
47
|
+
Sponsored by [Evil Martians]. Based on [PostCSS] framework.
|
|
48
|
+
|
|
49
|
+
[interactive demo]: http://jsfiddle.net/simevidas/udyTs/show/light/
|
|
50
|
+
[@autoprefixer]: https://twitter.com/autoprefixer
|
|
51
|
+
[Evil Martians]: http://evilmartians.com/
|
|
52
|
+
[PostCSS]: https://github.com/ai/postcss
|
|
48
53
|
|
|
49
54
|
## Features
|
|
50
55
|
|
|
@@ -115,9 +120,9 @@ a {
|
|
|
115
120
|
}
|
|
116
121
|
```
|
|
117
122
|
|
|
118
|
-
Autoprefixer has [22 special
|
|
123
|
+
Autoprefixer has [22 special hacks] to fix browser’s differences.
|
|
119
124
|
|
|
120
|
-
[22 special
|
|
125
|
+
[22 special hacks]: https://github.com/ai/autoprefixer/tree/master/lib/hacks
|
|
121
126
|
|
|
122
127
|
### Fast
|
|
123
128
|
|
|
@@ -150,7 +155,8 @@ autoprefixer("last 1 version", "> 1%", "Explorer 7").process(css).css;
|
|
|
150
155
|
Google.
|
|
151
156
|
* `last 2 Chrome versions` is last versions of specify browser.
|
|
152
157
|
* `> 5%` is browser versions, selected by global usage statistics.
|
|
153
|
-
* `Firefox > 20`
|
|
158
|
+
* `Firefox > 20` is Firefox newer versions than 20.
|
|
159
|
+
* `Firefox >= 20` is Firefox version 20 or newer.
|
|
154
160
|
* `Firefix ESR` is latest [Firefox ESR] version.
|
|
155
161
|
* `none` don’t set any browsers to clean CSS from any vendor prefixes.
|
|
156
162
|
* You can also set browsers directly.
|
|
@@ -180,10 +186,10 @@ By default, Autoprefixer uses `> 1%, last 2 versions, Firefox ESR, Opera 12.1`:
|
|
|
180
186
|
|
|
181
187
|
## Source Map
|
|
182
188
|
|
|
183
|
-
Autoprefixer will generate source map
|
|
189
|
+
Autoprefixer will generate a source map if you set `map` option to `true`.
|
|
184
190
|
|
|
185
191
|
You must set input and output CSS files paths (by `from` and `to` options)
|
|
186
|
-
to generate correct map.
|
|
192
|
+
to generate a correct map.
|
|
187
193
|
|
|
188
194
|
```js
|
|
189
195
|
var result = autoprefixer.process(css, {
|
|
@@ -234,13 +240,30 @@ autoprefixer -i
|
|
|
234
240
|
No. Autoprefixer only adds prefixes, not polyfills. There are two reasons:
|
|
235
241
|
|
|
236
242
|
1. Prefixes and polyfills are very different and need a different API.
|
|
237
|
-
Two separate libraries would be
|
|
243
|
+
Two separate libraries would be much better.
|
|
238
244
|
2. Most of IE polyfills are very bad for client perfomance. They use slow hacks
|
|
239
245
|
and old IEs is mostly used on old hardware. Most of CSS 3 features that is
|
|
240
246
|
only used for styling should be ignored in old IEs as it is recommended in
|
|
241
247
|
Graceful Degradation.
|
|
242
248
|
|
|
243
|
-
### Why
|
|
249
|
+
### Why don’t gradients work in Firefox?
|
|
250
|
+
|
|
251
|
+
Check that you use correct [direction syntax]. For example, you should use
|
|
252
|
+
`to bottom` instead of `top`:
|
|
253
|
+
|
|
254
|
+
```css
|
|
255
|
+
a {
|
|
256
|
+
background: linear-gradient(to bottom, white, black)
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Unfortunately, unprefixed gradients use different direction syntax, that most
|
|
261
|
+
of old gradients examples, so be careful and use always latest W3C specs with
|
|
262
|
+
Autoprefixer.
|
|
263
|
+
|
|
264
|
+
[direction syntax]: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
|
|
265
|
+
|
|
266
|
+
### Why doesn’t Autoprefixer add prefixes to `border-radius`?
|
|
244
267
|
|
|
245
268
|
Developers are often surprised by how few prefixes are required today.
|
|
246
269
|
If Autoprefixer doesn’t add prefixes to your CSS, check if they’re still
|
|
@@ -251,9 +274,9 @@ incorrectly, please
|
|
|
251
274
|
[report an issue](https://github.com/ai/autoprefixer/issues/new)
|
|
252
275
|
and include your source CSS and expected output.
|
|
253
276
|
|
|
254
|
-
### Why
|
|
277
|
+
### Why doesn’t Autoprefixer support `appearance`?
|
|
255
278
|
|
|
256
|
-
|
|
279
|
+
Unlike `transition`, the `appearance` property is not a part of
|
|
257
280
|
any specification. So there is no `appearance`, only `-moz-appearance`
|
|
258
281
|
and `-webkit-appearance`. Quote from [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-appearance):
|
|
259
282
|
|
|
@@ -292,12 +315,16 @@ require 'csso'
|
|
|
292
315
|
on_stylesheet_saved do |file|
|
|
293
316
|
css = File.read(file)
|
|
294
317
|
File.open(file, 'w') do |io|
|
|
295
|
-
io << AutoprefixerRails.
|
|
318
|
+
io << AutoprefixerRails.process(css)
|
|
296
319
|
end
|
|
297
320
|
end
|
|
298
321
|
```
|
|
299
322
|
|
|
300
|
-
You can set browsers array as second argument in `
|
|
323
|
+
You can set browsers array as second argument in `process` method:
|
|
324
|
+
|
|
325
|
+
```ruby
|
|
326
|
+
io << AutoprefixerRails.process(css, ["last 1 version", "> 1%", "Explorer 7"])
|
|
327
|
+
```
|
|
301
328
|
|
|
302
329
|
### Stylus
|
|
303
330
|
|
package/data/browsers.js
CHANGED
|
@@ -3,48 +3,47 @@
|
|
|
3
3
|
android: {
|
|
4
4
|
prefix: "-webkit-",
|
|
5
5
|
minor: true,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
popularity: [0.53036, 0.53036, 2.31995, 1.15377, 0.00620307, 1.49494, 0.0992491, 0.0310153]
|
|
6
|
+
versions: [4.4, 4.3, 4.2, 4.1, 4, 3, 2.3, 2.2, 2.1],
|
|
7
|
+
popularity: [0.0894926, 0.74151, 0.74151, 2.29485, 1.0803, 0.00639233, 1.35517, 0.0831003, 0.0255693]
|
|
9
8
|
},
|
|
10
9
|
bb: {
|
|
11
10
|
prefix: "-webkit-",
|
|
12
11
|
minor: true,
|
|
13
12
|
versions: [10, 7],
|
|
14
|
-
popularity: [0, 0.
|
|
13
|
+
popularity: [0, 0.153316]
|
|
15
14
|
},
|
|
16
15
|
chrome: {
|
|
17
16
|
prefix: "-webkit-",
|
|
18
|
-
future: [
|
|
19
|
-
versions: [31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
|
|
20
|
-
popularity: [
|
|
17
|
+
future: [35, 34, 33],
|
|
18
|
+
versions: [32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
|
|
19
|
+
popularity: [15.5204, 15.3756, 0.411642, 0.480249, 0.274428, 0.312543, 0.221067, 0.121968, 0.068607, 0.083853, 0.121968, 0.480249, 0.045738, 0.038115, 0.099099, 0.030492, 0.038115, 0.068607, 0.045738, 0.053361, 0.060984, 0.121968, 0.038115, 0.015246, 0.022869, 0.022869, 0.030492, 0.022869, 0.022869]
|
|
21
20
|
},
|
|
22
21
|
ff: {
|
|
23
22
|
prefix: "-moz-",
|
|
24
|
-
future: [
|
|
25
|
-
versions: [26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3.6, 3.5, 3, 2],
|
|
26
|
-
popularity: [
|
|
23
|
+
future: [30, 29, 28],
|
|
24
|
+
versions: [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3.6, 3.5, 3, 2],
|
|
25
|
+
popularity: [0.472626, 11.9757, 0.411642, 0.266805, 0.15246, 0.137214, 0.15246, 0.114345, 0.106722, 0.099099, 0.137214, 0.160083, 0.099099, 0.07623, 0.083853, 0.175329, 0.07623, 0.106722, 0.045738, 0.068607, 0.030492, 0.045738, 0.038115, 0.060984, 0.251559, 0.038115, 0.091476, 0.015246]
|
|
27
26
|
},
|
|
28
27
|
ie: {
|
|
29
28
|
prefix: "-ms-",
|
|
30
29
|
versions: [11, 10, 9, 8, 7, 6, 5.5],
|
|
31
|
-
popularity: [
|
|
30
|
+
popularity: [6.40778, 3.74183, 3.18016, 5.65625, 0.213593, 0.28479, 0.009298]
|
|
32
31
|
},
|
|
33
32
|
ios: {
|
|
34
33
|
prefix: "-webkit-",
|
|
35
34
|
versions: [7, 6.1, 6, 5.1, 5, 4.3, 4.2, 4.1, 4, 3.2],
|
|
36
|
-
popularity: [
|
|
35
|
+
popularity: [4.18754, 0.4515445, 0.4515445, 0.1317005, 0.1317005, 0.01075105, 0.01075105, 0.00537555, 0.00537555, 0]
|
|
37
36
|
},
|
|
38
37
|
opera: {
|
|
39
38
|
prefix: "-o-",
|
|
40
|
-
future: [
|
|
41
|
-
versions: [18, 17, 16, 15, 12.1, 12, 11.6, 11.5, 11.1, 11, 10.6, 10.5, 10.1, 10, 9.6, 9.5],
|
|
42
|
-
popularity: [0.
|
|
39
|
+
future: [21, 20],
|
|
40
|
+
versions: [19, 18, 17, 16, 15, 12.1, 12, 11.6, 11.5, 11.1, 11, 10.6, 10.5, 10.1, 10, 9.6, 9.5],
|
|
41
|
+
popularity: [0.038115, 0.358281, 0.030492, 0.022869, 0.015246, 0.419265, 0.038115, 0.030492, 0.015246, 0.008219, 0.008219, 0.007623, 0.008392, 0.007623, 0.007623, 0.0038115, 0.0038115]
|
|
43
42
|
},
|
|
44
43
|
safari: {
|
|
45
44
|
prefix: "-webkit-",
|
|
46
45
|
versions: [7, 6.1, 6, 5.1, 5, 4, 3.2, 3.1],
|
|
47
|
-
popularity: [
|
|
46
|
+
popularity: [1.11296, 0.815661, 0.602217, 0.930006, 0.274428, 0.114345, 0.008692, 0]
|
|
48
47
|
}
|
|
49
48
|
};
|
|
50
49
|
|