Skip to content

Commit 150c2b6

Browse files
authoredMar 23, 2023
fix(css/codegen): Preserve raw of numbers (#7131)
**Description:** x-ref: https://vercel.slack.com/archives/C03EWR7LGEN/p1679513958649249
1 parent 42f7143 commit 150c2b6

File tree

18 files changed

+525
-523
lines changed

18 files changed

+525
-523
lines changed
 

‎crates/swc_css_codegen/src/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1680,6 +1680,8 @@ where
16801680
let minified = minify_numeric(n.value);
16811681

16821682
write_raw!(self, n.span, &minified);
1683+
} else if let Some(raw) = &n.raw {
1684+
write_raw!(self, n.span, raw);
16831685
} else {
16841686
write_raw!(self, n.span, &n.value.to_string());
16851687
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
div {
22
color: rgb(255, 255, 255);
3-
color: rgb(255, 255, 255, 0.5);
3+
color: rgb(255, 255, 255, .5);
44
color: rgb(255 255 255);
5-
color: rgb(255 255 255/ 0.5);
5+
color: rgb(255 255 255/ .5);
66
}

‎crates/swc_css_codegen/tests/fixture/packages/mvp_1_8_0/output.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ nav ul li ul {
142142
display: none;
143143
height: auto;
144144
left: -2px;
145-
padding: 0.5rem 1rem;
145+
padding: .5rem 1rem;
146146
position: absolute;
147147
top: 1.7rem;
148148
white-space: nowrap;

‎crates/swc_css_codegen/tests/fixture/packages/pure_2_0_6/output.css

+15-15
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ html {
254254
}
255255
.pure-u-1-8,
256256
.pure-u-3-24 {
257-
width: 12.5%;
257+
width: 12.5000%;
258258
}
259259
.pure-u-1-6,
260260
.pure-u-4-24 {
@@ -279,7 +279,7 @@ html {
279279
}
280280
.pure-u-3-8,
281281
.pure-u-9-24 {
282-
width: 37.5%;
282+
width: 37.5000%;
283283
}
284284
.pure-u-2-5 {
285285
width: 40%;
@@ -307,7 +307,7 @@ html {
307307
}
308308
.pure-u-5-8,
309309
.pure-u-15-24 {
310-
width: 62.5%;
310+
width: 62.5000%;
311311
}
312312
.pure-u-2-3,
313313
.pure-u-16-24 {
@@ -332,7 +332,7 @@ html {
332332
}
333333
.pure-u-7-8,
334334
.pure-u-21-24 {
335-
width: 87.5%;
335+
width: 87.5000%;
336336
}
337337
.pure-u-11-12,
338338
.pure-u-22-24 {
@@ -384,7 +384,7 @@ html {
384384
font-family: inherit;
385385
font-size: 100%;
386386
padding: 0.5em 1em;
387-
color: rgba(0, 0, 0, 0.8);
387+
color: rgba(0, 0, 0, 0.80);
388388
border: none rgba(0, 0, 0, 0);
389389
background-color: #e6e6e6;
390390
text-decoration: none;
@@ -393,16 +393,16 @@ html {
393393
.pure-button-hover,
394394
.pure-button:hover,
395395
.pure-button:focus {
396-
background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.1)));
397-
background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1));
396+
background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.10)));
397+
background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.10));
398398
}
399399
.pure-button:focus {
400400
outline: 0;
401401
}
402402
.pure-button-active,
403403
.pure-button:active {
404-
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.2) inset;
405-
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.2) inset;
404+
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.20) inset;
405+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.20) inset;
406406
border-color: #000;
407407
}
408408
.pure-button[disabled],
@@ -412,7 +412,7 @@ html {
412412
.pure-button-disabled:active {
413413
border: none;
414414
background-image: none;
415-
opacity: 0.4;
415+
opacity: 0.40;
416416
cursor: not-allowed;
417417
-webkit-box-shadow: none;
418418
box-shadow: none;
@@ -845,18 +845,18 @@ a.pure-button-selected {
845845
white-space: nowrap;
846846
overflow-y: hidden;
847847
overflow-x: auto;
848-
padding: 0.5em 0;
848+
padding: .5em 0;
849849
}
850850
.pure-menu-separator,
851851
.pure-menu-horizontal .pure-menu-children .pure-menu-separator {
852852
background-color: #ccc;
853853
height: 1px;
854-
margin: 0.3em 0;
854+
margin: .3em 0;
855855
}
856856
.pure-menu-horizontal .pure-menu-separator {
857857
width: 1px;
858858
height: 1.3em;
859-
margin: 0 0.3em;
859+
margin: 0 .3em;
860860
}
861861
.pure-menu-horizontal .pure-menu-children .pure-menu-separator {
862862
display: block;
@@ -874,10 +874,10 @@ a.pure-button-selected {
874874
}
875875
.pure-menu-link,
876876
.pure-menu-heading {
877-
padding: 0.5em 1em;
877+
padding: .5em 1em;
878878
}
879879
.pure-menu-disabled {
880-
opacity: 0.5;
880+
opacity: .5;
881881
}
882882
.pure-menu-disabled .pure-menu-link:hover {
883883
background-color: transparent;

‎crates/swc_css_codegen/tests/fixture/packages/tachyons_4_12_0/output.css

+388-388
Large diffs are not rendered by default.

‎crates/swc_css_codegen/tests/fixture/style-blocks-contents/hacks/output.css

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
.selector {
88
[;property: value;];}
99
@media \\0 screen {}
10-
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
10+
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
1111
.selector {}
1212
}
1313
body:empty .selector {}
@@ -22,8 +22,8 @@ body:not(:-moz-handler-blocked) .selector {}
2222
@media screen and (min--moz-device-pixel-ratio: 0) {}
2323
_::-moz-progress-bar,
2424
body:last-child .selector {}
25-
@media all and (min--moz-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {}
26-
@media all and (-moz-images-in-menus: 0) and (min-resolution: 0.001dpcm) {}
25+
@media all and (min--moz-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {}
26+
@media all and (-moz-images-in-menus: 0) and (min-resolution: .001dpcm) {}
2727
@media all and (min--moz-device-pixel-ratio: 0) {
2828
@media (min-width: 0px) {}
2929
}
@@ -39,7 +39,7 @@ body:last-child .selector {}
3939
@supports (-moz-appearance: meterbar) and (image-orientation: 90deg) {}
4040
@supports (-moz-appearance: meterbar) and (all: initial) {}
4141
@supports (-moz-appearance: meterbar) and (list-style-type: japanese-formal) {}
42-
@media all and (min--moz-device-pixel-ratio: 0) and (min-resolution: 30dpcm) {}
42+
@media all and (min--moz-device-pixel-ratio: 0) and (min-resolution: 3e1dpcm) {}
4343
@supports (-moz-appearance: meterbar) and (background-blend-mode: difference, normal) {}
4444
_:-moz-tree-row(hover),
4545
.selector {}
@@ -159,12 +159,12 @@ html:first-child .selector {}
159159
_:-o-prefocus,
160160
body:last-child .selector {}
161161
@media all and (-webkit-min-device-pixel-ratio: 10000), not all and (-webkit-min-device-pixel-ratio: 0) {}
162-
@media (min-resolution: 0.001dpcm) {
162+
@media (min-resolution: .001dpcm) {
163163
_:-o-prefocus,
164164
.selector {}
165165
}
166166
*|html[xmlns*=""] .selector {}
167-
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
167+
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
168168
.selector {}
169169
}
170170
.selector:not(*:root) {}
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
div {
22
color: rgb(255, 255, 255);
33
color: hwb(1.5708rad 20% 10% / 0.7);
4-
color: hsla(30, 100%, 50%, 0.3);
4+
color: hsla(30, 100%, 50%, .3);
55
color: hsl(30, 100%, 50%);
66
color: rgb(214, 122, 127);
7-
border: 4mm ridge rgba(170, 50, 220, 0.6);
8-
border-color: red rgba(170, 50, 220, 0.6) green;
9-
border-color: red yellow green hsla(60, 90%, 50%, 0.8);
7+
border: 4mm ridge rgba(170, 50, 220, .6);
8+
border-color: red rgba(170, 50, 220, .6) green;
9+
border-color: red yellow green hsla(60, 90%, 50%, .8);
1010
prop: rgb(255, 255, 255) rgb(255, 255, 255);
1111
}
1212
.rgb-and-rgba {
1313
color: rgb(34, 12, 64, 0.6);
1414
color: rgba(34, 12, 64, 0.6);
1515
color: rgb(34 12 64/ 0.6);
1616
color: rgba(34 12 64/ 0.3);
17-
color: rgb(34 12 64/ 60%);
17+
color: rgb(34.0 12 64/ 60%);
1818
color: rgba(34.6 12 64/ 30%);
1919
}
2020
.hsl-and-hsla {
2121
color: hsl(30, 100%, 50%, 0.6);
2222
color: hsla(30, 100%, 50%, 0.6);
2323
color: hsl(30 100% 50% / 0.6);
2424
color: hsla(30 100% 50% / 0.6);
25-
color: hsl(30 100% 50% / 60%);
25+
color: hsl(30.0 100% 50% / 60%);
2626
color: hsla(30.2 100% 50% / 60%);
2727
}
2828
.hwb {
2929
color: hwb(90 10% 10%);
3030
color: hwb(90 10% 10% / 0.5);
3131
color: hwb(90deg 10% 10%);
3232
color: hwb(1.5708rad 60% 0%);
33-
color: hwb(0.25turn 0% 40% / 50%);
33+
color: hwb(.25turn 0% 40% / 50%);
3434
}

‎crates/swc_css_codegen/tests/fixture/values/number/output.css

+57-57
Original file line numberDiff line numberDiff line change
@@ -9,73 +9,73 @@ div {
99
property: 10;
1010
property: -10;
1111
property: 0.1;
12-
property: 0.1;
13-
property: -0.1;
12+
property: +0.1;
1413
property: -0.1;
15-
property: 0.1;
14+
property: -.1;
15+
property: +.1;
1616
property: 0;
1717
property: 10;
18-
property: 0.1;
18+
property: .10;
1919
property: 12.34;
2020
property: 0.1;
21-
property: 1;
22-
property: 0;
23-
property: 0;
24-
property: -0;
25-
property: 0;
26-
property: 1.2;
27-
property: 120;
28-
property: 100;
29-
property: 20;
30-
property: 120;
31-
property: 120;
32-
property: 0.012;
21+
property: 1.0;
22+
property: 0.0;
23+
property: +0.0;
24+
property: -0.0;
25+
property: .0;
26+
property: 1.200000;
27+
property: 1.2e2;
28+
property: 1e2;
29+
property: .2e2;
30+
property: 1.2E2;
31+
property: 1.2e+2;
32+
property: 1.2e-2;
3333
property: -1;
3434
property: -1.2;
35-
property: 0.2;
36-
property: -0.2;
37-
property: 0.2;
38-
property: -1200;
39-
property: 1.75;
35+
property: .2;
36+
property: -.2;
37+
property: +.2;
38+
property: -1.2e3;
4039
property: 1.75;
41-
property: 1;
42-
property: 10;
43-
property: 10;
44-
property: 0.1;
45-
property: 0.0000000001;
40+
property: +1.75;
41+
property: 1e0;
42+
property: 1e1;
43+
property: 1e+1;
44+
property: 1e-1;
45+
property: 1e-10;
4646
property: 1 2;
4747
property: 1 -2;
4848
property: 4.01;
4949
property: -456.8;
50-
property: 0.6;
51-
property: 0.006;
52-
property: 10000;
53-
property: -0.034;
54-
property: 0.56;
55-
property: 10000000;
50+
property: .60;
51+
property: .0060;
52+
property: 10e3;
53+
property: -3.4e-2;
54+
property: 0.5600000000;
55+
property: 10e6;
5656
property: 10000000;
57-
property: 0;
58-
property: -0;
59-
property: 0;
60-
property: 0;
61-
property: 1;
62-
property: 10;
63-
property: 100;
64-
property: 1000;
65-
property: 10000;
66-
property: 100000;
67-
property: 1;
68-
property: 0.1;
69-
property: 0.01;
70-
property: 0.001;
71-
property: 0.0001;
72-
property: 0.00001;
73-
property: -1;
74-
property: -0.1;
75-
property: -0.01;
76-
property: -0.001;
77-
property: -0.0001;
78-
property: -0.00001;
57+
property: 0.0;
58+
property: -0.0;
59+
property: +0.0;
60+
property: 0.00;
61+
property: 1e0;
62+
property: 1e1;
63+
property: 1e2;
64+
property: 1e3;
65+
property: 1e4;
66+
property: 1e5;
67+
property: 1e-0;
68+
property: 1e-1;
69+
property: 1e-2;
70+
property: 1e-3;
71+
property: 1e-4;
72+
property: 1e-5;
73+
property: -1e-0;
74+
property: -1e-1;
75+
property: -1e-2;
76+
property: -1e-3;
77+
property: -1e-4;
78+
property: -1e-5;
7979
property: 0.1;
8080
property: 0.01;
8181
property: 0.001;
@@ -90,12 +90,12 @@ div {
9090
property: 0.000005;
9191
property: 0.000015;
9292
property: 0.00001543;
93-
property: 0.00001543;
93+
property: 0.00001543000;
9494
property: 0;
9595
property: 0;
9696
property: 0;
97-
property: 0.001001;
98-
property: 0.0001001;
97+
property: 100.1e-5;
98+
property: 100.1e-6;
9999
property: 10001000000;
100100
}
101101
div {

‎crates/swc_css_codegen/tests/fixture/values/percentage/output.css

+19-19
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,34 @@ div {
1818
background: rgba(0, 0, 0, 0) image-set(url("image.png") 1x) repeat scroll 0% 0%;
1919
}
2020
div {
21-
width: 100%;
21+
width: 100.00%;
2222
width: 100.01%;
2323
}
2424
div {
2525
width: 0%;
2626
width: 0.1%;
2727
width: 100%;
2828
width: 100.5%;
29-
width: 100.1%;
30-
width: 1%;
31-
width: 10%;
32-
width: 100%;
33-
width: 1%;
34-
width: 0.0001%;
35-
width: 1000%;
36-
width: 1200%;
37-
width: 0%;
29+
width: 100.1000%;
30+
width: 1e0%;
31+
width: 1e1%;
32+
width: 1e2%;
33+
width: 10e-1%;
34+
width: 10e-5%;
35+
width: 10e+2%;
36+
width: 12e+2%;
37+
width: +0%;
3838
width: -0%;
39-
width: 0%;
40-
width: 0%;
41-
width: 10.5%;
39+
width: +0000%;
40+
width: 0000%;
4241
width: 10.5%;
43-
width: 10%;
44-
width: 0%;
45-
width: -0%;
46-
width: 1000%;
47-
width: 1000000%;
48-
width: 1000000%;
42+
width: 10.5000%;
43+
width: 10.0%;
44+
width: 0.0%;
45+
width: -0.0%;
46+
width: 10.0e2%;
47+
width: 10.0e5%;
48+
width: 10.0E5%;
4949
}
5050
.geist-list {
5151
display: flex;

‎crates/swc_css_compat/tests/color-legacy/input.expect.css

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.test-rgb {
22
color: rgb(178, 34, 34);
33
color: rgba(178, 34, 34, 1);
4-
color: rgba(178, 34, 34, 0.5);
4+
color: rgba(178, 34, 34, .5);
55
color: rgba(178, 34, 34, 1);
66
color: rgba(178, 34, 34, 0.5);
77
color: rgba(178, 34, 34, var(--alpha-50));
@@ -10,7 +10,7 @@
1010
.test-rgba {
1111
color: rgb(178, 34, 34);
1212
color: rgba(178, 34, 34, 1);
13-
color: rgba(178, 34, 34, 0.5);
13+
color: rgba(178, 34, 34, .5);
1414
color: rgba(178, 34, 34, var(--alpha-50));
1515
color: rgba(178, 34, 34, calc(1 / 2));
1616
}
@@ -24,7 +24,7 @@
2424
color: hsl(120, 100%, 50%);
2525
color: hsl(120, 100%, 50%);
2626
color: hsla(120, 100%, 50%, 1);
27-
color: hsla(120, 100%, 50%, 0.5);
27+
color: hsla(120, 100%, 50%, .5);
2828
color: hsla(120, 100%, 50%, 1);
2929
color: hsla(120, 100%, 50%, 0.5);
3030
color: hsl(120, 100%, 50%);
@@ -37,7 +37,7 @@
3737
.test-hsla {
3838
color: hsl(120, 100%, 50%);
3939
color: hsla(120, 100%, 50%, 1);
40-
color: hsla(120, 100%, 50%, 0.5);
40+
color: hsla(120, 100%, 50%, .5);
4141
color: hsla(120, 100%, 50%, 1);
4242
color: hsla(120, 100%, 50%, 0.5);
4343
color: hsla(120, 100%, 50%, var(--alpha-50));
@@ -47,7 +47,7 @@
4747
color: hwb(0deg 0% 0%);
4848
color: hwb(0 0% 0%);
4949
color: hwb(0 0% 0% / 1);
50-
color: hwb(0 0% 0% / 0.5);
50+
color: hwb(0 0% 0% / .5);
5151
color: hwb(0 0% 0% / 100%);
5252
color: hwb(0 0% 0% / 50%);
5353
}

‎crates/swc_css_compat/tests/media-query-ranges/input.expect.css

+6-6
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
color: red;
101101
}
102102
}
103-
@media screen and ((min-resolution: 0.5dppx) and (max-resolution: 2.5dppx)) {
103+
@media screen and ((min-resolution: .5dppx) and (max-resolution: 2.5dppx)) {
104104
a {
105105
color: red;
106106
}
@@ -155,7 +155,7 @@
155155
color: red;
156156
}
157157
}
158-
@media screen and (min-width: -0.58px) and (max-width: 0.99px) {
158+
@media screen and (min-width: -0.58px) and (max-width: .99px) {
159159
a {
160160
color: red;
161161
}
@@ -280,7 +280,7 @@
280280
color: red;
281281
}
282282
}
283-
@media screen and (device-width) and ((min-device-width: 0.08px) and (max-device-width: 0.68px)) {
283+
@media screen and (device-width) and ((min-device-width: .08px) and (max-device-width: 0.68px)) {
284284
a {
285285
color: red;
286286
}
@@ -300,7 +300,7 @@
300300
color: red;
301301
}
302302
}
303-
@media screen and (device-height) and ((min-device-height: 0.08px) and (max-device-height: 0.68px)) {
303+
@media screen and (device-height) and ((min-device-height: .08px) and (max-device-height: 0.68px)) {
304304
a {
305305
color: red;
306306
}
@@ -390,7 +390,7 @@
390390
color: red;
391391
}
392392
}
393-
@media screen and (width) and ((min-width: 0.08px) and (max-width: 0.68px)) {
393+
@media screen and (width) and ((min-width: .08px) and (max-width: 0.68px)) {
394394
a {
395395
color: red;
396396
}
@@ -410,7 +410,7 @@
410410
color: red;
411411
}
412412
}
413-
@media screen and (height) and ((min-height: 0.08px) and (max-height: 0.68px)) {
413+
@media screen and (height) and ((min-height: .08px) and (max-height: 0.68px)) {
414414
a {
415415
color: red;
416416
}

‎crates/swc_css_compat/tests/nesting/basic/input.expect.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ figure > figcaption {
6565
background: hsl(0 0% 0% / 50%);
6666
}
6767
figure > figcaption > p {
68-
font-size: 0.9rem;
68+
font-size: .9rem;
6969
}
7070
.foo {
7171
color: blue;
@@ -186,7 +186,7 @@ figure > figcaption {
186186
background: hsl(0 0% 0% / 50%);
187187
}
188188
figure > figcaption > p {
189-
font-size: 0.9rem;
189+
font-size: .9rem;
190190
}
191191
@layer base {
192192
html {

‎crates/swc_css_prefixer/tests/fixture/animation/output.css

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
animation-iteration-count: infinite;
2424
}
2525
.class {
26-
-webkit-animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
27-
-moz-animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
28-
-o-animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
29-
animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
26+
-webkit-animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
27+
-moz-animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
28+
-o-animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
29+
animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
3030
}
3131
.class {
3232
-webkit-animation-direction: alternate;

‎crates/swc_css_prefixer/tests/fixture/animation/output.defaults-not-ie-11.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
animation-iteration-count: infinite;
1212
}
1313
.class {
14-
animation-timing-function: cubic-bezier(0.1, 0.7, 1, 0.1);
14+
animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
1515
}
1616
.class {
1717
animation-direction: alternate;
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
dialog::-webkit-backdrop {
2-
background: rgba(255, 0, 0, 0.25);
2+
background: rgba(255, 0, 0, .25);
33
}
44
dialog::-ms-backdrop {
5-
background: rgba(255, 0, 0, 0.25);
5+
background: rgba(255, 0, 0, .25);
66
}
77
dialog::backdrop {
8-
background: rgba(255, 0, 0, 0.25);
8+
background: rgba(255, 0, 0, .25);
99
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
dialog::backdrop {
2-
background: rgba(255, 0, 0, 0.25);
2+
background: rgba(255, 0, 0, .25);
33
}

‎crates/swc_css_prefixer/tests/fixture/cross-fade/output.css

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ h2 {
1616
}
1717
h3 {
1818
background-image: -webkit-cross-fade(url(foo.png), url(bar.png), 0.59);
19-
background-image: cross-fade(0.59 url(foo.png), url(bar.png));
19+
background-image: cross-fade(.59 url(foo.png), url(bar.png));
2020
}
2121
.foo {
2222
background-image: -webkit-cross-fade(-webkit-linear-gradient(white, black), -webkit-radial-gradient(circle closest-corner, white, black), 0.59);
23-
background-image: cross-fade(0.59 -moz-linear-gradient(white, black), -moz-radial-gradient(circle closest-corner, white, black));
24-
background-image: cross-fade(0.59 -o-linear-gradient(white, black), -o-radial-gradient(circle closest-corner, white, black));
25-
background-image: cross-fade(0.59 linear-gradient(white, black), radial-gradient(circle closest-corner, white, black));
23+
background-image: cross-fade(.59 -moz-linear-gradient(white, black), -moz-radial-gradient(circle closest-corner, white, black));
24+
background-image: cross-fade(.59 -o-linear-gradient(white, black), -o-radial-gradient(circle closest-corner, white, black));
25+
background-image: cross-fade(.59 linear-gradient(white, black), radial-gradient(circle closest-corner, white, black));
2626
}
2727
.class {
2828
background-image: -webkit-cross-fade(url(white.png), url(black.png), 0);

‎crates/swc_css_prefixer/tests/fixture/cross-fade/output.defaults-not-ie-11.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ h2 {
1616
}
1717
h3 {
1818
background-image: -webkit-cross-fade(url(foo.png), url(bar.png), 0.59);
19-
background-image: cross-fade(0.59 url(foo.png), url(bar.png));
19+
background-image: cross-fade(.59 url(foo.png), url(bar.png));
2020
}
2121
.foo {
2222
background-image: -webkit-cross-fade(linear-gradient(white, black), radial-gradient(circle closest-corner, white, black), 0.59);
23-
background-image: cross-fade(0.59 linear-gradient(white, black), radial-gradient(circle closest-corner, white, black));
23+
background-image: cross-fade(.59 linear-gradient(white, black), radial-gradient(circle closest-corner, white, black));
2424
}
2525
.class {
2626
background-image: -webkit-cross-fade(url(white.png), url(black.png), 0);

1 commit comments

Comments
 (1)

github-actions[bot] commented on Mar 23, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 150c2b6 Previous: dfe1a3f Ratio
es/full/bugs-1 306309 ns/iter (± 10598) 299338 ns/iter (± 12160) 1.02
es/full/minify/libraries/antd 1544331036 ns/iter (± 23836829) 1530115211 ns/iter (± 22055664) 1.01
es/full/minify/libraries/d3 297905755 ns/iter (± 9277237) 286425213 ns/iter (± 5395147) 1.04
es/full/minify/libraries/echarts 1189776727 ns/iter (± 20333102) 1158154835 ns/iter (± 18380567) 1.03
es/full/minify/libraries/jquery 90570410 ns/iter (± 701335) 88933628 ns/iter (± 832663) 1.02
es/full/minify/libraries/lodash 105047033 ns/iter (± 821945) 103476316 ns/iter (± 963530) 1.02
es/full/minify/libraries/moment 52333234 ns/iter (± 322107) 51822978 ns/iter (± 390190) 1.01
es/full/minify/libraries/react 19088112 ns/iter (± 128857) 18860386 ns/iter (± 133921) 1.01
es/full/minify/libraries/terser 246278714 ns/iter (± 2059315) 236310603 ns/iter (± 3340804) 1.04
es/full/minify/libraries/three 429377063 ns/iter (± 5787317) 418281429 ns/iter (± 6421719) 1.03
es/full/minify/libraries/typescript 2952679163 ns/iter (± 22958557) 2867710124 ns/iter (± 23607323) 1.03
es/full/minify/libraries/victory 636812459 ns/iter (± 12551148) 635776845 ns/iter (± 7474258) 1.00
es/full/minify/libraries/vue 130622693 ns/iter (± 1354843) 128648918 ns/iter (± 1868562) 1.02
es/full/codegen/es3 28414 ns/iter (± 56) 29011 ns/iter (± 37) 0.98
es/full/codegen/es5 28402 ns/iter (± 58) 29071 ns/iter (± 108) 0.98
es/full/codegen/es2015 28451 ns/iter (± 88) 28721 ns/iter (± 285) 0.99
es/full/codegen/es2016 28459 ns/iter (± 87) 28874 ns/iter (± 277) 0.99
es/full/codegen/es2017 28487 ns/iter (± 75) 28677 ns/iter (± 287) 0.99
es/full/codegen/es2018 28404 ns/iter (± 66) 28770 ns/iter (± 289) 0.99
es/full/codegen/es2019 28480 ns/iter (± 40) 29032 ns/iter (± 258) 0.98
es/full/codegen/es2020 28422 ns/iter (± 68) 29012 ns/iter (± 199) 0.98
es/full/all/es3 182764945 ns/iter (± 3474970) 181516665 ns/iter (± 2436416) 1.01
es/full/all/es5 174606539 ns/iter (± 2124503) 173602577 ns/iter (± 3464624) 1.01
es/full/all/es2015 139853870 ns/iter (± 2481156) 137590364 ns/iter (± 1567222) 1.02
es/full/all/es2016 136235429 ns/iter (± 1955167) 134337214 ns/iter (± 1447116) 1.01
es/full/all/es2017 135653999 ns/iter (± 1430636) 132406237 ns/iter (± 1994064) 1.02
es/full/all/es2018 131222362 ns/iter (± 2801201) 127966435 ns/iter (± 1983365) 1.03
es/full/all/es2019 130767849 ns/iter (± 1986608) 126490191 ns/iter (± 1786442) 1.03
es/full/all/es2020 120358561 ns/iter (± 859006) 118710883 ns/iter (± 397802) 1.01
es/full/parser 541288 ns/iter (± 6884) 524403 ns/iter (± 9090) 1.03
es/full/base/fixer 22549 ns/iter (± 30) 21978 ns/iter (± 160) 1.03
es/full/base/resolver_and_hygiene 84239 ns/iter (± 102) 82210 ns/iter (± 579) 1.02
serialization of ast node 123 ns/iter (± 7) 123 ns/iter (± 0) 1
serialization of serde 129 ns/iter (± 0) 126 ns/iter (± 1) 1.02
css/minify/libraries/bootstrap 28572222 ns/iter (± 185171) 27980381 ns/iter (± 107003) 1.02
css/visitor/compare/clone 2100638 ns/iter (± 15670) 2054204 ns/iter (± 27558) 1.02
css/visitor/compare/visit_mut_span 2282154 ns/iter (± 6753) 2246346 ns/iter (± 9641) 1.02
css/visitor/compare/visit_mut_span_panic 2332024 ns/iter (± 8079) 2289427 ns/iter (± 16979) 1.02
css/visitor/compare/fold_span 3037640 ns/iter (± 24973) 3038809 ns/iter (± 30977) 1.00
css/visitor/compare/fold_span_panic 3187967 ns/iter (± 19918) 3135893 ns/iter (± 16670) 1.02
css/lexer/bootstrap_5_1_3 5184516 ns/iter (± 31029) 5050544 ns/iter (± 38395) 1.03
css/lexer/foundation_6_7_4 4362809 ns/iter (± 7304) 4264020 ns/iter (± 35343) 1.02
css/lexer/tailwind_3_1_1 828896 ns/iter (± 4466) 804012 ns/iter (± 6722) 1.03
css/parser/bootstrap_5_1_3 21859507 ns/iter (± 99910) 21353661 ns/iter (± 103150) 1.02
css/parser/foundation_6_7_4 17447895 ns/iter (± 123322) 17258018 ns/iter (± 153604) 1.01
css/parser/tailwind_3_1_1 3343045 ns/iter (± 4598) 3307935 ns/iter (± 23661) 1.01
es/codegen/colors 333070 ns/iter (± 187836) 325653 ns/iter (± 183528) 1.02
es/codegen/large 1250270 ns/iter (± 641727) 1186953 ns/iter (± 606530) 1.05
es/codegen/with-parser/colors 47880 ns/iter (± 382) 47724 ns/iter (± 210) 1.00
es/codegen/with-parser/large 530934 ns/iter (± 1996) 519214 ns/iter (± 2890) 1.02
es/minify/libraries/antd 1336352812 ns/iter (± 16265901) 1313201326 ns/iter (± 13370580) 1.02
es/minify/libraries/d3 250237666 ns/iter (± 3015893) 244929442 ns/iter (± 1775034) 1.02
es/minify/libraries/echarts 1023353452 ns/iter (± 6295699) 979353645 ns/iter (± 9432930) 1.04
es/minify/libraries/jquery 78506161 ns/iter (± 482505) 76709294 ns/iter (± 637465) 1.02
es/minify/libraries/lodash 94934344 ns/iter (± 1302753) 91731419 ns/iter (± 815951) 1.03
es/minify/libraries/moment 45568085 ns/iter (± 198539) 44708116 ns/iter (± 203309) 1.02
es/minify/libraries/react 17182166 ns/iter (± 165280) 16764520 ns/iter (± 114239) 1.02
es/minify/libraries/terser 209222932 ns/iter (± 2836854) 200114929 ns/iter (± 941911) 1.05
es/minify/libraries/three 354293010 ns/iter (± 4659703) 337938084 ns/iter (± 4402559) 1.05
es/minify/libraries/typescript 2462938138 ns/iter (± 7532195) 2400982735 ns/iter (± 14377269) 1.03
es/minify/libraries/victory 551092666 ns/iter (± 13309865) 507667367 ns/iter (± 5053215) 1.09
es/minify/libraries/vue 115660795 ns/iter (± 1088275) 111340534 ns/iter (± 743384) 1.04
es/visitor/compare/clone 2292927 ns/iter (± 19514) 2276307 ns/iter (± 19092) 1.01
es/visitor/compare/visit_mut_span 2662100 ns/iter (± 9043) 2634171 ns/iter (± 8989) 1.01
es/visitor/compare/visit_mut_span_panic 2718794 ns/iter (± 7833) 2639557 ns/iter (± 13613) 1.03
es/visitor/compare/fold_span 3791228 ns/iter (± 7867) 3708498 ns/iter (± 23530) 1.02
es/visitor/compare/fold_span_panic 3935086 ns/iter (± 21009) 3864488 ns/iter (± 21378) 1.02
es/lexer/colors 15802 ns/iter (± 24) 14958 ns/iter (± 160) 1.06
es/lexer/angular 7706225 ns/iter (± 3629) 7204283 ns/iter (± 57825) 1.07
es/lexer/backbone 987703 ns/iter (± 335) 962677 ns/iter (± 6907) 1.03
es/lexer/jquery 5558041 ns/iter (± 2935) 5532024 ns/iter (± 10802) 1.00
es/lexer/jquery mobile 8563667 ns/iter (± 15288) 8515450 ns/iter (± 32218) 1.01
es/lexer/mootools 4405167 ns/iter (± 1440) 4371988 ns/iter (± 21527) 1.01
es/lexer/underscore 828422 ns/iter (± 191) 827526 ns/iter (± 5228) 1.00
es/lexer/three 26184632 ns/iter (± 97682) 26094930 ns/iter (± 39349) 1.00
es/lexer/yui 4736239 ns/iter (± 1412) 4653500 ns/iter (± 40661) 1.02
es/parser/colors 29320 ns/iter (± 48) 29909 ns/iter (± 213) 0.98
es/parser/angular 16164085 ns/iter (± 191455) 15329675 ns/iter (± 111139) 1.05
es/parser/backbone 2251989 ns/iter (± 13392) 2230130 ns/iter (± 15381) 1.01
es/parser/jquery 12328424 ns/iter (± 110230) 12167794 ns/iter (± 148246) 1.01
es/parser/jquery mobile 19813236 ns/iter (± 326616) 18793347 ns/iter (± 127951) 1.05
es/parser/mootools 9360948 ns/iter (± 25111) 9251594 ns/iter (± 62386) 1.01
es/parser/underscore 1902482 ns/iter (± 9573) 1897340 ns/iter (± 27860) 1.00
es/parser/three 56960006 ns/iter (± 340948) 53733442 ns/iter (± 998298) 1.06
es/parser/yui 9370159 ns/iter (± 85883) 9312505 ns/iter (± 61649) 1.01
es/preset-env/usage/builtin_type 137314 ns/iter (± 31332) 143319 ns/iter (± 34393) 0.96
es/preset-env/usage/property 21021 ns/iter (± 83) 21297 ns/iter (± 89) 0.99
es/resolver/typescript 115440637 ns/iter (± 1890716) 112709102 ns/iter (± 2124692) 1.02
es/fixer/typescript 79870747 ns/iter (± 1762029) 75937954 ns/iter (± 1266193) 1.05
es/hygiene/typescript 170987935 ns/iter (± 2190356) 161456485 ns/iter (± 1616487) 1.06
es/resolver_with_hygiene/typescript 317424798 ns/iter (± 1680812) 303116370 ns/iter (± 3519440) 1.05
es/visitor/base-perf/module_clone 78496 ns/iter (± 1025) 80482 ns/iter (± 1580) 0.98
es/visitor/base-perf/fold_empty 88543 ns/iter (± 1541) 89906 ns/iter (± 1165) 0.98
es/visitor/base-perf/fold_noop_impl_all 90254 ns/iter (± 671) 90372 ns/iter (± 1557) 1.00
es/visitor/base-perf/fold_noop_impl_vec 89537 ns/iter (± 1485) 90005 ns/iter (± 1321) 0.99
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 57 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 53 ns/iter (± 0) 54 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 100 ns/iter (± 0) 103 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_unboxed 96 ns/iter (± 0) 97 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 3411 ns/iter (± 79) 3211 ns/iter (± 101) 1.06
es/base/parallel/resolver/typescript 6996883744 ns/iter (± 432104603) 5996723366 ns/iter (± 323289861) 1.17
es/base/parallel/hygiene/typescript 1969916963 ns/iter (± 33895076) 1955402935 ns/iter (± 24068907) 1.01
misc/visitors/time-complexity/time 5 93 ns/iter (± 0) 98 ns/iter (± 0) 0.95
misc/visitors/time-complexity/time 10 308 ns/iter (± 3) 335 ns/iter (± 3) 0.92
misc/visitors/time-complexity/time 15 620 ns/iter (± 19) 671 ns/iter (± 14) 0.92
misc/visitors/time-complexity/time 20 1134 ns/iter (± 16) 1239 ns/iter (± 11) 0.92
misc/visitors/time-complexity/time 40 5781 ns/iter (± 32) 6393 ns/iter (± 19) 0.90
misc/visitors/time-complexity/time 60 12953 ns/iter (± 126) 14187 ns/iter (± 59) 0.91
es/full-target/es2016 250053 ns/iter (± 245) 243908 ns/iter (± 1523) 1.03
es/full-target/es2017 242770 ns/iter (± 290) 240228 ns/iter (± 1099) 1.01
es/full-target/es2018 231911 ns/iter (± 198) 230531 ns/iter (± 1573) 1.01
es2020_nullish_coalescing 90951 ns/iter (± 562) 88908 ns/iter (± 968) 1.02
es2020_optional_chaining 123236 ns/iter (± 558) 120920 ns/iter (± 1264) 1.02
es2022_class_properties 147103 ns/iter (± 277) 141468 ns/iter (± 1776) 1.04
es2018_object_rest_spread 94693 ns/iter (± 152) 90677 ns/iter (± 661) 1.04
es2019_optional_catch_binding 84113 ns/iter (± 213) 81302 ns/iter (± 1000) 1.03
es2017_async_to_generator 84910 ns/iter (± 145) 82523 ns/iter (± 1212) 1.03
es2016_exponentiation 89031 ns/iter (± 226) 84931 ns/iter (± 532) 1.05
es2015_arrow 93385 ns/iter (± 182) 89959 ns/iter (± 952) 1.04
es2015_block_scoped_fn 90657 ns/iter (± 220) 87126 ns/iter (± 575) 1.04
es2015_block_scoping 168926 ns/iter (± 127) 161717 ns/iter (± 1849) 1.04

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.