Skip to content

Commit 4771aa2

Browse files
authoredFeb 21, 2023
fix(css/modules): Fix CSS animation on CSS Modules (#6969)
1 parent 786f818 commit 4771aa2

File tree

5 files changed

+216
-12
lines changed

5 files changed

+216
-12
lines changed
 

‎crates/swc_atoms/words.txt

+6
Original file line numberDiff line numberDiff line change
@@ -984,6 +984,7 @@ background-position-x
984984
background-position-y
985985
background-repeat
986986
background-size
987+
backwards
987988
base
988989
baseFrequency
989990
baseProfile
@@ -1068,6 +1069,7 @@ border-top-right-radius
10681069
border-top-style
10691070
border-top-width
10701071
border-width
1072+
both
10711073
bottom
10721074
bottom-center
10731075
bottom-left
@@ -1405,6 +1407,7 @@ forestgreen
14051407
form
14061408
formaction
14071409
format
1410+
forwards
14081411
fr
14091412
frame
14101413
frameset
@@ -1505,6 +1508,7 @@ inactivecaptiontext
15051508
indianred
15061509
indigo
15071510
infer
1511+
infinite
15081512
infinity
15091513
infobackground
15101514
infotext
@@ -1971,6 +1975,7 @@ patternUnits
19711975
patterncontentunits
19721976
patterntransform
19731977
patternunits
1978+
paused
19741979
pc
19751980
peachpuff
19761981
perspective
@@ -2094,6 +2099,7 @@ ruby-merge
20942099
ruby-position
20952100
ruby-text
20962101
run-in
2102+
running
20972103
s
20982104
saddlebrown
20992105
salmon

‎crates/swc_css_modules/src/lib.rs

+101-12
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use swc_atoms::{js_word, JsWord};
66
use swc_common::util::take::Take;
77
use swc_css_ast::{
88
ComplexSelector, ComplexSelectorChildren, ComponentValue, Declaration, DeclarationName,
9-
Delimiter, DelimiterValue, Ident, KeyframesName, PseudoClassSelectorChildren, QualifiedRule,
10-
QualifiedRulePrelude, Stylesheet, SubclassSelector,
9+
Delimiter, DelimiterValue, FunctionName, Ident, KeyframesName, PseudoClassSelectorChildren,
10+
QualifiedRule, QualifiedRulePrelude, Stylesheet, SubclassSelector,
1111
};
1212
use swc_css_visit::{VisitMut, VisitMutWith};
1313

@@ -320,9 +320,71 @@ where
320320
js_word!("animation") => {
321321
let mut can_change = true;
322322

323+
let mut iteration_count_visited = false;
324+
let mut fill_mode_visited = false;
325+
let mut direction_visited = false;
326+
let mut easing_function_visited = false;
327+
let mut play_state_visited = false;
328+
323329
for v in &mut n.value {
324-
if can_change {
325-
if let ComponentValue::Ident(box Ident { value, raw, .. }) = v {
330+
match v {
331+
ComponentValue::Ident(box Ident { value, raw, .. }) => {
332+
if !can_change {
333+
continue;
334+
}
335+
336+
match *value {
337+
// iteration-count
338+
js_word!("infinite") => {
339+
if !iteration_count_visited {
340+
iteration_count_visited = true;
341+
continue;
342+
}
343+
}
344+
// fill-mode
345+
// NOTE: `animation: none:` will be trapped here
346+
js_word!("none")
347+
| js_word!("forwards")
348+
| js_word!("backwards")
349+
| js_word!("both") => {
350+
if !fill_mode_visited {
351+
fill_mode_visited = true;
352+
continue;
353+
}
354+
}
355+
// direction
356+
js_word!("normal")
357+
| js_word!("reverse")
358+
| js_word!("alternate")
359+
| js_word!("alternate-reverse") => {
360+
if !direction_visited {
361+
direction_visited = true;
362+
continue;
363+
}
364+
}
365+
// easing-function
366+
js_word!("linear")
367+
| js_word!("ease")
368+
| js_word!("ease-in")
369+
| js_word!("ease-out")
370+
| js_word!("ease-in-out")
371+
| js_word!("step-start")
372+
| js_word!("step-end") => {
373+
if !easing_function_visited {
374+
easing_function_visited = true;
375+
continue;
376+
}
377+
}
378+
// play-state
379+
js_word!("running") | js_word!("paused") => {
380+
if !play_state_visited {
381+
play_state_visited = true;
382+
continue;
383+
}
384+
}
385+
_ => {}
386+
}
387+
326388
*raw = None;
327389

328390
rename(
@@ -334,16 +396,43 @@ where
334396
);
335397
can_change = false;
336398
}
337-
} else if let ComponentValue::Delimiter(delimiter) = v {
338-
if matches!(
339-
&**delimiter,
340-
Delimiter {
341-
value: DelimiterValue::Comma,
342-
..
399+
ComponentValue::Integer(_) => {
400+
iteration_count_visited = true;
401+
}
402+
ComponentValue::Function(f) => {
403+
if let FunctionName::Ident(ident) = &f.name {
404+
match ident.value {
405+
// easing-function
406+
js_word!("steps")
407+
| js_word!("cubic-bezier")
408+
| js_word!("linear") => {
409+
easing_function_visited = true;
410+
}
411+
_ => {
412+
// should be syntax error
413+
}
414+
}
343415
}
344-
) {
345-
can_change = true;
346416
}
417+
ComponentValue::Delimiter(delimiter) => {
418+
if matches!(
419+
&**delimiter,
420+
Delimiter {
421+
value: DelimiterValue::Comma,
422+
..
423+
}
424+
) {
425+
can_change = true;
426+
427+
// reset all flags
428+
iteration_count_visited = false;
429+
fill_mode_visited = false;
430+
direction_visited = false;
431+
easing_function_visited = false;
432+
play_state_visited = false;
433+
}
434+
}
435+
_ => (),
347436
}
348437
}
349438
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.__local__a {
2+
animation: 3s ease __local__animationName;
3+
}
4+
.__local__b {
5+
animation: 3s cubic-bezier(0.075, 0.82, 0.165, 1) __local__ease;
6+
}
7+
.__local__c {
8+
animation: 3s ease-in-out 10 __local__infinite;
9+
}
10+
@keyframes __local__animationName {
11+
0% {
12+
background: white;
13+
}
14+
100% {
15+
background: red;
16+
}
17+
}
18+
@keyframes __local__ease {
19+
0% {
20+
background: white;
21+
}
22+
100% {
23+
background: red;
24+
}
25+
}
26+
@keyframes __local__infinite {
27+
0% {
28+
background: white;
29+
}
30+
100% {
31+
background: red;
32+
}
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
.a {
2+
animation: 3s ease animationName;
3+
}
4+
5+
.b {
6+
animation: 3s cubic-bezier(0.075, 0.82, 0.165, 1) ease;
7+
}
8+
9+
.c {
10+
animation: 3s ease-in-out 10 infinite;
11+
}
12+
13+
@keyframes animationName {
14+
0% {
15+
background: white;
16+
}
17+
100% {
18+
background: red;
19+
}
20+
}
21+
22+
@keyframes ease {
23+
0% {
24+
background: white;
25+
}
26+
100% {
27+
background: red;
28+
}
29+
}
30+
31+
@keyframes infinite {
32+
0% {
33+
background: white;
34+
}
35+
100% {
36+
background: red;
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"b": [
3+
{
4+
"type": "local",
5+
"name": "__local__b"
6+
}
7+
],
8+
"a": [
9+
{
10+
"type": "local",
11+
"name": "__local__a"
12+
}
13+
],
14+
"infinite": [
15+
{
16+
"type": "local",
17+
"name": "__local__infinite"
18+
}
19+
],
20+
"c": [
21+
{
22+
"type": "local",
23+
"name": "__local__c"
24+
}
25+
],
26+
"animationName": [
27+
{
28+
"type": "local",
29+
"name": "__local__animationName"
30+
}
31+
],
32+
"ease": [
33+
{
34+
"type": "local",
35+
"name": "__local__ease"
36+
}
37+
]
38+
}

1 commit comments

Comments
 (1)

github-actions[bot] commented on Feb 21, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 4771aa2 Previous: 1dfadb8 Ratio
es/full/bugs-1 301372 ns/iter (± 5888) 301735 ns/iter (± 20081) 1.00
es/full/minify/libraries/antd 1750103993 ns/iter (± 47785453) 1705571688 ns/iter (± 19722332) 1.03
es/full/minify/libraries/d3 300647560 ns/iter (± 7226586) 325486104 ns/iter (± 7821574) 0.92
es/full/minify/libraries/echarts 1308120900 ns/iter (± 59491760) 1337438953 ns/iter (± 32658077) 0.98
es/full/minify/libraries/jquery 90346183 ns/iter (± 1527426) 91398475 ns/iter (± 638772) 0.99
es/full/minify/libraries/lodash 105233733 ns/iter (± 613873) 107291880 ns/iter (± 1060637) 0.98
es/full/minify/libraries/moment 52420866 ns/iter (± 356535) 53069581 ns/iter (± 405045) 0.99
es/full/minify/libraries/react 19076749 ns/iter (± 137148) 19303763 ns/iter (± 185563) 0.99
es/full/minify/libraries/terser 245613412 ns/iter (± 3013169) 262783534 ns/iter (± 8653275) 0.93
es/full/minify/libraries/three 438427785 ns/iter (± 17511951) 448997596 ns/iter (± 4080611) 0.98
es/full/minify/libraries/typescript 3219129708 ns/iter (± 53119686) 3211602757 ns/iter (± 86622248) 1.00
es/full/minify/libraries/victory 697316620 ns/iter (± 25779968) 672073678 ns/iter (± 8860909) 1.04
es/full/minify/libraries/vue 129174608 ns/iter (± 1192736) 130910972 ns/iter (± 1258156) 0.99
es/full/codegen/es3 26061 ns/iter (± 72) 26077 ns/iter (± 73) 1.00
es/full/codegen/es5 26201 ns/iter (± 49) 25972 ns/iter (± 66) 1.01
es/full/codegen/es2015 26152 ns/iter (± 105) 26042 ns/iter (± 423) 1.00
es/full/codegen/es2016 26084 ns/iter (± 87) 25840 ns/iter (± 151) 1.01
es/full/codegen/es2017 26115 ns/iter (± 73) 25819 ns/iter (± 126) 1.01
es/full/codegen/es2018 26217 ns/iter (± 70) 25980 ns/iter (± 93) 1.01
es/full/codegen/es2019 26240 ns/iter (± 51) 25864 ns/iter (± 138) 1.01
es/full/codegen/es2020 26220 ns/iter (± 62) 25911 ns/iter (± 93) 1.01
es/full/all/es3 172139728 ns/iter (± 2502317) 169595864 ns/iter (± 2844851) 1.01
es/full/all/es5 163729642 ns/iter (± 4481464) 162761896 ns/iter (± 3320907) 1.01
es/full/all/es2015 122874622 ns/iter (± 2469973) 123205025 ns/iter (± 965605) 1.00
es/full/all/es2016 122181673 ns/iter (± 954554) 121848976 ns/iter (± 2448654) 1.00
es/full/all/es2017 118964466 ns/iter (± 994195) 120593007 ns/iter (± 766255) 0.99
es/full/all/es2018 118137903 ns/iter (± 727189) 118670890 ns/iter (± 1067337) 1.00
es/full/all/es2019 118308702 ns/iter (± 1597591) 119292470 ns/iter (± 1086393) 0.99
es/full/all/es2020 113546617 ns/iter (± 1986635) 113902361 ns/iter (± 978593) 1.00
es/full/parser 526601 ns/iter (± 10264) 528008 ns/iter (± 6980) 1.00
es/full/base/fixer 22184 ns/iter (± 63) 21681 ns/iter (± 236) 1.02
es/full/base/resolver_and_hygiene 81938 ns/iter (± 148) 81440 ns/iter (± 324) 1.01
serialization of ast node 121 ns/iter (± 0) 121 ns/iter (± 0) 1
serialization of serde 127 ns/iter (± 0) 126 ns/iter (± 0) 1.01
css/minify/libraries/bootstrap 27790451 ns/iter (± 135825) 27692007 ns/iter (± 162423) 1.00
css/visitor/compare/clone 2057682 ns/iter (± 9458) 2071868 ns/iter (± 11853) 0.99
css/visitor/compare/visit_mut_span 2269257 ns/iter (± 5404) 2264386 ns/iter (± 7783) 1.00
css/visitor/compare/visit_mut_span_panic 2300064 ns/iter (± 10973) 2334824 ns/iter (± 5421) 0.99
css/visitor/compare/fold_span 2981216 ns/iter (± 23048) 2998490 ns/iter (± 26257) 0.99
css/visitor/compare/fold_span_panic 3178471 ns/iter (± 17443) 3178578 ns/iter (± 23356) 1.00
css/lexer/bootstrap_5_1_3 5212967 ns/iter (± 11742) 5251171 ns/iter (± 51970) 0.99
css/lexer/foundation_6_7_4 4391543 ns/iter (± 9964) 4409838 ns/iter (± 8307) 1.00
css/lexer/tailwind_3_1_1 834818 ns/iter (± 1732) 839493 ns/iter (± 610) 0.99
css/parser/bootstrap_5_1_3 21575605 ns/iter (± 45617) 22010836 ns/iter (± 215434) 0.98
css/parser/foundation_6_7_4 17319251 ns/iter (± 50661) 17603719 ns/iter (± 88021) 0.98
css/parser/tailwind_3_1_1 3322195 ns/iter (± 8407) 3320922 ns/iter (± 4452) 1.00
es/codegen/colors 331165 ns/iter (± 184812) 328109 ns/iter (± 185001) 1.01
es/codegen/large 1308909 ns/iter (± 676580) 1233412 ns/iter (± 639406) 1.06
es/codegen/with-parser/colors 48620 ns/iter (± 365) 48520 ns/iter (± 359) 1.00
es/codegen/with-parser/large 528296 ns/iter (± 1561) 532044 ns/iter (± 2083) 0.99
es/minify/libraries/antd 1433425307 ns/iter (± 17885733) 1529058815 ns/iter (± 23450194) 0.94
es/minify/libraries/d3 246894257 ns/iter (± 1643357) 265879993 ns/iter (± 9578860) 0.93
es/minify/libraries/echarts 1074294663 ns/iter (± 14911842) 1191192572 ns/iter (± 9655413) 0.90
es/minify/libraries/jquery 77330261 ns/iter (± 413666) 80364794 ns/iter (± 521882) 0.96
es/minify/libraries/lodash 94445082 ns/iter (± 1062481) 97148705 ns/iter (± 772861) 0.97
es/minify/libraries/moment 45502750 ns/iter (± 141937) 46357974 ns/iter (± 361788) 0.98
es/minify/libraries/react 17000480 ns/iter (± 76203) 17058268 ns/iter (± 131539) 1.00
es/minify/libraries/terser 208402983 ns/iter (± 2232964) 222190417 ns/iter (± 5939334) 0.94
es/minify/libraries/three 355435529 ns/iter (± 3954623) 380763284 ns/iter (± 6801453) 0.93
es/minify/libraries/typescript 2717722917 ns/iter (± 9539999) 2782209409 ns/iter (± 13513717) 0.98
es/minify/libraries/victory 556530408 ns/iter (± 8173668) 639075227 ns/iter (± 22039695) 0.87
es/minify/libraries/vue 115400599 ns/iter (± 1428929) 119919943 ns/iter (± 1812036) 0.96
es/visitor/compare/clone 2384361 ns/iter (± 6569) 2416662 ns/iter (± 18189) 0.99
es/visitor/compare/visit_mut_span 2753669 ns/iter (± 14895) 2822860 ns/iter (± 7117) 0.98
es/visitor/compare/visit_mut_span_panic 2762623 ns/iter (± 13867) 2861868 ns/iter (± 7790) 0.97
es/visitor/compare/fold_span 3845281 ns/iter (± 26674) 3959223 ns/iter (± 14617) 0.97
es/visitor/compare/fold_span_panic 3967532 ns/iter (± 17727) 4099505 ns/iter (± 15296) 0.97
es/lexer/colors 16961 ns/iter (± 162) 17149 ns/iter (± 6) 0.99
es/lexer/angular 8266239 ns/iter (± 56643) 8257749 ns/iter (± 6016) 1.00
es/lexer/backbone 1064725 ns/iter (± 8143) 1080322 ns/iter (± 1497) 0.99
es/lexer/jquery 5903274 ns/iter (± 110133) 5964522 ns/iter (± 2613) 0.99
es/lexer/jquery mobile 9029490 ns/iter (± 76361) 9196435 ns/iter (± 4279) 0.98
es/lexer/mootools 4601181 ns/iter (± 16957) 4669513 ns/iter (± 1950) 0.99
es/lexer/underscore 891042 ns/iter (± 1942) 897778 ns/iter (± 652) 0.99
es/lexer/three 27586121 ns/iter (± 206872) 27932962 ns/iter (± 49204) 0.99
es/lexer/yui 5089437 ns/iter (± 20229) 5071104 ns/iter (± 20963) 1.00
es/parser/colors 31246 ns/iter (± 354) 30766 ns/iter (± 202) 1.02
es/parser/angular 15903195 ns/iter (± 162488) 15488501 ns/iter (± 111382) 1.03
es/parser/backbone 2347928 ns/iter (± 26605) 2324282 ns/iter (± 13337) 1.01
es/parser/jquery 12574703 ns/iter (± 120202) 12574212 ns/iter (± 92163) 1.00
es/parser/jquery mobile 19472005 ns/iter (± 149175) 20053243 ns/iter (± 315801) 0.97
es/parser/mootools 9429008 ns/iter (± 84752) 9661947 ns/iter (± 25457) 0.98
es/parser/underscore 1955404 ns/iter (± 40862) 1991881 ns/iter (± 11725) 0.98
es/parser/three 55903113 ns/iter (± 2132259) 61499760 ns/iter (± 387111) 0.91
es/parser/yui 9548866 ns/iter (± 95834) 9651682 ns/iter (± 254741) 0.99
es/preset-env/usage/builtin_type 139282 ns/iter (± 30860) 144888 ns/iter (± 34012) 0.96
es/preset-env/usage/property 21072 ns/iter (± 69) 21396 ns/iter (± 70) 0.98
es/resolver/typescript 122792156 ns/iter (± 3479380) 124069283 ns/iter (± 1878460) 0.99
es/fixer/typescript 93808843 ns/iter (± 872859) 97083491 ns/iter (± 6835719) 0.97
es/hygiene/typescript 199384196 ns/iter (± 4170091) 204907016 ns/iter (± 2710120) 0.97
es/resolver_with_hygiene/typescript 335886089 ns/iter (± 2439985) 343364517 ns/iter (± 2406248) 0.98
es/visitor/base-perf/module_clone 76383 ns/iter (± 1663) 75412 ns/iter (± 962) 1.01
es/visitor/base-perf/fold_empty 85619 ns/iter (± 1789) 86881 ns/iter (± 1814) 0.99
es/visitor/base-perf/fold_noop_impl_all 84221 ns/iter (± 386) 85977 ns/iter (± 1170) 0.98
es/visitor/base-perf/fold_noop_impl_vec 86047 ns/iter (± 1429) 85673 ns/iter (± 1343) 1.00
es/visitor/base-perf/boxing_boxed_clone 62 ns/iter (± 0) 56 ns/iter (± 0) 1.11
es/visitor/base-perf/boxing_unboxed_clone 59 ns/iter (± 0) 59 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 104 ns/iter (± 0) 1.03
es/visitor/base-perf/boxing_unboxed 103 ns/iter (± 0) 103 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3448 ns/iter (± 48) 3495 ns/iter (± 67) 0.99
es/base/parallel/resolver/typescript 5618655697 ns/iter (± 635763386) 5391644618 ns/iter (± 538131967) 1.04
es/base/parallel/hygiene/typescript 2416938746 ns/iter (± 36606610) 2415480792 ns/iter (± 29957223) 1.00
misc/visitors/time-complexity/time 5 100 ns/iter (± 0) 101 ns/iter (± 0) 0.99
misc/visitors/time-complexity/time 10 338 ns/iter (± 0) 320 ns/iter (± 1) 1.06
misc/visitors/time-complexity/time 15 664 ns/iter (± 6) 652 ns/iter (± 0) 1.02
misc/visitors/time-complexity/time 20 1226 ns/iter (± 11) 1218 ns/iter (± 2) 1.01
misc/visitors/time-complexity/time 40 6232 ns/iter (± 40) 6653 ns/iter (± 76) 0.94
misc/visitors/time-complexity/time 60 15659 ns/iter (± 61) 17039 ns/iter (± 54) 0.92
es/full-target/es2016 187863 ns/iter (± 253) 188491 ns/iter (± 640) 1.00
es/full-target/es2017 182917 ns/iter (± 732) 183671 ns/iter (± 4194) 1.00
es/full-target/es2018 171188 ns/iter (± 481) 172195 ns/iter (± 215) 0.99
es2020_nullish_coalescing 66248 ns/iter (± 134) 67036 ns/iter (± 832) 0.99
es2020_optional_chaining 95167 ns/iter (± 5418) 95980 ns/iter (± 383) 0.99
es2022_class_properties 93139 ns/iter (± 195) 94026 ns/iter (± 163) 0.99
es2018_object_rest_spread 71380 ns/iter (± 197) 71293 ns/iter (± 97) 1.00
es2019_optional_catch_binding 60762 ns/iter (± 99) 61246 ns/iter (± 82) 0.99
es2017_async_to_generator 60911 ns/iter (± 259) 62024 ns/iter (± 87) 0.98
es2016_exponentiation 64505 ns/iter (± 129) 65222 ns/iter (± 270) 0.99
es2015_arrow 69358 ns/iter (± 667) 70475 ns/iter (± 274) 0.98
es2015_block_scoped_fn 64070 ns/iter (± 921) 66704 ns/iter (± 151) 0.96
es2015_block_scoping 154150 ns/iter (± 10507) 144179 ns/iter (± 10705) 1.07
es2015_classes 111270 ns/iter (± 296) 116769 ns/iter (± 498) 0.95
es2015_computed_props 59045 ns/iter (± 222) 61002 ns/iter (± 84) 0.97
es2015_destructuring 111322 ns/iter (± 493) 116479 ns/iter (± 253) 0.96
es2015_duplicate_keys 61712 ns/iter (± 230) 64051 ns/iter (± 93) 0.96
es2015_parameters 76828 ns/iter (± 193) 80016 ns/iter (± 312) 0.96
es2015_fn_name 64444 ns/iter (± 435) 66547 ns/iter (± 595) 0.97
es2015_for_of 62336 ns/iter (± 263) 64567 ns/iter (± 111) 0.97
es2015_instanceof 61138 ns/iter (± 212) 63203 ns/iter (± 109) 0.97
es2015_shorthand_property 58839 ns/iter (± 198) 61109 ns/iter (± 108) 0.96
es2015_spread 58862 ns/iter (± 297) 60985 ns/iter (± 81) 0.97
es2015_sticky_regex 60362 ns/iter (± 233) 62481 ns/iter (± 92) 0.97
es2015_typeof_symbol 60809 ns/iter (± 342) 62600 ns/iter (± 103) 0.97
es/transform/baseline/base 50191 ns/iter (± 362) 51967 ns/iter (± 112) 0.97
es/transform/baseline/common_reserved_word 60403 ns/iter (± 383) 62683 ns/iter (± 131) 0.96
es/transform/baseline/common_typescript 138314 ns/iter (± 1189) 161095 ns/iter (± 10287) 0.86
es/target/es3 163258 ns/iter (± 408) 165568 ns/iter (± 156) 0.99
es/target/es2015 597338 ns/iter (± 3301) 601535 ns/iter (± 695) 0.99
es/target/es2016 62672 ns/iter (± 373) 63859 ns/iter (± 90) 0.98
es/target/es2017 59128 ns/iter (± 532) 60558 ns/iter (± 111) 0.98
es/target/es2018 78319 ns/iter (± 447) 79602 ns/iter (± 81) 0.98
es/target/es2020 126230 ns/iter (± 804) 129430 ns/iter (± 137) 0.98
babelify-only 665068 ns/iter (± 2596) 672993 ns/iter (± 1462) 0.99
parse_and_babelify_angular 44574882 ns/iter (± 1238969) 49536559 ns/iter (± 960212) 0.90
parse_and_babelify_backbone 5417729 ns/iter (± 57056) 6000372 ns/iter (± 240648) 0.90
parse_and_babelify_jquery 32218018 ns/iter (± 348247) 35810038 ns/iter (± 862502) 0.90
parse_and_babelify_jquery_mobile 55084237 ns/iter (± 743185) 57244162 ns/iter (± 650627) 0.96
parse_and_babelify_mootools 33926996 ns/iter (± 473890) 34533737 ns/iter (± 940140) 0.98
parse_and_babelify_underscore 4376778 ns/iter (± 19752) 4419917 ns/iter (± 33920) 0.99
parse_and_babelify_yui 33001853 ns/iter (± 289286) 34536689 ns/iter (± 1221406) 0.96
html/minify/document/css_spec 41478144 ns/iter (± 382277) 45723928 ns/iter (± 858673) 0.91
html/minify/document/github 17419868 ns/iter (± 64503) 18129830 ns/iter (± 217281) 0.96
html/minify/document/stackoverflow 15672717 ns/iter (± 186667) 15892931 ns/iter (± 200963) 0.99
html/minify/document_fragment/css_spec 40180657 ns/iter (± 405120) 41160945 ns/iter (± 1449932) 0.98
html/minify/document_fragment/github 16931109 ns/iter (± 45225) 17475473 ns/iter (± 84356) 0.97
html/minify/document_fragment/stackoverflow 15356325 ns/iter (± 70986) 15915746 ns/iter (± 156922) 0.96
html/document/visitor/compare/clone 339926 ns/iter (± 2434) 340561 ns/iter (± 2702) 1.00
html/document/visitor/compare/visit_mut_span 366333 ns/iter (± 1459) 369127 ns/iter (± 2512) 0.99
html/document/visitor/compare/visit_mut_span_panic 377083 ns/iter (± 2306) 378142 ns/iter (± 1788) 1.00
html/document/visitor/compare/fold_span 405748 ns/iter (± 2715) 409927 ns/iter (± 2216) 0.99
html/document/visitor/compare/fold_span_panic 460531 ns/iter (± 1763) 467595 ns/iter (± 2576) 0.98
html/document_fragment/visitor/compare/clone 339286 ns/iter (± 3407) 340503 ns/iter (± 2334) 1.00
html/document_fragment/visitor/compare/visit_mut_span 366919 ns/iter (± 2556) 367908 ns/iter (± 2560) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 372282 ns/iter (± 1671) 375451 ns/iter (± 2392) 0.99
html/document_fragment/visitor/compare/fold_span 401638 ns/iter (± 1488) 403984 ns/iter (± 2011) 0.99
html/document_fragment/visitor/compare/fold_span_panic 465503 ns/iter (± 2115) 462137 ns/iter (± 1602) 1.01
html/lexer/css_2021_spec 15481911 ns/iter (± 28422) 15575797 ns/iter (± 23786) 0.99
html/lexer/github_com_17_05_2022 6019732 ns/iter (± 23281) 6018331 ns/iter (± 2511) 1.00
html/lexer/stackoverflow_com_17_05_2022 5602292 ns/iter (± 11337) 5629901 ns/iter (± 2875) 1.00
html/parser/parser_document/css_2021_spec 25235558 ns/iter (± 283370) 27906202 ns/iter (± 352430) 0.90
html/parser/parser_document/github_com_17_05_2022 8736016 ns/iter (± 3724) 8822850 ns/iter (± 49349) 0.99
html/parser/parser_document/stackoverflow_com_17_05_2022 7729256 ns/iter (± 14505) 7740962 ns/iter (± 12158) 1.00
html/parser/parser_document_fragment/css_2021_spec 26033558 ns/iter (± 605852) 25756324 ns/iter (± 182412) 1.01
html/parser/parser_document_fragment/github_com_17_05_2022 8737473 ns/iter (± 15912) 8729960 ns/iter (± 17863) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7803874 ns/iter (± 7249) 7722930 ns/iter (± 9781) 1.01

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

Please sign in to comment.