Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(css/compat): Support function notation (#6651)
- Loading branch information
1 parent
78f08bb
commit 39afc46
Showing
10 changed files
with
700 additions
and
22 deletions.
There are no files selected for viewing
47 changes: 47 additions & 0 deletions
47
crates/swc_css_compat/src/compiler/color_alpha_parameter.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
use swc_atoms::js_word; | ||
use swc_css_ast::{AbsoluteColorBase, ComponentValue}; | ||
|
||
use crate::compiler::Compiler; | ||
|
||
impl Compiler { | ||
pub(crate) fn process_color_alpha_parameter(&mut self, n: &mut AbsoluteColorBase) { | ||
if let AbsoluteColorBase::Function(function) = n { | ||
let name = function.name.value.to_ascii_lowercase(); | ||
|
||
if let Some(ComponentValue::AlphaValue(_) | ComponentValue::Function(_)) = | ||
function.value.last() | ||
{ | ||
if !matches!( | ||
name, | ||
js_word!("rgb") | js_word!("rgba") | js_word!("hsl") | js_word!("hsla") | ||
) { | ||
return; | ||
} | ||
|
||
match name { | ||
js_word!("rgb") => { | ||
function.name.value = js_word!("rgba"); | ||
function.name.raw = None; | ||
} | ||
js_word!("hsl") => { | ||
function.name.value = js_word!("hsla"); | ||
function.name.raw = None; | ||
} | ||
_ => {} | ||
} | ||
} else { | ||
match name { | ||
js_word!("rgba") => { | ||
function.name.value = js_word!("rgb"); | ||
function.name.raw = None; | ||
} | ||
js_word!("hsla") => { | ||
function.name.value = js_word!("hsl"); | ||
function.name.raw = None; | ||
} | ||
_ => {} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
72 changes: 72 additions & 0 deletions
72
crates/swc_css_compat/src/compiler/color_space_separated_parameters.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
use std::mem::take; | ||
|
||
use swc_atoms::js_word; | ||
use swc_common::DUMMY_SP; | ||
use swc_css_ast::{AbsoluteColorBase, ComponentValue, Delimiter, DelimiterValue}; | ||
|
||
use crate::compiler::Compiler; | ||
|
||
impl Compiler { | ||
pub(crate) fn process_color_space_separated_function_notation( | ||
&mut self, | ||
n: &mut AbsoluteColorBase, | ||
) { | ||
if let AbsoluteColorBase::Function(function) = n { | ||
let name = function.name.value.to_ascii_lowercase(); | ||
|
||
if !matches!( | ||
name, | ||
js_word!("rgb") | js_word!("rgba") | js_word!("hsl") | js_word!("hsla") | ||
) { | ||
return; | ||
} | ||
|
||
if function.value.len() != 3 && function.value.len() != 5 { | ||
return; | ||
} | ||
|
||
if function.value.iter().any(|n| { | ||
matches!( | ||
n, | ||
ComponentValue::Delimiter(box Delimiter { | ||
value: DelimiterValue::Comma, | ||
.. | ||
}) | ||
) | ||
}) { | ||
return; | ||
} | ||
|
||
let new_value: Vec<ComponentValue> = take(&mut function.value) | ||
.into_iter() | ||
.enumerate() | ||
.flat_map(|(idx, node)| { | ||
if matches!(idx, 0 | 1) { | ||
vec![ | ||
node, | ||
ComponentValue::Delimiter(Box::new(Delimiter { | ||
value: DelimiterValue::Comma, | ||
span: DUMMY_SP, | ||
})), | ||
] | ||
} else if matches!( | ||
node, | ||
ComponentValue::Delimiter(box Delimiter { | ||
value: DelimiterValue::Solidus, | ||
.. | ||
}) | ||
) { | ||
vec![ComponentValue::Delimiter(Box::new(Delimiter { | ||
value: DelimiterValue::Comma, | ||
span: DUMMY_SP, | ||
}))] | ||
} else { | ||
vec![node] | ||
} | ||
}) | ||
.collect::<Vec<_>>(); | ||
|
||
function.value = new_value; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
use std::f64::consts::PI; | ||
|
||
use swc_atoms::js_word; | ||
use swc_css_ast::{AbsoluteColorBase, AlphaValue, Angle, ComponentValue, Hue, Number, Percentage}; | ||
|
||
use crate::compiler::{ | ||
utils::{clamp_unit_f32, round_alpha}, | ||
Compiler, | ||
}; | ||
|
||
impl Compiler { | ||
pub(crate) fn process_rgb_and_hsl(&mut self, n: &mut AbsoluteColorBase) { | ||
if let AbsoluteColorBase::Function(function) = n { | ||
let name = function.name.value.to_ascii_lowercase(); | ||
|
||
let is_rgb = matches!(name, js_word!("rgb") | js_word!("rgba")); | ||
let is_hsl = matches!(name, js_word!("hsl") | js_word!("hsla")); | ||
|
||
if is_rgb { | ||
function.value = function | ||
.value | ||
.drain(..) | ||
.into_iter() | ||
.map(|n| match n { | ||
ComponentValue::Percentage(box Percentage { | ||
span, | ||
value: Number { value, .. }, | ||
.. | ||
}) => ComponentValue::Number(Box::new(Number { | ||
span, | ||
value: clamp_unit_f32(value / 100.0) as f64, | ||
raw: None, | ||
})), | ||
_ => n, | ||
}) | ||
.collect(); | ||
} else if is_hsl { | ||
function.value = function | ||
.value | ||
.drain(..) | ||
.into_iter() | ||
.map(|n| match n { | ||
ComponentValue::Hue(box Hue::Angle(Angle { | ||
span, | ||
value: Number { value, .. }, | ||
unit, | ||
.. | ||
})) => { | ||
let value = match unit.value.to_ascii_lowercase() { | ||
js_word!("deg") => value, | ||
js_word!("grad") => value * 180.0 / 200.0, | ||
js_word!("rad") => value * 180.0 / PI, | ||
js_word!("turn") => value * 360.0, | ||
_ => { | ||
unreachable!(); | ||
} | ||
}; | ||
|
||
ComponentValue::Number(Box::new(Number { | ||
span, | ||
value: value.round(), | ||
raw: None, | ||
})) | ||
} | ||
_ => n, | ||
}) | ||
.collect(); | ||
} | ||
|
||
if is_rgb || is_hsl { | ||
if let Some(ComponentValue::AlphaValue(box alpha_value)) = function.value.last_mut() | ||
{ | ||
if let AlphaValue::Percentage(Percentage { | ||
span, | ||
value: Number { value: a, .. }, | ||
.. | ||
}) = alpha_value | ||
{ | ||
*alpha_value = AlphaValue::Number(Number { | ||
span: *span, | ||
value: round_alpha(*a / 100.0), | ||
raw: None, | ||
}); | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#[inline] | ||
pub(crate) fn clamp_unit_f32(val: f64) -> u8 { | ||
(val * 255.).round().max(0.).min(255.) as u8 | ||
} | ||
|
||
#[inline] | ||
pub(crate) fn round_alpha(alpha: f64) -> f64 { | ||
let mut rounded_alpha = (alpha * 100.).round() / 100.; | ||
|
||
if clamp_unit_f32(rounded_alpha) != clamp_unit_f32(alpha) { | ||
rounded_alpha = (alpha * 1000.).round() / 1000.; | ||
} | ||
|
||
rounded_alpha | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
39afc46
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
287090
ns/iter (± 9682
)309165
ns/iter (± 11188
)0.93
es/full/minify/libraries/antd
1602951540
ns/iter (± 21369537
)1803644781
ns/iter (± 19644694
)0.89
es/full/minify/libraries/d3
303926543
ns/iter (± 6526843
)324440941
ns/iter (± 4801873
)0.94
es/full/minify/libraries/echarts
1231470036
ns/iter (± 20755151
)1381203816
ns/iter (± 11657545
)0.89
es/full/minify/libraries/jquery
90329077
ns/iter (± 716334
)94004610
ns/iter (± 863382
)0.96
es/full/minify/libraries/lodash
106311320
ns/iter (± 987753
)109962930
ns/iter (± 1125769
)0.97
es/full/minify/libraries/moment
52585701
ns/iter (± 237039
)54466010
ns/iter (± 1960930
)0.97
es/full/minify/libraries/react
19024325
ns/iter (± 171229
)19367399
ns/iter (± 101522
)0.98
es/full/minify/libraries/terser
251244081
ns/iter (± 5712143
)272368492
ns/iter (± 3390504
)0.92
es/full/minify/libraries/three
448035052
ns/iter (± 13705223
)490547481
ns/iter (± 7223233
)0.91
es/full/minify/libraries/typescript
3020194902
ns/iter (± 12710047
)3328139453
ns/iter (± 36946273
)0.91
es/full/minify/libraries/victory
683308538
ns/iter (± 11944678
)762426651
ns/iter (± 12359824
)0.90
es/full/minify/libraries/vue
131423465
ns/iter (± 6770161
)137859285
ns/iter (± 2058655
)0.95
es/full/codegen/es3
27613
ns/iter (± 69
)27693
ns/iter (± 52
)1.00
es/full/codegen/es5
27593
ns/iter (± 39
)27809
ns/iter (± 67
)0.99
es/full/codegen/es2015
27635
ns/iter (± 49
)27708
ns/iter (± 80
)1.00
es/full/codegen/es2016
27602
ns/iter (± 35
)27799
ns/iter (± 78
)0.99
es/full/codegen/es2017
27623
ns/iter (± 68
)27691
ns/iter (± 67
)1.00
es/full/codegen/es2018
27606
ns/iter (± 50
)27763
ns/iter (± 56
)0.99
es/full/codegen/es2019
27604
ns/iter (± 89
)27671
ns/iter (± 44
)1.00
es/full/codegen/es2020
27616
ns/iter (± 49
)27699
ns/iter (± 64
)1.00
es/full/all/es3
166589487
ns/iter (± 3225089
)173557368
ns/iter (± 2978172
)0.96
es/full/all/es5
158179604
ns/iter (± 3133857
)163609562
ns/iter (± 2443079
)0.97
es/full/all/es2015
119739019
ns/iter (± 737101
)126421647
ns/iter (± 2950440
)0.95
es/full/all/es2016
117821852
ns/iter (± 1096791
)123450121
ns/iter (± 2752297
)0.95
es/full/all/es2017
117946357
ns/iter (± 631043
)123074278
ns/iter (± 1778446
)0.96
es/full/all/es2018
116122037
ns/iter (± 649452
)120466390
ns/iter (± 719618
)0.96
es/full/all/es2019
115368371
ns/iter (± 984541
)120189822
ns/iter (± 1560724
)0.96
es/full/all/es2020
110793508
ns/iter (± 747220
)115392515
ns/iter (± 1220610
)0.96
es/full/parser
511797
ns/iter (± 7370
)517343
ns/iter (± 9347
)0.99
es/full/base/fixer
22062
ns/iter (± 35
)22225
ns/iter (± 35
)0.99
es/full/base/resolver_and_hygiene
78328
ns/iter (± 101
)78025
ns/iter (± 128
)1.00
serialization of ast node
138
ns/iter (± 0
)139
ns/iter (± 0
)0.99
serialization of serde
123
ns/iter (± 0
)124
ns/iter (± 0
)0.99
css/minify/libraries/bootstrap
26749206
ns/iter (± 85704
)27252934
ns/iter (± 634341
)0.98
css/visitor/compare/clone
2046369
ns/iter (± 24023
)2085399
ns/iter (± 20750
)0.98
css/visitor/compare/visit_mut_span
2262312
ns/iter (± 2836
)2305466
ns/iter (± 15850
)0.98
css/visitor/compare/visit_mut_span_panic
2332902
ns/iter (± 12583
)2349001
ns/iter (± 6294
)0.99
css/visitor/compare/fold_span
3036685
ns/iter (± 31425
)3034571
ns/iter (± 30576
)1.00
css/visitor/compare/fold_span_panic
3124398
ns/iter (± 22287
)3176955
ns/iter (± 47988
)0.98
css/lexer/bootstrap_5_1_3
5204588
ns/iter (± 1970
)5349618
ns/iter (± 1865
)0.97
css/lexer/foundation_6_7_4
4422476
ns/iter (± 664
)4420599
ns/iter (± 1727
)1.00
css/lexer/tailwind_3_1_1
831378
ns/iter (± 163
)829417
ns/iter (± 185
)1.00
css/parser/bootstrap_5_1_3
20816347
ns/iter (± 237560
)21475844
ns/iter (± 72229
)0.97
css/parser/foundation_6_7_4
16668787
ns/iter (± 32224
)17047445
ns/iter (± 37674
)0.98
css/parser/tailwind_3_1_1
3204606
ns/iter (± 2034
)3250005
ns/iter (± 6288
)0.99
es/codegen/colors
332353
ns/iter (± 187006
)322873
ns/iter (± 181339
)1.03
es/codegen/large
1219032
ns/iter (± 641085
)1219555
ns/iter (± 644558
)1.00
es/codegen/with-parser/colors
46715
ns/iter (± 325
)46815
ns/iter (± 310
)1.00
es/codegen/with-parser/large
506480
ns/iter (± 411
)509704
ns/iter (± 3092
)0.99
es/minify/libraries/antd
1385381917
ns/iter (± 10520553
)1573128362
ns/iter (± 31570166
)0.88
es/minify/libraries/d3
253367360
ns/iter (± 3354890
)276767153
ns/iter (± 5788516
)0.92
es/minify/libraries/echarts
1080117681
ns/iter (± 6375569
)1189808687
ns/iter (± 9640247
)0.91
es/minify/libraries/jquery
78409572
ns/iter (± 1416555
)80646398
ns/iter (± 778064
)0.97
es/minify/libraries/lodash
95028746
ns/iter (± 836837
)98496085
ns/iter (± 1822368
)0.96
es/minify/libraries/moment
45777114
ns/iter (± 316658
)46820351
ns/iter (± 392800
)0.98
es/minify/libraries/react
16837223
ns/iter (± 127537
)17247853
ns/iter (± 183502
)0.98
es/minify/libraries/terser
210695529
ns/iter (± 3528083
)231527671
ns/iter (± 6211630
)0.91
es/minify/libraries/three
367481763
ns/iter (± 13703054
)428359845
ns/iter (± 12313762
)0.86
es/minify/libraries/typescript
2607184630
ns/iter (± 13527567
)2882676129
ns/iter (± 26121672
)0.90
es/minify/libraries/victory
578948185
ns/iter (± 10237271
)671625714
ns/iter (± 10636538
)0.86
es/minify/libraries/vue
116733196
ns/iter (± 2789559
)124003669
ns/iter (± 2038454
)0.94
es/visitor/compare/clone
2366215
ns/iter (± 5004
)2461793
ns/iter (± 61327
)0.96
es/visitor/compare/visit_mut_span
2766216
ns/iter (± 10355
)2817648
ns/iter (± 8659
)0.98
es/visitor/compare/visit_mut_span_panic
2823263
ns/iter (± 3382
)2890846
ns/iter (± 21041
)0.98
es/visitor/compare/fold_span
3941578
ns/iter (± 11259
)4006048
ns/iter (± 53376
)0.98
es/visitor/compare/fold_span_panic
4097220
ns/iter (± 14976
)4154615
ns/iter (± 15564
)0.99
es/lexer/colors
17170
ns/iter (± 8
)17260
ns/iter (± 7
)0.99
es/lexer/angular
8195061
ns/iter (± 2182
)8262840
ns/iter (± 6258
)0.99
es/lexer/backbone
1066388
ns/iter (± 167
)1077903
ns/iter (± 278
)0.99
es/lexer/jquery
5929621
ns/iter (± 3102
)5983810
ns/iter (± 2497
)0.99
es/lexer/jquery mobile
9125641
ns/iter (± 2120
)9204069
ns/iter (± 10281
)0.99
es/lexer/mootools
4647670
ns/iter (± 1289
)4697022
ns/iter (± 4566
)0.99
es/lexer/underscore
891573
ns/iter (± 397
)901198
ns/iter (± 770
)0.99
es/lexer/three
27787887
ns/iter (± 15303
)28067382
ns/iter (± 14834
)0.99
es/lexer/yui
5030765
ns/iter (± 1447
)5066626
ns/iter (± 2037
)0.99
es/parser/colors
31009
ns/iter (± 118
)30970
ns/iter (± 157
)1.00
es/parser/angular
15858942
ns/iter (± 174885
)16825116
ns/iter (± 272679
)0.94
es/parser/backbone
2309672
ns/iter (± 18014
)2330480
ns/iter (± 16349
)0.99
es/parser/jquery
12455559
ns/iter (± 51287
)12960183
ns/iter (± 562416
)0.96
es/parser/jquery mobile
19820014
ns/iter (± 216435
)21402855
ns/iter (± 378515
)0.93
es/parser/mootools
9549809
ns/iter (± 30820
)9701416
ns/iter (± 45064
)0.98
es/parser/underscore
1953362
ns/iter (± 11069
)1973631
ns/iter (± 11113
)0.99
es/parser/three
58428359
ns/iter (± 615282
)62428764
ns/iter (± 300999
)0.94
es/parser/yui
9642140
ns/iter (± 268352
)9794072
ns/iter (± 62401
)0.98
es/preset-env/usage/builtin_type
140135
ns/iter (± 31477
)139921
ns/iter (± 35307
)1.00
es/preset-env/usage/property
21224
ns/iter (± 77
)21110
ns/iter (± 65
)1.01
es/resolver/typescript
109811832
ns/iter (± 2489055
)122120337
ns/iter (± 2737111
)0.90
es/fixer/typescript
83878150
ns/iter (± 727500
)99989353
ns/iter (± 6070042
)0.84
es/hygiene/typescript
168969600
ns/iter (± 1159775
)200874717
ns/iter (± 1227148
)0.84
es/resolver_with_hygiene/typescript
304512736
ns/iter (± 1018250
)349035856
ns/iter (± 2804510
)0.87
es/visitor/base-perf/module_clone
75764
ns/iter (± 1746
)75723
ns/iter (± 1813
)1.00
es/visitor/base-perf/fold_empty
85924
ns/iter (± 721
)85215
ns/iter (± 1897
)1.01
es/visitor/base-perf/fold_noop_impl_all
85790
ns/iter (± 2078
)84901
ns/iter (± 713
)1.01
es/visitor/base-perf/fold_noop_impl_vec
85525
ns/iter (± 761
)85571
ns/iter (± 1218
)1.00
es/visitor/base-perf/boxing_boxed_clone
55
ns/iter (± 0
)59
ns/iter (± 0
)0.93
es/visitor/base-perf/boxing_unboxed_clone
59
ns/iter (± 0
)59
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
102
ns/iter (± 0
)103
ns/iter (± 0
)0.99
es/visitor/base-perf/boxing_unboxed
102
ns/iter (± 0
)106
ns/iter (± 0
)0.96
es/visitor/base-perf/visit_contains_this
3482
ns/iter (± 46
)3399
ns/iter (± 67
)1.02
es/base/parallel/resolver/typescript
5360428418
ns/iter (± 457821744
)5064855948
ns/iter (± 423579931
)1.06
es/base/parallel/hygiene/typescript
2007298291
ns/iter (± 39971285
)2249873077
ns/iter (± 40928411
)0.89
misc/visitors/time-complexity/time 5
93
ns/iter (± 0
)93
ns/iter (± 1
)1
misc/visitors/time-complexity/time 10
327
ns/iter (± 1
)327
ns/iter (± 3
)1
misc/visitors/time-complexity/time 15
633
ns/iter (± 1
)635
ns/iter (± 2
)1.00
misc/visitors/time-complexity/time 20
1190
ns/iter (± 1
)1191
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 40
6150
ns/iter (± 3
)6150
ns/iter (± 1
)1
misc/visitors/time-complexity/time 60
15492
ns/iter (± 6
)15496
ns/iter (± 7
)1.00
es/full-target/es2016
187977
ns/iter (± 899
)188367
ns/iter (± 1145
)1.00
es/full-target/es2017
182934
ns/iter (± 577
)183716
ns/iter (± 538
)1.00
es/full-target/es2018
172136
ns/iter (± 618
)172448
ns/iter (± 820
)1.00
es2020_nullish_coalescing
66947
ns/iter (± 151
)66931
ns/iter (± 106
)1.00
es2020_optional_chaining
95247
ns/iter (± 418
)96014
ns/iter (± 5564
)0.99
es2022_class_properties
93308
ns/iter (± 239
)93345
ns/iter (± 162
)1.00
es2018_object_rest_spread
71581
ns/iter (± 160
)70302
ns/iter (± 101
)1.02
es2019_optional_catch_binding
61058
ns/iter (± 145
)60148
ns/iter (± 89
)1.02
es2017_async_to_generator
61580
ns/iter (± 131
)60462
ns/iter (± 87
)1.02
es2016_exponentiation
64922
ns/iter (± 56
)63780
ns/iter (± 150
)1.02
es2015_arrow
70306
ns/iter (± 165
)68378
ns/iter (± 116
)1.03
es2015_block_scoped_fn
65930
ns/iter (± 200
)64400
ns/iter (± 63
)1.02
es2015_block_scoping
154924
ns/iter (± 7364
)147650
ns/iter (± 9295
)1.05
es2015_classes
116924
ns/iter (± 293
)113822
ns/iter (± 468
)1.03
es2015_computed_props
60845
ns/iter (± 88
)59686
ns/iter (± 106
)1.02
es2015_destructuring
115306
ns/iter (± 313
)112944
ns/iter (± 104
)1.02
es2015_duplicate_keys
63732
ns/iter (± 84
)62614
ns/iter (± 70
)1.02
es2015_parameters
79783
ns/iter (± 165
)78187
ns/iter (± 164
)1.02
es2015_fn_name
66357
ns/iter (± 427
)65771
ns/iter (± 652
)1.01
es2015_for_of
64116
ns/iter (± 110
)62769
ns/iter (± 84
)1.02
es2015_instanceof
63531
ns/iter (± 144
)62252
ns/iter (± 77
)1.02
es2015_shorthand_property
61125
ns/iter (± 123
)59982
ns/iter (± 67
)1.02
es2015_spread
61004
ns/iter (± 80
)59960
ns/iter (± 59
)1.02
es2015_sticky_regex
62549
ns/iter (± 132
)61262
ns/iter (± 41
)1.02
es2015_typeof_symbol
62350
ns/iter (± 153
)61241
ns/iter (± 73
)1.02
es/transform/baseline/base
52092
ns/iter (± 206
)51044
ns/iter (± 88
)1.02
es/transform/baseline/common_reserved_word
62616
ns/iter (± 163
)61319
ns/iter (± 82
)1.02
es/transform/baseline/common_typescript
168709
ns/iter (± 331
)166559
ns/iter (± 376
)1.01
es/target/es3
169646
ns/iter (± 431
)165804
ns/iter (± 122
)1.02
es/target/es2015
627921
ns/iter (± 1857
)602001
ns/iter (± 1149
)1.04
es/target/es2016
64934
ns/iter (± 161
)63778
ns/iter (± 76
)1.02
es/target/es2017
61697
ns/iter (± 62
)60452
ns/iter (± 45
)1.02
es/target/es2018
81795
ns/iter (± 116
)80204
ns/iter (± 73
)1.02
es/target/es2020
132380
ns/iter (± 205
)128441
ns/iter (± 115
)1.03
babelify-only
672299
ns/iter (± 791
)671031
ns/iter (± 1482
)1.00
parse_and_babelify_angular
41482742
ns/iter (± 849963
)45899029
ns/iter (± 721333
)0.90
parse_and_babelify_backbone
5313844
ns/iter (± 45877
)5649894
ns/iter (± 161103
)0.94
parse_and_babelify_jquery
30992425
ns/iter (± 428708
)34577922
ns/iter (± 503362
)0.90
parse_and_babelify_jquery_mobile
53646758
ns/iter (± 1799129
)59465545
ns/iter (± 1000709
)0.90
parse_and_babelify_mootools
31926663
ns/iter (± 280134
)35631671
ns/iter (± 383767
)0.90
parse_and_babelify_underscore
4317496
ns/iter (± 21820
)4392093
ns/iter (± 37491
)0.98
parse_and_babelify_yui
31540989
ns/iter (± 461646
)35439449
ns/iter (± 678210
)0.89
html/minify/document/css_spec
41431301
ns/iter (± 259692
)43375156
ns/iter (± 263807
)0.96
html/minify/document/github
17356511
ns/iter (± 21430
)17735859
ns/iter (± 345661
)0.98
html/minify/document/stackoverflow
15543975
ns/iter (± 32420
)15690098
ns/iter (± 42669
)0.99
html/minify/document_fragment/css_spec
39620135
ns/iter (± 178896
)41736730
ns/iter (± 358376
)0.95
html/minify/document_fragment/github
16745228
ns/iter (± 21360
)17083201
ns/iter (± 28754
)0.98
html/minify/document_fragment/stackoverflow
15054899
ns/iter (± 21017
)15338205
ns/iter (± 83196
)0.98
html/document/visitor/compare/clone
332699
ns/iter (± 2525
)338078
ns/iter (± 2292
)0.98
html/document/visitor/compare/visit_mut_span
360141
ns/iter (± 2031
)365099
ns/iter (± 2153
)0.99
html/document/visitor/compare/visit_mut_span_panic
370809
ns/iter (± 2034
)370852
ns/iter (± 1539
)1.00
html/document/visitor/compare/fold_span
404478
ns/iter (± 2299
)401923
ns/iter (± 1878
)1.01
html/document/visitor/compare/fold_span_panic
456420
ns/iter (± 2083
)457738
ns/iter (± 1426
)1.00
html/document_fragment/visitor/compare/clone
333923
ns/iter (± 1380
)334144
ns/iter (± 1773
)1.00
html/document_fragment/visitor/compare/visit_mut_span
366854
ns/iter (± 1896
)367013
ns/iter (± 1406
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
373233
ns/iter (± 2000
)370023
ns/iter (± 3071
)1.01
html/document_fragment/visitor/compare/fold_span
402661
ns/iter (± 1661
)399286
ns/iter (± 4586
)1.01
html/document_fragment/visitor/compare/fold_span_panic
454591
ns/iter (± 1233
)459892
ns/iter (± 1649
)0.99
html/lexer/css_2021_spec
15556328
ns/iter (± 6220
)15550368
ns/iter (± 14915
)1.00
html/lexer/github_com_17_05_2022
6023585
ns/iter (± 1879
)6021430
ns/iter (± 4519
)1.00
html/lexer/stackoverflow_com_17_05_2022
5646068
ns/iter (± 7517
)5633894
ns/iter (± 12029
)1.00
html/parser/parser_document/css_2021_spec
25574138
ns/iter (± 297482
)26293747
ns/iter (± 192765
)0.97
html/parser/parser_document/github_com_17_05_2022
8745845
ns/iter (± 6790
)8770019
ns/iter (± 11304
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7695139
ns/iter (± 9099
)7714139
ns/iter (± 4384
)1.00
html/parser/parser_document_fragment/css_2021_spec
25617785
ns/iter (± 124990
)26797122
ns/iter (± 455780
)0.96
html/parser/parser_document_fragment/github_com_17_05_2022
8745094
ns/iter (± 25883
)8787531
ns/iter (± 16249
)1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7790547
ns/iter (± 5417
)7742881
ns/iter (± 54971
)1.01
This comment was automatically generated by workflow using github-action-benchmark.