Skip to content

Commit

Permalink
feat(css/prefixer): Support display (#6640)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 13, 2022
1 parent 4f39d82 commit c8b724f
Show file tree
Hide file tree
Showing 6 changed files with 474 additions and 43 deletions.
4 changes: 4 additions & 0 deletions crates/swc_atoms/words.txt
Expand Up @@ -1581,8 +1581,10 @@ rtc
rtl
ruby
ruby-align
ruby-base
ruby-merge
ruby-position
ruby-text
run-in
s
samp
Expand Down Expand Up @@ -1711,6 +1713,8 @@ systemlanguage
tab-size
tabindex
table
table-caption
table-cell
table-layout
tableValues
tablevalues
Expand Down
17 changes: 17 additions & 0 deletions crates/swc_css_prefixer/data/prefixes_and_browsers.json
Expand Up @@ -3891,5 +3891,22 @@
"firefox": "69",
"samsung": "11.2"
}
],
"display:multi-keyword-values": [
{
"chrome": "4",
"edge": "12",
"samsung": "4",
"opera": "10",
"ie": "6",
"safari": "3.1",
"ios": "3.2",
"firefox": "2"
},
{
"safari": "14.1",
"ios": "14.8",
"firefox": "69"
}
]
}
245 changes: 203 additions & 42 deletions crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -1444,8 +1444,6 @@ impl VisitMut for Prefixer {

($property:expr, $value:expr) => {{
if should_prefix($property, self.env, true) {
// Check we don't have prefixed property

let name = DeclarationName::Ident(Ident {
span: DUMMY_SP,
value: $property.into(),
Expand Down Expand Up @@ -1667,58 +1665,221 @@ impl VisitMut for Prefixer {
}
}

"display" if n.value.len() == 1 => {
if self.rule_prefix == Some(Prefix::Webkit) || self.rule_prefix.is_none() {
let mut old_spec_webkit_value = webkit_value.clone();
"display" => {
if n.value.len() == 1 {
if self.rule_prefix == Some(Prefix::Webkit) || self.rule_prefix.is_none() {
let mut old_spec_webkit_value = webkit_value.clone();

if should_prefix("-webkit-box", self.env, false) {
replace_ident(&mut old_spec_webkit_value, "flex", "-webkit-box");
}
if should_prefix("-webkit-box", self.env, false) {
replace_ident(&mut old_spec_webkit_value, "flex", "-webkit-box");
}

if should_prefix("-webkit-inline-box", self.env, false) {
replace_ident(
&mut old_spec_webkit_value,
"inline-flex",
"-webkit-inline-box",
);
}
if should_prefix("-webkit-inline-box", self.env, false) {
replace_ident(
&mut old_spec_webkit_value,
"inline-flex",
"-webkit-inline-box",
);
}

if n.value != old_spec_webkit_value {
self.added_declarations.push(Box::new(Declaration {
span: n.span,
name: n.name.clone(),
value: old_spec_webkit_value,
important: n.important.clone(),
}));
}
if n.value != old_spec_webkit_value {
self.added_declarations.push(Box::new(Declaration {
span: n.span,
name: n.name.clone(),
value: old_spec_webkit_value,
important: n.important.clone(),
}));
}

if should_prefix("-webkit-flex:display", self.env, false) {
replace_ident(&mut webkit_value, "flex", "-webkit-flex");
}
if should_prefix("-webkit-flex:display", self.env, false) {
replace_ident(&mut webkit_value, "flex", "-webkit-flex");
}

if should_prefix("-webkit-inline-flex", self.env, false) {
replace_ident(&mut webkit_value, "inline-flex", "-webkit-inline-flex");
if should_prefix("-webkit-inline-flex", self.env, false) {
replace_ident(&mut webkit_value, "inline-flex", "-webkit-inline-flex");
}
}
}

if self.rule_prefix == Some(Prefix::Moz) || self.rule_prefix.is_none() {
if should_prefix("-moz-box", self.env, false) {
replace_ident(&mut moz_value, "flex", "-moz-box");
}
if self.rule_prefix == Some(Prefix::Moz) || self.rule_prefix.is_none() {
if should_prefix("-moz-box", self.env, false) {
replace_ident(&mut moz_value, "flex", "-moz-box");
}

if should_prefix("-moz-inline-box", self.env, false) {
replace_ident(&mut moz_value, "inline-flex", "-moz-inline-box");
if should_prefix("-moz-inline-box", self.env, false) {
replace_ident(&mut moz_value, "inline-flex", "-moz-inline-box");
}
}
}

if self.rule_prefix == Some(Prefix::Ms) || self.rule_prefix.is_none() {
if should_prefix("-ms-flexbox", self.env, false) {
replace_ident(&mut ms_value, "flex", "-ms-flexbox");
}
if self.rule_prefix == Some(Prefix::Ms) || self.rule_prefix.is_none() {
if should_prefix("-ms-flexbox", self.env, false) {
replace_ident(&mut ms_value, "flex", "-ms-flexbox");
}

if should_prefix("-ms-inline-flexbox", self.env, false) {
replace_ident(&mut ms_value, "inline-flex", "-ms-inline-flexbox");
if should_prefix("-ms-inline-flexbox", self.env, false) {
replace_ident(&mut ms_value, "inline-flex", "-ms-inline-flexbox");
}
}
} else if n.value.len() == 2
&& should_prefix("display:multi-keyword-values", self.env, true)
{
if let (
Some(ComponentValue::Ident(first)),
Some(ComponentValue::Ident(second)),
) = (n.value.get(0), n.value.get(1))
{
match (&first.value, &second.value) {
(&js_word!("block"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("block")] }))
);
}
(&js_word!("block"), &js_word!("flow-root"))
| (&js_word!("flow-root"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("flow-root")] }))
);
}
(&js_word!("inline"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("inline")] }))
);
}
(&js_word!("inline"), &js_word!("flow-root"))
| (&js_word!("flow-root"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("inline-block")] }))
);
}
(&js_word!("run-in"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("run-in")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("run-in")] }))
);
}
(&js_word!("block"), &js_word!("flex"))
| (&js_word!("flex"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("flex")] }))
);
}
(&js_word!("inline"), &js_word!("flex"))
| (&js_word!("flex"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("inline-flex")] }))
);
}
(&js_word!("block"), &js_word!("grid"))
| (&js_word!("grid"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("grid")] }))
);
}
(&js_word!("inline"), &js_word!("grid"))
| (&js_word!("grid"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("inline-grid")] }))
);
}
(&js_word!("inline"), &js_word!("ruby"))
| (&js_word!("ruby"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("ruby")] }))
);
}
(&js_word!("block"), &js_word!("table"))
| (&js_word!("table"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("table")] }))
);
}
(&js_word!("inline"), &js_word!("table"))
| (&js_word!("table"), &js_word!("inline")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("inline-table")] }))
);
}
(&js_word!("table-cell"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("table-cell")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("table-cell")] }))
);
}
(&js_word!("table-caption"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("table-caption")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("table-caption")] }))
);
}
(&js_word!("ruby-base"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("ruby-base")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("ruby-base")] }))
);
}
(&js_word!("ruby-text"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("ruby-text")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("ruby-text")] }))
);
}
_ => {}
}
}
} else if n.value.len() == 3
&& should_prefix("display:multi-keyword-values", self.env, true)
{
if let (
Some(ComponentValue::Ident(first)),
Some(ComponentValue::Ident(second)),
Some(ComponentValue::Ident(third)),
) = (n.value.get(0), n.value.get(1), n.value.get(2))
{
match (&first.value, &second.value, &third.value) {
(&js_word!("list-item"), &js_word!("block"), &js_word!("flow"))
| (&js_word!("list-item"), &js_word!("flow"), &js_word!("block"))
| (&js_word!("block"), &js_word!("list-item"), &js_word!("flow"))
| (&js_word!("block"), &js_word!("flow"), &js_word!("list-item"))
| (&js_word!("flow"), &js_word!("block"), &js_word!("list-item"))
| (&js_word!("flow"), &js_word!("list-item"), &js_word!("block")) => {
add_declaration!(
"display",
Some(Box::new(|| { vec![to_ident!("list-item")] }))
);
}
(&js_word!("inline"), &js_word!("flow"), &js_word!("list-item"))
| (&js_word!("inline"), &js_word!("list-item"), &js_word!("flow"))
| (&js_word!("flow"), &js_word!("inline"), &js_word!("list-item"))
| (&js_word!("flow"), &js_word!("list-item"), &js_word!("inline"))
| (&js_word!("list-item"), &js_word!("flow"), &js_word!("inline"))
| (&js_word!("list-item"), &js_word!("inline"), &js_word!("flow")) => {
add_declaration!(
"display",
Some(Box::new(|| {
vec![to_ident!("inline"), to_ident!("list-item")]
}))
);
}
_ => {}
}
};
}
}

Expand Down

1 comment on commit c8b724f

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: c8b724f Previous: 2fee4d1 Ratio
es/full/bugs-1 303476 ns/iter (± 23856) 307617 ns/iter (± 25843) 0.99
es/full/minify/libraries/antd 1856315425 ns/iter (± 21639874) 1810193190 ns/iter (± 32588297) 1.03
es/full/minify/libraries/d3 369309511 ns/iter (± 7695836) 357039043 ns/iter (± 5266207) 1.03
es/full/minify/libraries/echarts 1548788819 ns/iter (± 17592550) 1484687000 ns/iter (± 12023424) 1.04
es/full/minify/libraries/jquery 100487573 ns/iter (± 2740989) 93750776 ns/iter (± 1821231) 1.07
es/full/minify/libraries/lodash 115960347 ns/iter (± 2474102) 113374688 ns/iter (± 1836321) 1.02
es/full/minify/libraries/moment 55939962 ns/iter (± 483151) 54587306 ns/iter (± 279001) 1.02
es/full/minify/libraries/react 20220935 ns/iter (± 124469) 19986321 ns/iter (± 178193) 1.01
es/full/minify/libraries/terser 290394286 ns/iter (± 5641570) 279205068 ns/iter (± 5864105) 1.04
es/full/minify/libraries/three 529126694 ns/iter (± 8780940) 501601963 ns/iter (± 6459160) 1.05
es/full/minify/libraries/typescript 3473471473 ns/iter (± 23312231) 3390087412 ns/iter (± 17711527) 1.02
es/full/minify/libraries/victory 798834472 ns/iter (± 24234547) 769816428 ns/iter (± 14159115) 1.04
es/full/minify/libraries/vue 148277332 ns/iter (± 3762297) 139754164 ns/iter (± 1015870) 1.06
es/full/codegen/es3 27419 ns/iter (± 34) 27380 ns/iter (± 37) 1.00
es/full/codegen/es5 27421 ns/iter (± 43) 27429 ns/iter (± 53) 1.00
es/full/codegen/es2015 27417 ns/iter (± 47) 27453 ns/iter (± 36) 1.00
es/full/codegen/es2016 27411 ns/iter (± 51) 27450 ns/iter (± 47) 1.00
es/full/codegen/es2017 27402 ns/iter (± 38) 27504 ns/iter (± 60) 1.00
es/full/codegen/es2018 27412 ns/iter (± 38) 27479 ns/iter (± 41) 1.00
es/full/codegen/es2019 27388 ns/iter (± 35) 27490 ns/iter (± 235) 1.00
es/full/codegen/es2020 27412 ns/iter (± 38) 27467 ns/iter (± 39) 1.00
es/full/all/es3 173272277 ns/iter (± 2665023) 169187174 ns/iter (± 2675382) 1.02
es/full/all/es5 163260193 ns/iter (± 3918328) 162702537 ns/iter (± 2707807) 1.00
es/full/all/es2015 124150725 ns/iter (± 1864585) 122749552 ns/iter (± 3983319) 1.01
es/full/all/es2016 124109171 ns/iter (± 1543426) 120189695 ns/iter (± 682485) 1.03
es/full/all/es2017 121230097 ns/iter (± 1211730) 120770905 ns/iter (± 1760447) 1.00
es/full/all/es2018 120597062 ns/iter (± 1885361) 118436170 ns/iter (± 1913050) 1.02
es/full/all/es2019 119148658 ns/iter (± 2341522) 117554806 ns/iter (± 1004920) 1.01
es/full/all/es2020 114905513 ns/iter (± 2123392) 113216879 ns/iter (± 2180248) 1.01
es/full/parser 520557 ns/iter (± 10361) 519598 ns/iter (± 8950) 1.00
es/full/base/fixer 21681 ns/iter (± 22) 22074 ns/iter (± 46) 0.98
es/full/base/resolver_and_hygiene 78736 ns/iter (± 198) 78120 ns/iter (± 65) 1.01
serialization of ast node 143 ns/iter (± 0) 142 ns/iter (± 0) 1.01
serialization of serde 123 ns/iter (± 0) 123 ns/iter (± 0) 1
css/minify/libraries/bootstrap 28953029 ns/iter (± 189587) 27400070 ns/iter (± 97702) 1.06
css/visitor/compare/clone 2413961 ns/iter (± 10274) 2050014 ns/iter (± 9827) 1.18
css/visitor/compare/visit_mut_span 2702177 ns/iter (± 11874) 2257746 ns/iter (± 5884) 1.20
css/visitor/compare/visit_mut_span_panic 2721821 ns/iter (± 16198) 2336799 ns/iter (± 4186) 1.16
css/visitor/compare/fold_span 3487810 ns/iter (± 38669) 2996887 ns/iter (± 22851) 1.16
css/visitor/compare/fold_span_panic 3575781 ns/iter (± 34322) 3154218 ns/iter (± 14104) 1.13
css/lexer/bootstrap_5_1_3 5190390 ns/iter (± 2042) 5220100 ns/iter (± 2743) 0.99
css/lexer/foundation_6_7_4 4398897 ns/iter (± 823) 4433909 ns/iter (± 2434) 0.99
css/lexer/tailwind_3_1_1 826158 ns/iter (± 166) 831330 ns/iter (± 312) 0.99
css/parser/bootstrap_5_1_3 21479055 ns/iter (± 131523) 20847616 ns/iter (± 224941) 1.03
css/parser/foundation_6_7_4 17301805 ns/iter (± 59160) 16731367 ns/iter (± 94348) 1.03
css/parser/tailwind_3_1_1 3207070 ns/iter (± 5338) 3169036 ns/iter (± 4975) 1.01
es/codegen/colors 321949 ns/iter (± 182032) 325177 ns/iter (± 182601) 0.99
es/codegen/large 1067553 ns/iter (± 552204) 1207797 ns/iter (± 644260) 0.88
es/codegen/with-parser/colors 46112 ns/iter (± 352) 46031 ns/iter (± 75) 1.00
es/codegen/with-parser/large 514679 ns/iter (± 3596) 512456 ns/iter (± 1954) 1.00
es/minify/libraries/antd 1645390847 ns/iter (± 29443684) 1569737747 ns/iter (± 18969616) 1.05
es/minify/libraries/d3 332592566 ns/iter (± 6456515) 310542251 ns/iter (± 4129761) 1.07
es/minify/libraries/echarts 1353762068 ns/iter (± 12169998) 1319483259 ns/iter (± 9432214) 1.03
es/minify/libraries/jquery 83215268 ns/iter (± 846030) 81080352 ns/iter (± 1686018) 1.03
es/minify/libraries/lodash 102609603 ns/iter (± 954133) 98536979 ns/iter (± 1386592) 1.04
es/minify/libraries/moment 47631307 ns/iter (± 501537) 46882835 ns/iter (± 987810) 1.02
es/minify/libraries/react 17776267 ns/iter (± 179621) 17631001 ns/iter (± 243650) 1.01
es/minify/libraries/terser 239450486 ns/iter (± 5399693) 228408342 ns/iter (± 3974983) 1.05
es/minify/libraries/three 451706235 ns/iter (± 8132415) 417554955 ns/iter (± 7943432) 1.08
es/minify/libraries/typescript 2913313068 ns/iter (± 19102306) 2910487273 ns/iter (± 15463572) 1.00
es/minify/libraries/victory 683777458 ns/iter (± 17889506) 663614931 ns/iter (± 11752370) 1.03
es/minify/libraries/vue 126924152 ns/iter (± 2641217) 121606737 ns/iter (± 3111002) 1.04
es/visitor/compare/clone 2729183 ns/iter (± 19574) 2409354 ns/iter (± 6637) 1.13
es/visitor/compare/visit_mut_span 3232360 ns/iter (± 40132) 2813309 ns/iter (± 20975) 1.15
es/visitor/compare/visit_mut_span_panic 3274301 ns/iter (± 14797) 2837245 ns/iter (± 12725) 1.15
es/visitor/compare/fold_span 4476268 ns/iter (± 72234) 3919707 ns/iter (± 7754) 1.14
es/visitor/compare/fold_span_panic 4697808 ns/iter (± 95642) 4104159 ns/iter (± 39143) 1.14
es/lexer/colors 17431 ns/iter (± 10) 17376 ns/iter (± 8) 1.00
es/lexer/angular 8234941 ns/iter (± 4079) 8222936 ns/iter (± 8224) 1.00
es/lexer/backbone 1075000 ns/iter (± 2432) 1071139 ns/iter (± 315) 1.00
es/lexer/jquery 5975307 ns/iter (± 2260) 5957179 ns/iter (± 2031) 1.00
es/lexer/jquery mobile 9191732 ns/iter (± 6329) 9161935 ns/iter (± 2840) 1.00
es/lexer/mootools 4683716 ns/iter (± 2656) 4673111 ns/iter (± 1804) 1.00
es/lexer/underscore 896995 ns/iter (± 526) 894981 ns/iter (± 591) 1.00
es/lexer/three 28001327 ns/iter (± 144065) 27953985 ns/iter (± 90632) 1.00
es/lexer/yui 5056921 ns/iter (± 3757) 5052603 ns/iter (± 3344) 1.00
es/parser/colors 31473 ns/iter (± 152) 31392 ns/iter (± 91) 1.00
es/parser/angular 17148759 ns/iter (± 227560) 16469205 ns/iter (± 104690) 1.04
es/parser/backbone 2355931 ns/iter (± 7713) 2340502 ns/iter (± 14038) 1.01
es/parser/jquery 13346690 ns/iter (± 247060) 12717226 ns/iter (± 120191) 1.05
es/parser/jquery mobile 22142091 ns/iter (± 292658) 20644686 ns/iter (± 395065) 1.07
es/parser/mootools 10022124 ns/iter (± 45920) 9653015 ns/iter (± 50611) 1.04
es/parser/underscore 2001376 ns/iter (± 11420) 1997453 ns/iter (± 11625) 1.00
es/parser/three 62679899 ns/iter (± 209134) 61615262 ns/iter (± 387333) 1.02
es/parser/yui 10122460 ns/iter (± 99513) 9761035 ns/iter (± 60288) 1.04
es/preset-env/usage/builtin_type 141435 ns/iter (± 32409) 142158 ns/iter (± 32518) 0.99
es/preset-env/usage/property 20993 ns/iter (± 124) 21019 ns/iter (± 81) 1.00
es/resolver/typescript 130204988 ns/iter (± 1749766) 124355491 ns/iter (± 3518932) 1.05
es/fixer/typescript 102867262 ns/iter (± 2535431) 97801900 ns/iter (± 752929) 1.05
es/hygiene/typescript 200622231 ns/iter (± 2216127) 189949048 ns/iter (± 1237706) 1.06
es/resolver_with_hygiene/typescript 338647072 ns/iter (± 2561368) 329337158 ns/iter (± 3886389) 1.03
es/visitor/base-perf/module_clone 74142 ns/iter (± 732) 74124 ns/iter (± 981) 1.00
es/visitor/base-perf/fold_empty 86116 ns/iter (± 783) 85765 ns/iter (± 1452) 1.00
es/visitor/base-perf/fold_noop_impl_all 86459 ns/iter (± 452) 87594 ns/iter (± 1386) 0.99
es/visitor/base-perf/fold_noop_impl_vec 86383 ns/iter (± 1063) 85855 ns/iter (± 1471) 1.01
es/visitor/base-perf/boxing_boxed_clone 55 ns/iter (± 0) 54 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 61 ns/iter (± 0) 58 ns/iter (± 0) 1.05
es/visitor/base-perf/boxing_boxed 99 ns/iter (± 0) 100 ns/iter (± 0) 0.99
es/visitor/base-perf/boxing_unboxed 103 ns/iter (± 0) 100 ns/iter (± 0) 1.03
es/visitor/base-perf/visit_contains_this 3489 ns/iter (± 92) 3464 ns/iter (± 94) 1.01
es/base/parallel/resolver/typescript 5184718103 ns/iter (± 220953869) 5603987902 ns/iter (± 467853657) 0.93
es/base/parallel/hygiene/typescript 2348964029 ns/iter (± 47925504) 2268253487 ns/iter (± 40085879) 1.04
misc/visitors/time-complexity/time 5 93 ns/iter (± 0) 96 ns/iter (± 1) 0.97
misc/visitors/time-complexity/time 10 301 ns/iter (± 0) 296 ns/iter (± 4) 1.02
misc/visitors/time-complexity/time 15 629 ns/iter (± 1) 660 ns/iter (± 11) 0.95
misc/visitors/time-complexity/time 20 1161 ns/iter (± 7) 1179 ns/iter (± 2) 0.98
misc/visitors/time-complexity/time 40 6030 ns/iter (± 39) 6115 ns/iter (± 4) 0.99
misc/visitors/time-complexity/time 60 15222 ns/iter (± 81) 15506 ns/iter (± 7) 0.98
es/full-target/es2016 188413 ns/iter (± 361) 187639 ns/iter (± 435) 1.00
es/full-target/es2017 183062 ns/iter (± 1010) 180583 ns/iter (± 683) 1.01
es/full-target/es2018 171343 ns/iter (± 386) 170259 ns/iter (± 581) 1.01
es2020_nullish_coalescing 65870 ns/iter (± 199) 65539 ns/iter (± 118) 1.01
es2020_optional_chaining 95219 ns/iter (± 338) 93915 ns/iter (± 249) 1.01
es2022_class_properties 93510 ns/iter (± 216) 92200 ns/iter (± 186) 1.01
es2018_object_rest_spread 70722 ns/iter (± 126) 70140 ns/iter (± 119) 1.01
es2019_optional_catch_binding 60475 ns/iter (± 149) 60033 ns/iter (± 114) 1.01
es2017_async_to_generator 61118 ns/iter (± 102) 60544 ns/iter (± 81) 1.01
es2016_exponentiation 64286 ns/iter (± 127) 63606 ns/iter (± 79) 1.01
es2015_arrow 69814 ns/iter (± 285) 68662 ns/iter (± 185) 1.02
es2015_block_scoped_fn 65740 ns/iter (± 153) 64912 ns/iter (± 89) 1.01
es2015_block_scoping 153818 ns/iter (± 9921) 153078 ns/iter (± 10631) 1.00
es2015_classes 115841 ns/iter (± 383) 114566 ns/iter (± 386) 1.01
es2015_computed_props 60980 ns/iter (± 126) 59870 ns/iter (± 76) 1.02
es2015_destructuring 116450 ns/iter (± 310) 113855 ns/iter (± 220) 1.02
es2015_duplicate_keys 63523 ns/iter (± 114) 62491 ns/iter (± 81) 1.02
es2015_parameters 79259 ns/iter (± 217) 78658 ns/iter (± 107) 1.01
es2015_fn_name 66630 ns/iter (± 723) 65925 ns/iter (± 639) 1.01
es2015_for_of 63545 ns/iter (± 196) 63114 ns/iter (± 113) 1.01
es2015_instanceof 62481 ns/iter (± 82) 62215 ns/iter (± 83) 1.00
es2015_shorthand_property 60482 ns/iter (± 118) 59887 ns/iter (± 135) 1.01
es2015_spread 60272 ns/iter (± 68) 59807 ns/iter (± 119) 1.01
es2015_sticky_regex 61591 ns/iter (± 91) 61158 ns/iter (± 70) 1.01
es2015_typeof_symbol 61718 ns/iter (± 111) 61053 ns/iter (± 127) 1.01
es/transform/baseline/base 51120 ns/iter (± 132) 50679 ns/iter (± 57) 1.01
es/transform/baseline/common_reserved_word 62069 ns/iter (± 117) 61360 ns/iter (± 77) 1.01
es/transform/baseline/common_typescript 144627 ns/iter (± 6934) 145394 ns/iter (± 3344) 0.99
es/target/es3 169614 ns/iter (± 290) 167724 ns/iter (± 355) 1.01
es/target/es2015 632468 ns/iter (± 1603) 630699 ns/iter (± 1495) 1.00
es/target/es2016 64270 ns/iter (± 131) 63831 ns/iter (± 124) 1.01
es/target/es2017 61171 ns/iter (± 106) 60711 ns/iter (± 133) 1.01
es/target/es2018 80813 ns/iter (± 178) 80148 ns/iter (± 86) 1.01
es/target/es2020 131813 ns/iter (± 351) 130881 ns/iter (± 321) 1.01
babelify-only 680277 ns/iter (± 1283) 676233 ns/iter (± 10462) 1.01
parse_and_babelify_angular 46598151 ns/iter (± 773435) 43873105 ns/iter (± 511683) 1.06
parse_and_babelify_backbone 5957795 ns/iter (± 138485) 5491818 ns/iter (± 82738) 1.08
parse_and_babelify_jquery 36185132 ns/iter (± 392918) 34424767 ns/iter (± 518289) 1.05
parse_and_babelify_jquery_mobile 61559766 ns/iter (± 585079) 58444017 ns/iter (± 1141178) 1.05
parse_and_babelify_mootools 37522992 ns/iter (± 910417) 35214498 ns/iter (± 503962) 1.07
parse_and_babelify_underscore 4536084 ns/iter (± 56583) 4367556 ns/iter (± 56584) 1.04
parse_and_babelify_yui 38003506 ns/iter (± 1314528) 35287917 ns/iter (± 372737) 1.08
html/minify/document/css_spec 46116209 ns/iter (± 448026) 43053444 ns/iter (± 305404) 1.07
html/minify/document/github 18264866 ns/iter (± 82901) 17484279 ns/iter (± 73168) 1.04
html/minify/document/stackoverflow 16235161 ns/iter (± 114361) 15820747 ns/iter (± 81817) 1.03
html/minify/document_fragment/css_spec 43120871 ns/iter (± 383413) 40529471 ns/iter (± 407915) 1.06
html/minify/document_fragment/github 17378605 ns/iter (± 38969) 16798082 ns/iter (± 56807) 1.03
html/minify/document_fragment/stackoverflow 15672940 ns/iter (± 82002) 15298476 ns/iter (± 54035) 1.02
html/document/visitor/compare/clone 395331 ns/iter (± 5497) 341789 ns/iter (± 1845) 1.16
html/document/visitor/compare/visit_mut_span 429771 ns/iter (± 5336) 373398 ns/iter (± 1428) 1.15
html/document/visitor/compare/visit_mut_span_panic 439200 ns/iter (± 5032) 379297 ns/iter (± 1626) 1.16
html/document/visitor/compare/fold_span 469497 ns/iter (± 3804) 409038 ns/iter (± 2373) 1.15
html/document/visitor/compare/fold_span_panic 527176 ns/iter (± 4137) 467605 ns/iter (± 2169) 1.13
html/document_fragment/visitor/compare/clone 398746 ns/iter (± 4437) 340192 ns/iter (± 2328) 1.17
html/document_fragment/visitor/compare/visit_mut_span 426076 ns/iter (± 5150) 368280 ns/iter (± 3003) 1.16
html/document_fragment/visitor/compare/visit_mut_span_panic 441365 ns/iter (± 4848) 374567 ns/iter (± 2356) 1.18
html/document_fragment/visitor/compare/fold_span 467145 ns/iter (± 3404) 405502 ns/iter (± 4238) 1.15
html/document_fragment/visitor/compare/fold_span_panic 524175 ns/iter (± 3141) 460705 ns/iter (± 1330) 1.14
html/lexer/css_2021_spec 15510763 ns/iter (± 7314) 15555440 ns/iter (± 14633) 1.00
html/lexer/github_com_17_05_2022 6026397 ns/iter (± 1516) 6050985 ns/iter (± 2543) 1.00
html/lexer/stackoverflow_com_17_05_2022 5624004 ns/iter (± 979) 5645611 ns/iter (± 2649) 1.00
html/parser/parser_document/css_2021_spec 27695551 ns/iter (± 108925) 26062169 ns/iter (± 194542) 1.06
html/parser/parser_document/github_com_17_05_2022 8950771 ns/iter (± 17747) 8813047 ns/iter (± 119984) 1.02
html/parser/parser_document/stackoverflow_com_17_05_2022 7917297 ns/iter (± 10534) 7836106 ns/iter (± 7357) 1.01
html/parser/parser_document_fragment/css_2021_spec 27818152 ns/iter (± 205169) 26146441 ns/iter (± 203481) 1.06
html/parser/parser_document_fragment/github_com_17_05_2022 8993539 ns/iter (± 19307) 8847555 ns/iter (± 13940) 1.02
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7815186 ns/iter (± 10066) 7744773 ns/iter (± 5029) 1.01

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

Please sign in to comment.