Skip to content

Commit

Permalink
feat(css/prefixer): Support font-face format (#6644)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 14, 2022
1 parent 863f9f8 commit 199ac74
Show file tree
Hide file tree
Showing 9 changed files with 185 additions and 1 deletion.
7 changes: 7 additions & 0 deletions crates/swc_atoms/words.txt
Expand Up @@ -798,6 +798,7 @@ code
codebase
col
colgroup
collection
color
color-index
color-mix
Expand Down Expand Up @@ -893,6 +894,7 @@ ellipse
else
em
embed
embedded-opentype
empty-cells
encoding
end
Expand Down Expand Up @@ -1014,6 +1016,7 @@ foreignObject
foreignobject
form
formaction
format
frame
frameset
from
Expand Down Expand Up @@ -1423,6 +1426,7 @@ onwebkitanimationstart
onwebkittransitionend
onwheel
opacity
opentype
optgroup
option
or
Expand Down Expand Up @@ -1793,6 +1797,7 @@ translateZ
transparent
tref
true
truetype
try
tspan
tt
Expand Down Expand Up @@ -1841,6 +1846,8 @@ widows
width
will-change
with
woff
woff2
word-break
word-spacing
word-wrap
Expand Down
16 changes: 16 additions & 0 deletions crates/swc_css_prefixer/data/prefixes_and_browsers.json
Expand Up @@ -3929,5 +3929,21 @@
"ios": "14.8",
"firefox": "69"
}
],
"font-face-format-ident": [
{
"chrome": "4",
"edge": "12",
"firefox": "2",
"samsung": "4",
"ios": "3.2",
"opera": "10",
"safari": "3.1",
"ie": "6"
},
{
"safari": "3.2",
"ios": "4.3"
}
]
}
59 changes: 58 additions & 1 deletion crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -265,7 +265,7 @@ impl VisitMut for ImageSetFunctionReplacerOnLegacyVariant<'_> {
fn visit_mut_function(&mut self, n: &mut Function) {
let old_in_function = self.in_function;

self.in_function = true;
self.in_function = n.name.value.eq_str_ignore_ascii_case(self.from);

n.visit_mut_children_with(self);

Expand Down Expand Up @@ -591,6 +591,53 @@ where
});
}

pub struct FontFaceFormatOldSyntax {}

impl VisitMut for FontFaceFormatOldSyntax {
fn visit_mut_function(&mut self, n: &mut Function) {
n.visit_mut_children_with(self);

if !n.name.value.eq_ignore_ascii_case(&js_word!("format")) {
return;
}

if n.value.len() != 1 {
return;
}

if let Some(ComponentValue::Ident(box ident)) = n.value.get(0) {
let new_value: JsWord = ident.value.to_ascii_lowercase();
let new_value = match new_value {
js_word!("woff")
| js_word!("truetype")
| js_word!("opentype")
| js_word!("woff2")
| js_word!("embedded-opentype")
| js_word!("collection")
| js_word!("svg") => new_value,
_ => {
return;
}
};

let new_value = Str {
value: new_value,
span: ident.span,
raw: None,
};

n.value = vec![ComponentValue::Str(Box::new(new_value))];
}
}
}

pub fn font_face_format_old_syntax<N>(node: &mut N)
where
N: VisitMutWith<FontFaceFormatOldSyntax>,
{
node.visit_mut_with(&mut FontFaceFormatOldSyntax {});
}

macro_rules! to_ident {
($val:expr) => {{
ComponentValue::Ident(Box::new(Ident {
Expand Down Expand Up @@ -3294,6 +3341,16 @@ impl VisitMut for Prefixer {
add_declaration!(Prefix::Moz, "-moz-border-radius-bottomleft", None);
}

"src" if should_prefix("font-face-format-ident", self.env, true) => {
let mut new_declaration = n.clone();

font_face_format_old_syntax(&mut new_declaration);

if n.value != new_declaration.value {
self.added_declarations.push(Box::new(new_declaration));
}
}

// TODO add `grid` support https://github.com/postcss/autoprefixer/tree/main/lib/hacks (starting with grid)
// TODO fix me https://github.com/postcss/autoprefixer/blob/main/test/cases/custom-prefix.out.css
_ => {}
Expand Down
28 changes: 28 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/font-face-format/input.css
@@ -0,0 +1,28 @@
@font-face {
src: format(woff);
}

@font-face {
src: url(a) format(woff), url(b) format(svg);
}

@font-face {
src: format(woff), format(truetype), format(opentype), format(woff2), format(embedded-opentype), format(collection), format(svg);
}

@Font-face {
src: FORMAT(WOFF)
}

@font-face {
src: format("woff");
}

@font-face {
src: url(a) format("woff"), url(b) format(svg);
}

@font-face {
src: url(a) format("woff"), url(b) format("svg");
}

26 changes: 26 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/font-face-format/output.css
@@ -0,0 +1,26 @@
@font-face{
src: format("woff");
src: format(woff);
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
src: url(a) format(woff), url(b) format(svg);
}
@font-face{
src: format("woff"), format("truetype"), format("opentype"), format("woff2"), format("embedded-opentype"), format("collection"), format("svg");
src: format(woff), format(truetype), format(opentype), format(woff2), format(embedded-opentype), format(collection), format(svg);
}
@Font-face{
src: FORMAT("woff");
src: FORMAT(WOFF);
}
@font-face{
src: format("woff");
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
src: url(a) format("woff"), url(b) format(svg);
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
}
@@ -0,0 +1,26 @@
@font-face{
src: format("woff");
src: format(woff);
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
src: url(a) format(woff), url(b) format(svg);
}
@font-face{
src: format("woff"), format("truetype"), format("opentype"), format("woff2"), format("embedded-opentype"), format("collection"), format("svg");
src: format(woff), format(truetype), format(opentype), format(woff2), format(embedded-opentype), format(collection), format(svg);
}
@Font-face{
src: FORMAT("woff");
src: FORMAT(WOFF);
}
@font-face{
src: format("woff");
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
src: url(a) format("woff"), url(b) format(svg);
}
@font-face{
src: url(a) format("woff"), url(b) format("svg");
}
8 changes: 8 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/image-set/input.css
Expand Up @@ -36,4 +36,12 @@ h1 {

.broken {
content: image-set('foo@1x.png' 1x, "foo@2x.png" 2x) "test";
}

a {
background-image: image-set("foo@1x.png" 1x, url(foo@2x.png) 2x);
}

a {
background-image: image-set(url(foo@1x.png) 1x, unknown("foo@2x.png") 2x);
}
8 changes: 8 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/image-set/output.css
Expand Up @@ -43,3 +43,11 @@ h1 {
content: -webkit-image-set(url("foo@1x.png") 1x, url("foo@2x.png") 2x) "test";
content: image-set('foo@1x.png' 1x, "foo@2x.png" 2x) "test";
}
a {
background-image: -webkit-image-set(url("foo@1x.png") 1x, url(foo@2x.png) 2x);
background-image: image-set("foo@1x.png" 1x, url(foo@2x.png) 2x);
}
a {
background-image: -webkit-image-set(url(foo@1x.png) 1x, unknown("foo@2x.png") 2x);
background-image: image-set(url(foo@1x.png) 1x, unknown("foo@2x.png") 2x);
}
Expand Up @@ -40,3 +40,11 @@ h1 {
content: -webkit-image-set(url("foo@1x.png") 1x, url("foo@2x.png") 2x) "test";
content: image-set('foo@1x.png' 1x, "foo@2x.png" 2x) "test";
}
a {
background-image: -webkit-image-set(url("foo@1x.png") 1x, url(foo@2x.png) 2x);
background-image: image-set("foo@1x.png" 1x, url(foo@2x.png) 2x);
}
a {
background-image: -webkit-image-set(url(foo@1x.png) 1x, unknown("foo@2x.png") 2x);
background-image: image-set(url(foo@1x.png) 1x, unknown("foo@2x.png") 2x);
}

1 comment on commit 199ac74

@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: 199ac74 Previous: 7f3e698 Ratio
es/full/bugs-1 286022 ns/iter (± 13135) 303178 ns/iter (± 3922) 0.94
es/full/minify/libraries/antd 1744376852 ns/iter (± 18990220) 1840434509 ns/iter (± 32781904) 0.95
es/full/minify/libraries/d3 336060453 ns/iter (± 4837801) 372732248 ns/iter (± 6411226) 0.90
es/full/minify/libraries/echarts 1452237981 ns/iter (± 15115550) 1546580071 ns/iter (± 7306409) 0.94
es/full/minify/libraries/jquery 91641510 ns/iter (± 995224) 99304503 ns/iter (± 1057327) 0.92
es/full/minify/libraries/lodash 110390016 ns/iter (± 1805746) 116829698 ns/iter (± 873992) 0.94
es/full/minify/libraries/moment 53676939 ns/iter (± 330231) 54373814 ns/iter (± 429725) 0.99
es/full/minify/libraries/react 19743168 ns/iter (± 267956) 19974652 ns/iter (± 106593) 0.99
es/full/minify/libraries/terser 259859527 ns/iter (± 2917083) 279269661 ns/iter (± 5630331) 0.93
es/full/minify/libraries/three 477643943 ns/iter (± 5658769) 509457819 ns/iter (± 8165821) 0.94
es/full/minify/libraries/typescript 3288007972 ns/iter (± 17911378) 3395993078 ns/iter (± 21229753) 0.97
es/full/minify/libraries/victory 686275753 ns/iter (± 7983378) 762531008 ns/iter (± 15163029) 0.90
es/full/minify/libraries/vue 133471319 ns/iter (± 2100007) 141285461 ns/iter (± 1737987) 0.94
es/full/codegen/es3 27591 ns/iter (± 60) 27742 ns/iter (± 61) 0.99
es/full/codegen/es5 27589 ns/iter (± 42) 27757 ns/iter (± 61) 0.99
es/full/codegen/es2015 27623 ns/iter (± 54) 27808 ns/iter (± 72) 0.99
es/full/codegen/es2016 27582 ns/iter (± 38) 27740 ns/iter (± 202) 0.99
es/full/codegen/es2017 27573 ns/iter (± 51) 27732 ns/iter (± 50) 0.99
es/full/codegen/es2018 27544 ns/iter (± 62) 27739 ns/iter (± 63) 0.99
es/full/codegen/es2019 27588 ns/iter (± 33) 27744 ns/iter (± 65) 0.99
es/full/codegen/es2020 27603 ns/iter (± 82) 27735 ns/iter (± 64) 1.00
es/full/all/es3 170253867 ns/iter (± 3473648) 166586066 ns/iter (± 2224811) 1.02
es/full/all/es5 159807357 ns/iter (± 3601818) 158817215 ns/iter (± 3570625) 1.01
es/full/all/es2015 120832784 ns/iter (± 1718601) 119828290 ns/iter (± 3398021) 1.01
es/full/all/es2016 119675352 ns/iter (± 1994879) 119356919 ns/iter (± 1149187) 1.00
es/full/all/es2017 118464402 ns/iter (± 1623128) 117331145 ns/iter (± 1438308) 1.01
es/full/all/es2018 117956951 ns/iter (± 1668312) 117092745 ns/iter (± 2026017) 1.01
es/full/all/es2019 117473040 ns/iter (± 1498489) 116098498 ns/iter (± 1610970) 1.01
es/full/all/es2020 112291656 ns/iter (± 2626979) 111011129 ns/iter (± 1407976) 1.01
es/full/parser 511558 ns/iter (± 8650) 509660 ns/iter (± 11312) 1.00
es/full/base/fixer 22218 ns/iter (± 35) 22019 ns/iter (± 40) 1.01
es/full/base/resolver_and_hygiene 78517 ns/iter (± 97) 77076 ns/iter (± 100) 1.02
serialization of ast node 144 ns/iter (± 0) 142 ns/iter (± 0) 1.01
serialization of serde 127 ns/iter (± 0) 127 ns/iter (± 0) 1
css/minify/libraries/bootstrap 27046535 ns/iter (± 99164) 27531099 ns/iter (± 143091) 0.98
css/visitor/compare/clone 2089243 ns/iter (± 16173) 2085271 ns/iter (± 3608) 1.00
css/visitor/compare/visit_mut_span 2262021 ns/iter (± 3896) 2290849 ns/iter (± 8375) 0.99
css/visitor/compare/visit_mut_span_panic 2314377 ns/iter (± 5749) 2326650 ns/iter (± 8255) 0.99
css/visitor/compare/fold_span 2973867 ns/iter (± 21117) 2974268 ns/iter (± 14182) 1.00
css/visitor/compare/fold_span_panic 3104845 ns/iter (± 24288) 3113650 ns/iter (± 27510) 1.00
css/lexer/bootstrap_5_1_3 5180615 ns/iter (± 1248) 5210260 ns/iter (± 2308) 0.99
css/lexer/foundation_6_7_4 4406749 ns/iter (± 1550) 4397724 ns/iter (± 1764) 1.00
css/lexer/tailwind_3_1_1 831449 ns/iter (± 215) 826046 ns/iter (± 6692) 1.01
css/parser/bootstrap_5_1_3 20633481 ns/iter (± 23123) 21086893 ns/iter (± 227815) 0.98
css/parser/foundation_6_7_4 16526735 ns/iter (± 50213) 16982330 ns/iter (± 248959) 0.97
css/parser/tailwind_3_1_1 3187721 ns/iter (± 4977) 3187795 ns/iter (± 1575) 1.00
es/codegen/colors 327656 ns/iter (± 184310) 331144 ns/iter (± 184176) 0.99
es/codegen/large 1317456 ns/iter (± 700906) 1161226 ns/iter (± 579829) 1.13
es/codegen/with-parser/colors 45919 ns/iter (± 319) 46374 ns/iter (± 317) 0.99
es/codegen/with-parser/large 512102 ns/iter (± 1530) 515187 ns/iter (± 2649) 0.99
es/minify/libraries/antd 1502249247 ns/iter (± 12240743) 1568118552 ns/iter (± 16216964) 0.96
es/minify/libraries/d3 285628186 ns/iter (± 5474208) 306943417 ns/iter (± 4487997) 0.93
es/minify/libraries/echarts 1268655537 ns/iter (± 7637108) 1303495631 ns/iter (± 13172560) 0.97
es/minify/libraries/jquery 79534946 ns/iter (± 1285335) 79864881 ns/iter (± 754529) 1.00
es/minify/libraries/lodash 97702484 ns/iter (± 1527439) 99191995 ns/iter (± 1012947) 0.98
es/minify/libraries/moment 46275312 ns/iter (± 384883) 46696170 ns/iter (± 253519) 0.99
es/minify/libraries/react 17327658 ns/iter (± 215725) 17611829 ns/iter (± 118646) 0.98
es/minify/libraries/terser 218184250 ns/iter (± 2675295) 232455585 ns/iter (± 2170812) 0.94
es/minify/libraries/three 394440249 ns/iter (± 7841759) 427579106 ns/iter (± 12723708) 0.92
es/minify/libraries/typescript 2849935328 ns/iter (± 15001807) 2931431405 ns/iter (± 11099899) 0.97
es/minify/libraries/victory 608583045 ns/iter (± 10804419) 653667201 ns/iter (± 9294058) 0.93
es/minify/libraries/vue 119587427 ns/iter (± 2734028) 122737716 ns/iter (± 3698920) 0.97
es/visitor/compare/clone 2398978 ns/iter (± 22417) 2393683 ns/iter (± 20147) 1.00
es/visitor/compare/visit_mut_span 2773451 ns/iter (± 52536) 2809659 ns/iter (± 10998) 0.99
es/visitor/compare/visit_mut_span_panic 2818886 ns/iter (± 5724) 2855963 ns/iter (± 7086) 0.99
es/visitor/compare/fold_span 3933738 ns/iter (± 6864) 3940242 ns/iter (± 29527) 1.00
es/visitor/compare/fold_span_panic 4054650 ns/iter (± 9077) 4192987 ns/iter (± 82686) 0.97
es/lexer/colors 17235 ns/iter (± 35) 17513 ns/iter (± 14) 0.98
es/lexer/angular 8214843 ns/iter (± 2060) 8260229 ns/iter (± 5197) 0.99
es/lexer/backbone 1071218 ns/iter (± 646) 1080718 ns/iter (± 506) 0.99
es/lexer/jquery 5950367 ns/iter (± 5188) 5990726 ns/iter (± 5377) 0.99
es/lexer/jquery mobile 9162235 ns/iter (± 4556) 9218833 ns/iter (± 10116) 0.99
es/lexer/mootools 4668230 ns/iter (± 2496) 4710437 ns/iter (± 8577) 0.99
es/lexer/underscore 895010 ns/iter (± 380) 901378 ns/iter (± 582) 0.99
es/lexer/three 27867692 ns/iter (± 14292) 28153410 ns/iter (± 51670) 0.99
es/lexer/yui 5056598 ns/iter (± 1617) 5078187 ns/iter (± 2044) 1.00
es/parser/colors 30108 ns/iter (± 184) 31002 ns/iter (± 147) 0.97
es/parser/angular 15452448 ns/iter (± 316746) 16538519 ns/iter (± 213973) 0.93
es/parser/backbone 2292329 ns/iter (± 12412) 2342415 ns/iter (± 12682) 0.98
es/parser/jquery 12417463 ns/iter (± 60911) 12880259 ns/iter (± 96094) 0.96
es/parser/jquery mobile 19750669 ns/iter (± 324054) 21542624 ns/iter (± 339194) 0.92
es/parser/mootools 9514956 ns/iter (± 36883) 9765021 ns/iter (± 142415) 0.97
es/parser/underscore 1937814 ns/iter (± 10746) 1979381 ns/iter (± 14080) 0.98
es/parser/three 58204744 ns/iter (± 649800) 62131398 ns/iter (± 294817) 0.94
es/parser/yui 9469659 ns/iter (± 49011) 9826220 ns/iter (± 87471) 0.96
es/preset-env/usage/builtin_type 145033 ns/iter (± 33348) 138767 ns/iter (± 31371) 1.05
es/preset-env/usage/property 21174 ns/iter (± 91) 21657 ns/iter (± 113) 0.98
es/resolver/typescript 121244946 ns/iter (± 2375826) 121307717 ns/iter (± 1894633) 1.00
es/fixer/typescript 97635328 ns/iter (± 5341109) 97278972 ns/iter (± 1450335) 1.00
es/hygiene/typescript 191337845 ns/iter (± 1225294) 193439913 ns/iter (± 1825731) 0.99
es/resolver_with_hygiene/typescript 330769293 ns/iter (± 2045221) 339607024 ns/iter (± 3480656) 0.97
es/visitor/base-perf/module_clone 75214 ns/iter (± 980) 74336 ns/iter (± 559) 1.01
es/visitor/base-perf/fold_empty 86693 ns/iter (± 986) 86525 ns/iter (± 1821) 1.00
es/visitor/base-perf/fold_noop_impl_all 87071 ns/iter (± 977) 85954 ns/iter (± 1729) 1.01
es/visitor/base-perf/fold_noop_impl_vec 87644 ns/iter (± 915) 86591 ns/iter (± 1382) 1.01
es/visitor/base-perf/boxing_boxed_clone 54 ns/iter (± 0) 54 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 58 ns/iter (± 0) 63 ns/iter (± 0) 0.92
es/visitor/base-perf/boxing_boxed 102 ns/iter (± 0) 100 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed 103 ns/iter (± 0) 104 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 3664 ns/iter (± 106) 3478 ns/iter (± 74) 1.05
es/base/parallel/resolver/typescript 5313514379 ns/iter (± 414906563) 5195676837 ns/iter (± 363114956) 1.02
es/base/parallel/hygiene/typescript 2252731443 ns/iter (± 39212756) 2285898900 ns/iter (± 17478351) 0.99
misc/visitors/time-complexity/time 5 106 ns/iter (± 0) 103 ns/iter (± 0) 1.03
misc/visitors/time-complexity/time 10 345 ns/iter (± 0) 337 ns/iter (± 0) 1.02
misc/visitors/time-complexity/time 15 672 ns/iter (± 0) 648 ns/iter (± 0) 1.04
misc/visitors/time-complexity/time 20 1254 ns/iter (± 0) 1263 ns/iter (± 44) 0.99
misc/visitors/time-complexity/time 40 6819 ns/iter (± 12) 6680 ns/iter (± 24) 1.02
misc/visitors/time-complexity/time 60 17185 ns/iter (± 7) 17097 ns/iter (± 37) 1.01
es/full-target/es2016 187487 ns/iter (± 376) 188001 ns/iter (± 552) 1.00
es/full-target/es2017 180948 ns/iter (± 454) 181604 ns/iter (± 1178) 1.00
es/full-target/es2018 170318 ns/iter (± 460) 169722 ns/iter (± 443) 1.00
es2020_nullish_coalescing 66002 ns/iter (± 500) 65033 ns/iter (± 66) 1.01
es2020_optional_chaining 94357 ns/iter (± 942) 94739 ns/iter (± 5602) 1.00
es2022_class_properties 92832 ns/iter (± 121) 92522 ns/iter (± 155) 1.00
es2018_object_rest_spread 70618 ns/iter (± 164) 70467 ns/iter (± 125) 1.00
es2019_optional_catch_binding 60008 ns/iter (± 165) 60362 ns/iter (± 85) 0.99
es2017_async_to_generator 60659 ns/iter (± 110) 60680 ns/iter (± 93) 1.00
es2016_exponentiation 63833 ns/iter (± 129) 63631 ns/iter (± 122) 1.00
es2015_arrow 68563 ns/iter (± 262) 69016 ns/iter (± 190) 0.99
es2015_block_scoped_fn 65030 ns/iter (± 174) 64770 ns/iter (± 203) 1.00
es2015_block_scoping 155635 ns/iter (± 8599) 137306 ns/iter (± 250) 1.13
es2015_classes 115402 ns/iter (± 370) 115653 ns/iter (± 589) 1.00
es2015_computed_props 59925 ns/iter (± 85) 60041 ns/iter (± 145) 1.00
es2015_destructuring 115494 ns/iter (± 274) 114416 ns/iter (± 315) 1.01
es2015_duplicate_keys 62441 ns/iter (± 93) 62596 ns/iter (± 106) 1.00
es2015_parameters 78195 ns/iter (± 202) 77642 ns/iter (± 243) 1.01
es2015_fn_name 65592 ns/iter (± 545) 66052 ns/iter (± 621) 0.99
es2015_for_of 63035 ns/iter (± 118) 63103 ns/iter (± 129) 1.00
es2015_instanceof 61942 ns/iter (± 85) 61999 ns/iter (± 85) 1.00
es2015_shorthand_property 59918 ns/iter (± 92) 59785 ns/iter (± 85) 1.00
es2015_spread 60122 ns/iter (± 98) 60053 ns/iter (± 139) 1.00
es2015_sticky_regex 61058 ns/iter (± 121) 61033 ns/iter (± 101) 1.00
es2015_typeof_symbol 61285 ns/iter (± 132) 61187 ns/iter (± 81) 1.00
es/transform/baseline/base 50638 ns/iter (± 92) 50743 ns/iter (± 131) 1.00
es/transform/baseline/common_reserved_word 61397 ns/iter (± 110) 61641 ns/iter (± 80) 1.00
es/transform/baseline/common_typescript 141600 ns/iter (± 3640) 168651 ns/iter (± 198) 0.84
es/target/es3 168993 ns/iter (± 326) 169643 ns/iter (± 293) 1.00
es/target/es2015 629371 ns/iter (± 1088) 630958 ns/iter (± 1871) 1.00
es/target/es2016 63927 ns/iter (± 180) 63711 ns/iter (± 125) 1.00
es/target/es2017 60761 ns/iter (± 78) 60850 ns/iter (± 89) 1.00
es/target/es2018 80633 ns/iter (± 225) 80553 ns/iter (± 88) 1.00
es/target/es2020 131816 ns/iter (± 322) 131653 ns/iter (± 271) 1.00
babelify-only 672148 ns/iter (± 1487) 661306 ns/iter (± 1382) 1.02
parse_and_babelify_angular 41143391 ns/iter (± 535060) 44436915 ns/iter (± 424917) 0.93
parse_and_babelify_backbone 5357855 ns/iter (± 40683) 5538722 ns/iter (± 94296) 0.97
parse_and_babelify_jquery 32646330 ns/iter (± 459751) 34361138 ns/iter (± 336004) 0.95
parse_and_babelify_jquery_mobile 55211582 ns/iter (± 1414070) 60069204 ns/iter (± 950455) 0.92
parse_and_babelify_mootools 33815679 ns/iter (± 471058) 35581053 ns/iter (± 679211) 0.95
parse_and_babelify_underscore 4281416 ns/iter (± 59813) 4469290 ns/iter (± 72486) 0.96
parse_and_babelify_yui 32722623 ns/iter (± 765088) 35669647 ns/iter (± 322813) 0.92
html/minify/document/css_spec 41740825 ns/iter (± 238329) 44071144 ns/iter (± 270853) 0.95
html/minify/document/github 17408669 ns/iter (± 40623) 17881747 ns/iter (± 71777) 0.97
html/minify/document/stackoverflow 15559179 ns/iter (± 43297) 16093056 ns/iter (± 102717) 0.97
html/minify/document_fragment/css_spec 41862466 ns/iter (± 269595) 43287602 ns/iter (± 447251) 0.97
html/minify/document_fragment/github 17141092 ns/iter (± 27882) 17378679 ns/iter (± 87497) 0.99
html/minify/document_fragment/stackoverflow 15764923 ns/iter (± 36291) 15821257 ns/iter (± 63666) 1.00
html/document/visitor/compare/clone 339021 ns/iter (± 4011) 339085 ns/iter (± 2268) 1.00
html/document/visitor/compare/visit_mut_span 366108 ns/iter (± 1735) 366435 ns/iter (± 1862) 1.00
html/document/visitor/compare/visit_mut_span_panic 373900 ns/iter (± 1159) 382299 ns/iter (± 2176) 0.98
html/document/visitor/compare/fold_span 401919 ns/iter (± 1075) 411123 ns/iter (± 1886) 0.98
html/document/visitor/compare/fold_span_panic 454909 ns/iter (± 2708) 458729 ns/iter (± 1347) 0.99
html/document_fragment/visitor/compare/clone 333559 ns/iter (± 1764) 345217 ns/iter (± 1769) 0.97
html/document_fragment/visitor/compare/visit_mut_span 359805 ns/iter (± 2145) 372190 ns/iter (± 2327) 0.97
html/document_fragment/visitor/compare/visit_mut_span_panic 367756 ns/iter (± 2347) 375645 ns/iter (± 1635) 0.98
html/document_fragment/visitor/compare/fold_span 403947 ns/iter (± 2300) 409612 ns/iter (± 2054) 0.99
html/document_fragment/visitor/compare/fold_span_panic 458763 ns/iter (± 2513) 463005 ns/iter (± 1810) 0.99
html/lexer/css_2021_spec 15617892 ns/iter (± 9260) 15596303 ns/iter (± 8995) 1.00
html/lexer/github_com_17_05_2022 6074076 ns/iter (± 6409) 6060778 ns/iter (± 3283) 1.00
html/lexer/stackoverflow_com_17_05_2022 5669093 ns/iter (± 6908) 5667744 ns/iter (± 2165) 1.00
html/parser/parser_document/css_2021_spec 25532707 ns/iter (± 161006) 28281573 ns/iter (± 44961) 0.90
html/parser/parser_document/github_com_17_05_2022 8744169 ns/iter (± 3462) 8886451 ns/iter (± 20261) 0.98
html/parser/parser_document/stackoverflow_com_17_05_2022 7707258 ns/iter (± 3566) 7802016 ns/iter (± 26239) 0.99
html/parser/parser_document_fragment/css_2021_spec 25712038 ns/iter (± 122196) 27450868 ns/iter (± 769445) 0.94
html/parser/parser_document_fragment/github_com_17_05_2022 8759074 ns/iter (± 4158) 8769596 ns/iter (± 31546) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7723481 ns/iter (± 6282) 7716820 ns/iter (± 12588) 1.00

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

Please sign in to comment.