Skip to content

Commit

Permalink
refactor(css/codegen): Do not use raw (#6674)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 22, 2022
1 parent ef1d966 commit ebebd60
Show file tree
Hide file tree
Showing 182 changed files with 4,015 additions and 3,238 deletions.
10 changes: 1 addition & 9 deletions crates/swc_atoms/words.txt
@@ -1,5 +1,4 @@
*
*
-infinity
-moz-activehyperlinktext
-moz-animation
Expand All @@ -12,8 +11,6 @@
-moz-animation-play-state
-moz-animation-timing-function
-moz-any
-moz-any
-moz-any
-moz-appearance
-moz-backface-visibility
-moz-background-origin
Expand All @@ -38,8 +35,6 @@
-moz-buttonhoverface
-moz-buttonhovertext
-moz-calc
-moz-calc
-moz-calc
-moz-cellhighlight
-moz-cellhighlighttext
-moz-column-count
Expand All @@ -59,9 +54,8 @@
-moz-dialog
-moz-dialogtext
-moz-document
-moz-document
-moz-document
-moz-dragtargetzone
-moz-element
-moz-eventreerow
-moz-font-feature-settings
-moz-font-language-override
Expand All @@ -71,8 +65,6 @@
-moz-hyperlinktext
-moz-hyphens
-moz-keyframes
-moz-keyframes
-moz-keyframes
-moz-mac-accentdarkestshadow
-moz-mac-accentdarkshadow
-moz-mac-accentface
Expand Down
8 changes: 5 additions & 3 deletions crates/swc_css_ast/src/base.rs
Expand Up @@ -4,9 +4,9 @@ use swc_common::{ast_node, util::take::Take, EqIgnoreSpan, Span};

use crate::{
AlphaValue, AnglePercentage, AtRule, CalcSum, CmykComponent, Color, ComplexSelector,
DashedIdent, Delimiter, Dimension, FrequencyPercentage, Hue, Ident, Integer, KeyframeBlock,
LayerName, LengthPercentage, Number, Percentage, Ratio, RelativeSelectorList, SelectorList,
Str, SupportsCondition, TimePercentage, TokenAndSpan, UnicodeRange, Url,
DashedIdent, Delimiter, Dimension, FrequencyPercentage, Hue, IdSelector, Ident, Integer,
KeyframeBlock, LayerName, LengthPercentage, Number, Percentage, Ratio, RelativeSelectorList,
SelectorList, Str, SupportsCondition, TimePercentage, TokenAndSpan, UnicodeRange, Url,
};

#[ast_node("Stylesheet")]
Expand Down Expand Up @@ -218,6 +218,8 @@ pub enum ComponentValue {
SupportsCondition(Box<SupportsCondition>),
#[tag("Declaration")]
Declaration(Box<Declaration>),
#[tag("IdSelector")]
IdSelector(Box<IdSelector>),
}

impl From<StyleBlock> for ComponentValue {
Expand Down
3 changes: 2 additions & 1 deletion crates/swc_css_codegen/src/ctx.rs
Expand Up @@ -20,8 +20,9 @@ where

#[derive(Debug, Default, Clone, Copy)]
pub(crate) struct Ctx {
pub in_single_line_selectors: bool,
pub allow_to_lowercase: bool,
pub is_dimension_unit: bool,
pub in_single_line_selectors: bool,
pub in_list_of_component_values: bool,
}

Expand Down

1 comment on commit ebebd60

@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: ebebd60 Previous: 27a8b7e Ratio
es/full/bugs-1 304515 ns/iter (± 7450) 297513 ns/iter (± 5824) 1.02
es/full/minify/libraries/antd 1854877937 ns/iter (± 31292205) 1741898550 ns/iter (± 25867865) 1.06
es/full/minify/libraries/d3 312642764 ns/iter (± 13335425) 304297544 ns/iter (± 8316109) 1.03
es/full/minify/libraries/echarts 1381907367 ns/iter (± 25433493) 1313769875 ns/iter (± 34389291) 1.05
es/full/minify/libraries/jquery 91833579 ns/iter (± 2132950) 91704212 ns/iter (± 2907177) 1.00
es/full/minify/libraries/lodash 109116610 ns/iter (± 1593623) 107510299 ns/iter (± 1279318) 1.01
es/full/minify/libraries/moment 54411793 ns/iter (± 856876) 53676228 ns/iter (± 754629) 1.01
es/full/minify/libraries/react 19261678 ns/iter (± 166101) 19078125 ns/iter (± 153535) 1.01
es/full/minify/libraries/terser 266904267 ns/iter (± 6290252) 251698415 ns/iter (± 5896454) 1.06
es/full/minify/libraries/three 489623040 ns/iter (± 13274416) 453244679 ns/iter (± 9768118) 1.08
es/full/minify/libraries/typescript 3428460748 ns/iter (± 29308447) 3267848388 ns/iter (± 24672056) 1.05
es/full/minify/libraries/victory 741289873 ns/iter (± 24994798) 705211695 ns/iter (± 27113953) 1.05
es/full/minify/libraries/vue 134819730 ns/iter (± 3097038) 131005974 ns/iter (± 1369048) 1.03
es/full/codegen/es3 27791 ns/iter (± 72) 27662 ns/iter (± 57) 1.00
es/full/codegen/es5 27757 ns/iter (± 129) 27711 ns/iter (± 94) 1.00
es/full/codegen/es2015 27671 ns/iter (± 110) 27586 ns/iter (± 31) 1.00
es/full/codegen/es2016 27636 ns/iter (± 103) 27619 ns/iter (± 41) 1.00
es/full/codegen/es2017 27636 ns/iter (± 78) 27626 ns/iter (± 137) 1.00
es/full/codegen/es2018 27650 ns/iter (± 120) 27671 ns/iter (± 34) 1.00
es/full/codegen/es2019 27662 ns/iter (± 59) 27615 ns/iter (± 39) 1.00
es/full/codegen/es2020 27660 ns/iter (± 69) 27629 ns/iter (± 49) 1.00
es/full/all/es3 170640653 ns/iter (± 3765234) 171098480 ns/iter (± 1717351) 1.00
es/full/all/es5 161551892 ns/iter (± 3211046) 162841004 ns/iter (± 2739716) 0.99
es/full/all/es2015 121008773 ns/iter (± 904803) 119111915 ns/iter (± 1102719) 1.02
es/full/all/es2016 119084216 ns/iter (± 1141781) 118902293 ns/iter (± 1001586) 1.00
es/full/all/es2017 118727818 ns/iter (± 1066007) 119608373 ns/iter (± 1432499) 0.99
es/full/all/es2018 116879747 ns/iter (± 1365651) 116273253 ns/iter (± 1029182) 1.01
es/full/all/es2019 115794814 ns/iter (± 1203764) 116181123 ns/iter (± 1046948) 1.00
es/full/all/es2020 112165781 ns/iter (± 817712) 111450934 ns/iter (± 740243) 1.01
es/full/parser 514672 ns/iter (± 7100) 510315 ns/iter (± 7933) 1.01
es/full/base/fixer 22163 ns/iter (± 137) 22482 ns/iter (± 27) 0.99
es/full/base/resolver_and_hygiene 77632 ns/iter (± 103) 78552 ns/iter (± 264) 0.99
serialization of ast node 118 ns/iter (± 0) 118 ns/iter (± 0) 1
serialization of serde 122 ns/iter (± 0) 121 ns/iter (± 0) 1.01
css/minify/libraries/bootstrap 27809179 ns/iter (± 214535) 27878435 ns/iter (± 97825) 1.00
css/visitor/compare/clone 2068165 ns/iter (± 6849) 2420202 ns/iter (± 61364) 0.85
css/visitor/compare/visit_mut_span 2251975 ns/iter (± 8885) 2624180 ns/iter (± 9320) 0.86
css/visitor/compare/visit_mut_span_panic 2315802 ns/iter (± 7145) 2712073 ns/iter (± 15259) 0.85
css/visitor/compare/fold_span 3042551 ns/iter (± 18630) 3466832 ns/iter (± 13627) 0.88
css/visitor/compare/fold_span_panic 3171105 ns/iter (± 25660) 3617416 ns/iter (± 18775) 0.88
css/lexer/bootstrap_5_1_3 5206138 ns/iter (± 10404) 5219644 ns/iter (± 5949) 1.00
css/lexer/foundation_6_7_4 4353362 ns/iter (± 17650) 4396018 ns/iter (± 1326) 0.99
css/lexer/tailwind_3_1_1 823250 ns/iter (± 3233) 828932 ns/iter (± 317) 0.99
css/parser/bootstrap_5_1_3 22155424 ns/iter (± 233696) 21635783 ns/iter (± 46136) 1.02
css/parser/foundation_6_7_4 17508096 ns/iter (± 124496) 17351099 ns/iter (± 26161) 1.01
css/parser/tailwind_3_1_1 3326884 ns/iter (± 10777) 3329090 ns/iter (± 2931) 1.00
es/codegen/colors 325743 ns/iter (± 182951) 332555 ns/iter (± 188388) 0.98
es/codegen/large 1237413 ns/iter (± 629214) 1181889 ns/iter (± 602588) 1.05
es/codegen/with-parser/colors 44955 ns/iter (± 953) 46981 ns/iter (± 386) 0.96
es/codegen/with-parser/large 509196 ns/iter (± 1370) 513476 ns/iter (± 930) 0.99
es/minify/libraries/antd 1580132941 ns/iter (± 26952827) 1504182725 ns/iter (± 20665440) 1.05
es/minify/libraries/d3 263494710 ns/iter (± 6421313) 260459328 ns/iter (± 5955886) 1.01
es/minify/libraries/echarts 1213845562 ns/iter (± 35480726) 1111388684 ns/iter (± 18671722) 1.09
es/minify/libraries/jquery 79566186 ns/iter (± 1496004) 78863342 ns/iter (± 836436) 1.01
es/minify/libraries/lodash 98800095 ns/iter (± 2941700) 95046996 ns/iter (± 885474) 1.04
es/minify/libraries/moment 46864140 ns/iter (± 494185) 46071557 ns/iter (± 491579) 1.02
es/minify/libraries/react 17221228 ns/iter (± 468732) 16944882 ns/iter (± 144545) 1.02
es/minify/libraries/terser 229303054 ns/iter (± 4420781) 214312974 ns/iter (± 3107280) 1.07
es/minify/libraries/three 404202903 ns/iter (± 8538797) 374604061 ns/iter (± 8613338) 1.08
es/minify/libraries/typescript 2898973144 ns/iter (± 19516617) 2798804703 ns/iter (± 15085535) 1.04
es/minify/libraries/victory 644451634 ns/iter (± 24894660) 602747983 ns/iter (± 14772427) 1.07
es/minify/libraries/vue 121361452 ns/iter (± 2028366) 117246550 ns/iter (± 2158588) 1.04
es/visitor/compare/clone 2453217 ns/iter (± 21000) 2604332 ns/iter (± 102271) 0.94
es/visitor/compare/visit_mut_span 2819075 ns/iter (± 8979) 3147297 ns/iter (± 4670) 0.90
es/visitor/compare/visit_mut_span_panic 2865932 ns/iter (± 9565) 3193193 ns/iter (± 12142) 0.90
es/visitor/compare/fold_span 3954756 ns/iter (± 16213) 4345302 ns/iter (± 11304) 0.91
es/visitor/compare/fold_span_panic 4125534 ns/iter (± 29372) 4495995 ns/iter (± 10083) 0.92
es/lexer/colors 17398 ns/iter (± 34) 17250 ns/iter (± 27) 1.01
es/lexer/angular 8282341 ns/iter (± 13137) 8209005 ns/iter (± 12043) 1.01
es/lexer/backbone 1079328 ns/iter (± 597) 1071714 ns/iter (± 2435) 1.01
es/lexer/jquery 5964923 ns/iter (± 25315) 5917717 ns/iter (± 20924) 1.01
es/lexer/jquery mobile 9226574 ns/iter (± 15310) 9146572 ns/iter (± 17738) 1.01
es/lexer/mootools 4717838 ns/iter (± 10102) 4654983 ns/iter (± 9350) 1.01
es/lexer/underscore 905361 ns/iter (± 1698) 889624 ns/iter (± 3097) 1.02
es/lexer/three 28103642 ns/iter (± 59289) 27854648 ns/iter (± 81656) 1.01
es/lexer/yui 5079161 ns/iter (± 6569) 5028142 ns/iter (± 9378) 1.01
es/parser/colors 31451 ns/iter (± 171) 30346 ns/iter (± 169) 1.04
es/parser/angular 16491140 ns/iter (± 361325) 15504382 ns/iter (± 181891) 1.06
es/parser/backbone 2349262 ns/iter (± 13308) 2335658 ns/iter (± 17333) 1.01
es/parser/jquery 13183280 ns/iter (± 482297) 12576699 ns/iter (± 106840) 1.05
es/parser/jquery mobile 21336885 ns/iter (± 553534) 20194031 ns/iter (± 352944) 1.06
es/parser/mootools 9715211 ns/iter (± 141412) 9701320 ns/iter (± 37800) 1.00
es/parser/underscore 1991522 ns/iter (± 10995) 1976482 ns/iter (± 8753) 1.01
es/parser/three 62558964 ns/iter (± 816921) 58920069 ns/iter (± 1028134) 1.06
es/parser/yui 9813364 ns/iter (± 71455) 9618408 ns/iter (± 61814) 1.02
es/preset-env/usage/builtin_type 138415 ns/iter (± 30054) 142535 ns/iter (± 32622) 0.97
es/preset-env/usage/property 21281 ns/iter (± 119) 21055 ns/iter (± 116) 1.01
es/resolver/typescript 122715983 ns/iter (± 2291553) 127886929 ns/iter (± 2638300) 0.96
es/fixer/typescript 98348642 ns/iter (± 1823031) 103227735 ns/iter (± 5228842) 0.95
es/hygiene/typescript 195612488 ns/iter (± 2717438) 196057076 ns/iter (± 1853890) 1.00
es/resolver_with_hygiene/typescript 336849247 ns/iter (± 2560062) 340856903 ns/iter (± 2016438) 0.99
es/visitor/base-perf/module_clone 75178 ns/iter (± 1776) 75067 ns/iter (± 1204) 1.00
es/visitor/base-perf/fold_empty 84980 ns/iter (± 1293) 85262 ns/iter (± 1197) 1.00
es/visitor/base-perf/fold_noop_impl_all 85162 ns/iter (± 1803) 85331 ns/iter (± 1935) 1.00
es/visitor/base-perf/fold_noop_impl_vec 85024 ns/iter (± 1588) 86008 ns/iter (± 1755) 0.99
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 58 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_unboxed_clone 59 ns/iter (± 0) 61 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_boxed 105 ns/iter (± 0) 106 ns/iter (± 0) 0.99
es/visitor/base-perf/boxing_unboxed 104 ns/iter (± 0) 102 ns/iter (± 0) 1.02
es/visitor/base-perf/visit_contains_this 3446 ns/iter (± 63) 3405 ns/iter (± 65) 1.01
es/base/parallel/resolver/typescript 6081347069 ns/iter (± 656318154) 5584117912 ns/iter (± 663839622) 1.09
es/base/parallel/hygiene/typescript 2381054387 ns/iter (± 53427394) 2296807948 ns/iter (± 41592008) 1.04
misc/visitors/time-complexity/time 5 106 ns/iter (± 0) 93 ns/iter (± 0) 1.14
misc/visitors/time-complexity/time 10 343 ns/iter (± 1) 324 ns/iter (± 0) 1.06
misc/visitors/time-complexity/time 15 672 ns/iter (± 2) 635 ns/iter (± 0) 1.06
misc/visitors/time-complexity/time 20 1279 ns/iter (± 16) 1232 ns/iter (± 2) 1.04
misc/visitors/time-complexity/time 40 6712 ns/iter (± 20) 6153 ns/iter (± 2) 1.09
misc/visitors/time-complexity/time 60 17249 ns/iter (± 50) 15572 ns/iter (± 69) 1.11
es/full-target/es2016 187375 ns/iter (± 1150) 187598 ns/iter (± 373) 1.00
es/full-target/es2017 183338 ns/iter (± 479) 182053 ns/iter (± 544) 1.01
es/full-target/es2018 172585 ns/iter (± 839) 170594 ns/iter (± 478) 1.01
es2020_nullish_coalescing 66933 ns/iter (± 265) 67003 ns/iter (± 168) 1.00
es2020_optional_chaining 95972 ns/iter (± 367) 95678 ns/iter (± 147) 1.00
es2022_class_properties 93348 ns/iter (± 367) 93586 ns/iter (± 216) 1.00
es2018_object_rest_spread 71207 ns/iter (± 155) 71169 ns/iter (± 153) 1.00
es2019_optional_catch_binding 61097 ns/iter (± 179) 61397 ns/iter (± 153) 1.00
es2017_async_to_generator 61259 ns/iter (± 98) 61643 ns/iter (± 179) 0.99
es2016_exponentiation 64736 ns/iter (± 64) 65309 ns/iter (± 168) 0.99
es2015_arrow 69884 ns/iter (± 169) 69741 ns/iter (± 275) 1.00
es2015_block_scoped_fn 66217 ns/iter (± 113) 66971 ns/iter (± 172) 0.99
es2015_block_scoping 139303 ns/iter (± 9249) 147698 ns/iter (± 9861) 0.94
es2015_classes 118239 ns/iter (± 549) 116825 ns/iter (± 454) 1.01
es2015_computed_props 61183 ns/iter (± 74) 61465 ns/iter (± 109) 1.00
es2015_destructuring 115942 ns/iter (± 175) 115567 ns/iter (± 343) 1.00
es2015_duplicate_keys 64011 ns/iter (± 107) 63900 ns/iter (± 71) 1.00
es2015_parameters 79995 ns/iter (± 153) 79385 ns/iter (± 174) 1.01
es2015_fn_name 66999 ns/iter (± 581) 66815 ns/iter (± 686) 1.00
es2015_for_of 64646 ns/iter (± 138) 64881 ns/iter (± 127) 1.00
es2015_instanceof 63244 ns/iter (± 121) 63141 ns/iter (± 126) 1.00
es2015_shorthand_property 60950 ns/iter (± 126) 60928 ns/iter (± 122) 1.00
es2015_spread 60927 ns/iter (± 93) 61344 ns/iter (± 88) 0.99
es2015_sticky_regex 62380 ns/iter (± 171) 62515 ns/iter (± 248) 1.00
es2015_typeof_symbol 62387 ns/iter (± 111) 62472 ns/iter (± 92) 1.00
es/transform/baseline/base 51639 ns/iter (± 121) 52158 ns/iter (± 112) 0.99
es/transform/baseline/common_reserved_word 62584 ns/iter (± 118) 62703 ns/iter (± 79) 1.00
es/transform/baseline/common_typescript 159609 ns/iter (± 10323) 143476 ns/iter (± 274) 1.11
es/target/es3 169654 ns/iter (± 297) 169533 ns/iter (± 295) 1.00
es/target/es2015 628934 ns/iter (± 1386) 628092 ns/iter (± 974) 1.00
es/target/es2016 64944 ns/iter (± 100) 65397 ns/iter (± 120) 0.99
es/target/es2017 61500 ns/iter (± 164) 61724 ns/iter (± 175) 1.00
es/target/es2018 81718 ns/iter (± 214) 81557 ns/iter (± 125) 1.00
es/target/es2020 133295 ns/iter (± 201) 131584 ns/iter (± 1418) 1.01
babelify-only 679443 ns/iter (± 1903) 684037 ns/iter (± 5092) 0.99
parse_and_babelify_angular 43716373 ns/iter (± 1152575) 46385579 ns/iter (± 872549) 0.94
parse_and_babelify_backbone 5495032 ns/iter (± 88133) 5828531 ns/iter (± 144373) 0.94
parse_and_babelify_jquery 34047966 ns/iter (± 1021052) 35713332 ns/iter (± 872878) 0.95
parse_and_babelify_jquery_mobile 57912546 ns/iter (± 1302472) 60632725 ns/iter (± 516077) 0.96
parse_and_babelify_mootools 35732046 ns/iter (± 605422) 37685389 ns/iter (± 853012) 0.95
parse_and_babelify_underscore 4308161 ns/iter (± 30447) 4493781 ns/iter (± 55984) 0.96
parse_and_babelify_yui 33758447 ns/iter (± 687630) 36778344 ns/iter (± 1593559) 0.92
html/minify/document/css_spec 43116740 ns/iter (± 752874) 45272930 ns/iter (± 617442) 0.95
html/minify/document/github 17494318 ns/iter (± 171793) 18103380 ns/iter (± 76569) 0.97
html/minify/document/stackoverflow 15886221 ns/iter (± 101718) 16040773 ns/iter (± 120482) 0.99
html/minify/document_fragment/css_spec 40543382 ns/iter (± 446372) 43025973 ns/iter (± 389586) 0.94
html/minify/document_fragment/github 16849744 ns/iter (± 144672) 17136684 ns/iter (± 57655) 0.98
html/minify/document_fragment/stackoverflow 15446844 ns/iter (± 239104) 15487878 ns/iter (± 84656) 1.00
html/document/visitor/compare/clone 338457 ns/iter (± 2344) 393675 ns/iter (± 14605) 0.86
html/document/visitor/compare/visit_mut_span 366213 ns/iter (± 2272) 432048 ns/iter (± 3681) 0.85
html/document/visitor/compare/visit_mut_span_panic 371525 ns/iter (± 2180) 447404 ns/iter (± 3844) 0.83
html/document/visitor/compare/fold_span 409141 ns/iter (± 2011) 474784 ns/iter (± 2685) 0.86
html/document/visitor/compare/fold_span_panic 458760 ns/iter (± 2214) 539762 ns/iter (± 4495) 0.85
html/document_fragment/visitor/compare/clone 337284 ns/iter (± 1448) 402780 ns/iter (± 2636) 0.84
html/document_fragment/visitor/compare/visit_mut_span 364126 ns/iter (± 2801) 436568 ns/iter (± 6405) 0.83
html/document_fragment/visitor/compare/visit_mut_span_panic 368774 ns/iter (± 1157) 446162 ns/iter (± 3869) 0.83
html/document_fragment/visitor/compare/fold_span 400124 ns/iter (± 2901) 474155 ns/iter (± 3952) 0.84
html/document_fragment/visitor/compare/fold_span_panic 465596 ns/iter (± 1943) 527625 ns/iter (± 4615) 0.88
html/lexer/css_2021_spec 15594973 ns/iter (± 84813) 15488361 ns/iter (± 21179) 1.01
html/lexer/github_com_17_05_2022 6039844 ns/iter (± 10106) 6011629 ns/iter (± 2137) 1.00
html/lexer/stackoverflow_com_17_05_2022 5630534 ns/iter (± 15601) 5614803 ns/iter (± 2788) 1.00
html/parser/parser_document/css_2021_spec 25984017 ns/iter (± 299475) 27497157 ns/iter (± 350737) 0.94
html/parser/parser_document/github_com_17_05_2022 8750039 ns/iter (± 25074) 8877029 ns/iter (± 18094) 0.99
html/parser/parser_document/stackoverflow_com_17_05_2022 7681354 ns/iter (± 16224) 7834026 ns/iter (± 188951) 0.98
html/parser/parser_document_fragment/css_2021_spec 26101068 ns/iter (± 475956) 27306407 ns/iter (± 288185) 0.96
html/parser/parser_document_fragment/github_com_17_05_2022 8767930 ns/iter (± 18351) 8907651 ns/iter (± 25006) 0.98
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7670153 ns/iter (± 25933) 7757591 ns/iter (± 10762) 0.99

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

Please sign in to comment.