Skip to content

Commit

Permalink
feat(css/prefixer): Support word-wrap (#6679)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 19, 2022
1 parent ca81565 commit 46241b4
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 0 deletions.
22 changes: 22 additions & 0 deletions crates/swc_css_prefixer/data/prefixes_and_browsers.json
Expand Up @@ -3945,5 +3945,27 @@
"safari": "3.2",
"ios": "4.3"
}
],
"word-wrap": [
{
"chrome": "4",
"edge": "12",
"safari": "3.1",
"firefox": "3.5",
"opera": "11.5",
"ie": "6",
"ios": "3.2",
"android": "2.1"
},
{
"chrome": "22",
"edge": "17",
"safari": "6",
"firefox": "48",
"opera": "11.5",
"ie": "11",
"ios": "6.1",
"android": "4.3.0"
}
]
}
4 changes: 4 additions & 0 deletions crates/swc_css_prefixer/src/prefixer.rs
Expand Up @@ -3188,6 +3188,10 @@ impl VisitMut for Prefixer {
add_declaration!(Prefix::O, "-o-object-position", None);
}

"overflow-wrap" => {
add_declaration!("word-wrap", None);
}

"tab-size" => {
add_declaration!(Prefix::Moz, "-moz-tab-size", None);
add_declaration!(Prefix::O, "-o-tab-size", None);
Expand Down
12 changes: 12 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/overflow-wrap/input.css
@@ -0,0 +1,12 @@
.someClass{
overflow-wrap: break-word;
}

.anotherClass{
font-size:1rem;
overflow-wrap:break-word;
}

main {
overflow-wrap: normal;
}
13 changes: 13 additions & 0 deletions crates/swc_css_prefixer/tests/fixture/overflow-wrap/output.css
@@ -0,0 +1,13 @@
.someClass {
word-wrap: break-word;
overflow-wrap: break-word;
}
.anotherClass {
font-size: 1rem;
word-wrap: break-word;
overflow-wrap: break-word;
}
main {
word-wrap: normal;
overflow-wrap: normal;
}
@@ -0,0 +1,10 @@
.someClass {
overflow-wrap: break-word;
}
.anotherClass {
font-size: 1rem;
overflow-wrap: break-word;
}
main {
overflow-wrap: normal;
}

1 comment on commit 46241b4

@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: 46241b4 Previous: 352896f Ratio
es/full/bugs-1 295676 ns/iter (± 3851) 301239 ns/iter (± 9571) 0.98
es/full/minify/libraries/antd 1784114373 ns/iter (± 45201857) 1674337234 ns/iter (± 36214735) 1.07
es/full/minify/libraries/d3 318262101 ns/iter (± 6502527) 327634262 ns/iter (± 7253185) 0.97
es/full/minify/libraries/echarts 1355588338 ns/iter (± 8397199) 1297437171 ns/iter (± 27599721) 1.04
es/full/minify/libraries/jquery 91279827 ns/iter (± 1197574) 92144995 ns/iter (± 946193) 0.99
es/full/minify/libraries/lodash 108030652 ns/iter (± 1756249) 108077101 ns/iter (± 2019069) 1.00
es/full/minify/libraries/moment 53698178 ns/iter (± 521767) 54073018 ns/iter (± 837939) 0.99
es/full/minify/libraries/react 19271067 ns/iter (± 119097) 19264511 ns/iter (± 177176) 1.00
es/full/minify/libraries/terser 257997122 ns/iter (± 4611003) 250093943 ns/iter (± 6870852) 1.03
es/full/minify/libraries/three 499386182 ns/iter (± 7773955) 454234015 ns/iter (± 4661021) 1.10
es/full/minify/libraries/typescript 3318174763 ns/iter (± 18737083) 3056916050 ns/iter (± 41483713) 1.09
es/full/minify/libraries/victory 731994413 ns/iter (± 15109984) 698749673 ns/iter (± 30510223) 1.05
es/full/minify/libraries/vue 133197106 ns/iter (± 1898776) 133621908 ns/iter (± 1023955) 1.00
es/full/codegen/es3 27283 ns/iter (± 59) 27492 ns/iter (± 31) 0.99
es/full/codegen/es5 27220 ns/iter (± 57) 27469 ns/iter (± 57) 0.99
es/full/codegen/es2015 27203 ns/iter (± 46) 27511 ns/iter (± 74) 0.99
es/full/codegen/es2016 27217 ns/iter (± 70) 27445 ns/iter (± 63) 0.99
es/full/codegen/es2017 27231 ns/iter (± 84) 27458 ns/iter (± 41) 0.99
es/full/codegen/es2018 27260 ns/iter (± 69) 27436 ns/iter (± 29) 0.99
es/full/codegen/es2019 27237 ns/iter (± 37) 27461 ns/iter (± 54) 0.99
es/full/codegen/es2020 27243 ns/iter (± 46) 27445 ns/iter (± 70) 0.99
es/full/all/es3 165159022 ns/iter (± 3392272) 168639842 ns/iter (± 1786851) 0.98
es/full/all/es5 156641599 ns/iter (± 2779625) 163128001 ns/iter (± 3035697) 0.96
es/full/all/es2015 117698932 ns/iter (± 596741) 120106386 ns/iter (± 1460834) 0.98
es/full/all/es2016 117114767 ns/iter (± 1370973) 119465658 ns/iter (± 2792596) 0.98
es/full/all/es2017 116148239 ns/iter (± 707306) 120677899 ns/iter (± 4626431) 0.96
es/full/all/es2018 114205162 ns/iter (± 774532) 117113474 ns/iter (± 1491055) 0.98
es/full/all/es2019 113123206 ns/iter (± 569387) 117042029 ns/iter (± 2395087) 0.97
es/full/all/es2020 109646523 ns/iter (± 984167) 114025742 ns/iter (± 2552804) 0.96
es/full/parser 504540 ns/iter (± 8433) 498604 ns/iter (± 7275) 1.01
es/full/base/fixer 22161 ns/iter (± 32) 21698 ns/iter (± 28) 1.02
es/full/base/resolver_and_hygiene 78027 ns/iter (± 88) 78635 ns/iter (± 92) 0.99
serialization of ast node 119 ns/iter (± 0) 119 ns/iter (± 0) 1
serialization of serde 122 ns/iter (± 0) 123 ns/iter (± 0) 0.99
css/minify/libraries/bootstrap 27616169 ns/iter (± 165798) 27287585 ns/iter (± 104657) 1.01
css/visitor/compare/clone 2046425 ns/iter (± 21643) 2052182 ns/iter (± 15045) 1.00
css/visitor/compare/visit_mut_span 2259974 ns/iter (± 6011) 2258388 ns/iter (± 2853) 1.00
css/visitor/compare/visit_mut_span_panic 2314048 ns/iter (± 9994) 2325686 ns/iter (± 29099) 0.99
css/visitor/compare/fold_span 3002014 ns/iter (± 24805) 2983868 ns/iter (± 8722) 1.01
css/visitor/compare/fold_span_panic 3143713 ns/iter (± 39238) 3128027 ns/iter (± 34901) 1.01
css/lexer/bootstrap_5_1_3 5211651 ns/iter (± 1567) 5265222 ns/iter (± 2567) 0.99
css/lexer/foundation_6_7_4 4424247 ns/iter (± 1550) 4434382 ns/iter (± 3076) 1.00
css/lexer/tailwind_3_1_1 829644 ns/iter (± 467) 831026 ns/iter (± 1105) 1.00
css/parser/bootstrap_5_1_3 20796839 ns/iter (± 148558) 20711369 ns/iter (± 38154) 1.00
css/parser/foundation_6_7_4 16541096 ns/iter (± 39904) 16572285 ns/iter (± 28250) 1.00
css/parser/tailwind_3_1_1 3193381 ns/iter (± 4266) 3195634 ns/iter (± 4020) 1.00
es/codegen/colors 329146 ns/iter (± 184339) 329231 ns/iter (± 184557) 1.00
es/codegen/large 1179399 ns/iter (± 615900) 1181443 ns/iter (± 615767) 1.00
es/codegen/with-parser/colors 46324 ns/iter (± 667) 46207 ns/iter (± 276) 1.00
es/codegen/with-parser/large 511178 ns/iter (± 1093) 512195 ns/iter (± 2291) 1.00
es/minify/libraries/antd 1534343139 ns/iter (± 20458910) 1411564097 ns/iter (± 14678839) 1.09
es/minify/libraries/d3 262908336 ns/iter (± 3133349) 256356814 ns/iter (± 4883701) 1.03
es/minify/libraries/echarts 1147002871 ns/iter (± 10040408) 1087723791 ns/iter (± 10734480) 1.05
es/minify/libraries/jquery 79184065 ns/iter (± 996331) 79008940 ns/iter (± 1154811) 1.00
es/minify/libraries/lodash 95546577 ns/iter (± 654871) 95937208 ns/iter (± 1584516) 1.00
es/minify/libraries/moment 46417653 ns/iter (± 440103) 46638257 ns/iter (± 520513) 1.00
es/minify/libraries/react 16950593 ns/iter (± 127417) 17083344 ns/iter (± 247107) 0.99
es/minify/libraries/terser 220936176 ns/iter (± 2276917) 215116669 ns/iter (± 2496508) 1.03
es/minify/libraries/three 379738387 ns/iter (± 11401814) 376058557 ns/iter (± 7284965) 1.01
es/minify/libraries/typescript 2749691497 ns/iter (± 17344437) 2652502721 ns/iter (± 34651470) 1.04
es/minify/libraries/victory 593004004 ns/iter (± 21502270) 589608381 ns/iter (± 8338969) 1.01
es/minify/libraries/vue 116272483 ns/iter (± 1018702) 118205542 ns/iter (± 1774243) 0.98
es/visitor/compare/clone 2405047 ns/iter (± 23023) 2417087 ns/iter (± 22661) 1.00
es/visitor/compare/visit_mut_span 2814761 ns/iter (± 15445) 2795801 ns/iter (± 4511) 1.01
es/visitor/compare/visit_mut_span_panic 2855552 ns/iter (± 12364) 2857263 ns/iter (± 29944) 1.00
es/visitor/compare/fold_span 3940892 ns/iter (± 10514) 3947258 ns/iter (± 8392) 1.00
es/visitor/compare/fold_span_panic 4096255 ns/iter (± 35677) 4104541 ns/iter (± 25785) 1.00
es/lexer/colors 17343 ns/iter (± 7) 17321 ns/iter (± 10) 1.00
es/lexer/angular 8269456 ns/iter (± 7011) 8249055 ns/iter (± 4106) 1.00
es/lexer/backbone 1077989 ns/iter (± 509) 1075502 ns/iter (± 558) 1.00
es/lexer/jquery 5985337 ns/iter (± 3428) 5971618 ns/iter (± 7801) 1.00
es/lexer/jquery mobile 9217522 ns/iter (± 4421) 9191642 ns/iter (± 8563) 1.00
es/lexer/mootools 4703137 ns/iter (± 3525) 4689591 ns/iter (± 6702) 1.00
es/lexer/underscore 901216 ns/iter (± 747) 900769 ns/iter (± 437) 1.00
es/lexer/three 28058129 ns/iter (± 21098) 28021713 ns/iter (± 97815) 1.00
es/lexer/yui 5065706 ns/iter (± 2619) 5051661 ns/iter (± 8290) 1.00
es/parser/colors 30597 ns/iter (± 143) 30632 ns/iter (± 170) 1.00
es/parser/angular 15601920 ns/iter (± 110237) 15714458 ns/iter (± 194595) 0.99
es/parser/backbone 2322252 ns/iter (± 11640) 2316530 ns/iter (± 13103) 1.00
es/parser/jquery 12597070 ns/iter (± 52120) 12529776 ns/iter (± 98836) 1.01
es/parser/jquery mobile 19887307 ns/iter (± 195072) 20143717 ns/iter (± 181723) 0.99
es/parser/mootools 9632073 ns/iter (± 60782) 9625226 ns/iter (± 36670) 1.00
es/parser/underscore 1977314 ns/iter (± 10785) 1971046 ns/iter (± 21051) 1.00
es/parser/three 59881501 ns/iter (± 704040) 59099249 ns/iter (± 257085) 1.01
es/parser/yui 9581110 ns/iter (± 50449) 9585344 ns/iter (± 91351) 1.00
es/preset-env/usage/builtin_type 141484 ns/iter (± 31989) 139108 ns/iter (± 30820) 1.02
es/preset-env/usage/property 20640 ns/iter (± 77) 20956 ns/iter (± 88) 0.98
es/resolver/typescript 120490691 ns/iter (± 1696767) 109526795 ns/iter (± 1612291) 1.10
es/fixer/typescript 94409430 ns/iter (± 1422698) 87535922 ns/iter (± 983238) 1.08
es/hygiene/typescript 185762541 ns/iter (± 1245613) 169697286 ns/iter (± 1634691) 1.09
es/resolver_with_hygiene/typescript 316665214 ns/iter (± 1482629) 296322542 ns/iter (± 3590948) 1.07
es/visitor/base-perf/module_clone 76817 ns/iter (± 1150) 76079 ns/iter (± 1090) 1.01
es/visitor/base-perf/fold_empty 86972 ns/iter (± 1607) 86531 ns/iter (± 1550) 1.01
es/visitor/base-perf/fold_noop_impl_all 86787 ns/iter (± 1550) 87048 ns/iter (± 1509) 1.00
es/visitor/base-perf/fold_noop_impl_vec 87137 ns/iter (± 1937) 87018 ns/iter (± 1710) 1.00
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 56 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 61 ns/iter (± 0) 59 ns/iter (± 0) 1.03
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 112 ns/iter (± 0) 0.96
es/visitor/base-perf/boxing_unboxed 103 ns/iter (± 0) 102 ns/iter (± 0) 1.01
es/visitor/base-perf/visit_contains_this 3422 ns/iter (± 66) 3363 ns/iter (± 80) 1.02
es/base/parallel/resolver/typescript 5865513944 ns/iter (± 579190653) 5831481565 ns/iter (± 453645439) 1.01
es/base/parallel/hygiene/typescript 2219728850 ns/iter (± 32686570) 2005241428 ns/iter (± 23666887) 1.11
misc/visitors/time-complexity/time 5 104 ns/iter (± 0) 104 ns/iter (± 0) 1
misc/visitors/time-complexity/time 10 320 ns/iter (± 0) 320 ns/iter (± 0) 1
misc/visitors/time-complexity/time 15 657 ns/iter (± 0) 659 ns/iter (± 0) 1.00
misc/visitors/time-complexity/time 20 1230 ns/iter (± 1) 1234 ns/iter (± 6) 1.00
misc/visitors/time-complexity/time 40 6772 ns/iter (± 84) 6686 ns/iter (± 47) 1.01
misc/visitors/time-complexity/time 60 17293 ns/iter (± 29) 17171 ns/iter (± 51) 1.01
es/full-target/es2016 188613 ns/iter (± 685) 188110 ns/iter (± 906) 1.00
es/full-target/es2017 183135 ns/iter (± 586) 181593 ns/iter (± 818) 1.01
es/full-target/es2018 172449 ns/iter (± 469) 170882 ns/iter (± 616) 1.01
es2020_nullish_coalescing 67636 ns/iter (± 155) 67178 ns/iter (± 115) 1.01
es2020_optional_chaining 95893 ns/iter (± 231) 95622 ns/iter (± 7866) 1.00
es2022_class_properties 93392 ns/iter (± 91) 93746 ns/iter (± 341) 1.00
es2018_object_rest_spread 71445 ns/iter (± 127) 71358 ns/iter (± 174) 1.00
es2019_optional_catch_binding 61612 ns/iter (± 127) 61553 ns/iter (± 204) 1.00
es2017_async_to_generator 62036 ns/iter (± 75) 62342 ns/iter (± 149) 1.00
es2016_exponentiation 64943 ns/iter (± 117) 65512 ns/iter (± 275) 0.99
es2015_arrow 69912 ns/iter (± 203) 69839 ns/iter (± 489) 1.00
es2015_block_scoped_fn 65992 ns/iter (± 102) 66551 ns/iter (± 298) 0.99
es2015_block_scoping 146369 ns/iter (± 8600) 139175 ns/iter (± 7407) 1.05
es2015_classes 117646 ns/iter (± 496) 116411 ns/iter (± 857) 1.01
es2015_computed_props 61790 ns/iter (± 57) 61531 ns/iter (± 200) 1.00
es2015_destructuring 116193 ns/iter (± 408) 115521 ns/iter (± 400) 1.01
es2015_duplicate_keys 64029 ns/iter (± 280) 64344 ns/iter (± 197) 1.00
es2015_parameters 79378 ns/iter (± 100) 79697 ns/iter (± 447) 1.00
es2015_fn_name 66866 ns/iter (± 546) 66378 ns/iter (± 556) 1.01
es2015_for_of 64432 ns/iter (± 157) 64337 ns/iter (± 256) 1.00
es2015_instanceof 63429 ns/iter (± 91) 63374 ns/iter (± 247) 1.00
es2015_shorthand_property 61231 ns/iter (± 82) 61270 ns/iter (± 162) 1.00
es2015_spread 61396 ns/iter (± 74) 60954 ns/iter (± 205) 1.01
es2015_sticky_regex 62164 ns/iter (± 84) 62268 ns/iter (± 275) 1.00
es2015_typeof_symbol 62884 ns/iter (± 117) 62814 ns/iter (± 272) 1.00
es/transform/baseline/base 52064 ns/iter (± 113) 52297 ns/iter (± 255) 1.00
es/transform/baseline/common_reserved_word 62780 ns/iter (± 132) 62830 ns/iter (± 254) 1.00
es/transform/baseline/common_typescript 146778 ns/iter (± 7997) 169375 ns/iter (± 8463) 0.87
es/target/es3 170321 ns/iter (± 314) 169208 ns/iter (± 750) 1.01
es/target/es2015 630394 ns/iter (± 1159) 624926 ns/iter (± 4358) 1.01
es/target/es2016 65007 ns/iter (± 119) 65360 ns/iter (± 310) 0.99
es/target/es2017 62096 ns/iter (± 108) 61796 ns/iter (± 252) 1.00
es/target/es2018 81351 ns/iter (± 124) 80673 ns/iter (± 453) 1.01
es/target/es2020 132683 ns/iter (± 256) 131847 ns/iter (± 406) 1.01
babelify-only 672327 ns/iter (± 770) 681976 ns/iter (± 1256) 0.99
parse_and_babelify_angular 42487031 ns/iter (± 494769) 41793491 ns/iter (± 437595) 1.02
parse_and_babelify_backbone 5377667 ns/iter (± 92751) 5388188 ns/iter (± 43444) 1.00
parse_and_babelify_jquery 32528380 ns/iter (± 622778) 32188772 ns/iter (± 399554) 1.01
parse_and_babelify_jquery_mobile 56072374 ns/iter (± 732489) 55832451 ns/iter (± 895102) 1.00
parse_and_babelify_mootools 34394499 ns/iter (± 407458) 33065186 ns/iter (± 493420) 1.04
parse_and_babelify_underscore 4326567 ns/iter (± 29384) 4413657 ns/iter (± 47159) 0.98
parse_and_babelify_yui 33691936 ns/iter (± 550646) 32239432 ns/iter (± 639727) 1.05
html/minify/document/css_spec 41903676 ns/iter (± 349552) 41838860 ns/iter (± 472722) 1.00
html/minify/document/github 17322128 ns/iter (± 79504) 17293012 ns/iter (± 69070) 1.00
html/minify/document/stackoverflow 15468544 ns/iter (± 60516) 15334368 ns/iter (± 67688) 1.01
html/minify/document_fragment/css_spec 39603679 ns/iter (± 273534) 40457319 ns/iter (± 235603) 0.98
html/minify/document_fragment/github 16523652 ns/iter (± 18846) 16562477 ns/iter (± 30317) 1.00
html/minify/document_fragment/stackoverflow 15032097 ns/iter (± 19797) 15122203 ns/iter (± 85441) 0.99
html/document/visitor/compare/clone 341262 ns/iter (± 2210) 340716 ns/iter (± 2172) 1.00
html/document/visitor/compare/visit_mut_span 366144 ns/iter (± 1640) 368240 ns/iter (± 2004) 0.99
html/document/visitor/compare/visit_mut_span_panic 373841 ns/iter (± 1729) 374074 ns/iter (± 2525) 1.00
html/document/visitor/compare/fold_span 404389 ns/iter (± 2641) 404621 ns/iter (± 2389) 1.00
html/document/visitor/compare/fold_span_panic 460579 ns/iter (± 2261) 462138 ns/iter (± 3140) 1.00
html/document_fragment/visitor/compare/clone 337681 ns/iter (± 1474) 340544 ns/iter (± 1806) 0.99
html/document_fragment/visitor/compare/visit_mut_span 364036 ns/iter (± 1544) 365065 ns/iter (± 1711) 1.00
html/document_fragment/visitor/compare/visit_mut_span_panic 375630 ns/iter (± 2573) 376714 ns/iter (± 2174) 1.00
html/document_fragment/visitor/compare/fold_span 400033 ns/iter (± 1822) 402685 ns/iter (± 2731) 0.99
html/document_fragment/visitor/compare/fold_span_panic 457386 ns/iter (± 2160) 463014 ns/iter (± 1952) 0.99
html/lexer/css_2021_spec 15570473 ns/iter (± 15561) 15523065 ns/iter (± 5419) 1.00
html/lexer/github_com_17_05_2022 6031967 ns/iter (± 5063) 6013705 ns/iter (± 1950) 1.00
html/lexer/stackoverflow_com_17_05_2022 5648224 ns/iter (± 6172) 5623512 ns/iter (± 1754) 1.00
html/parser/parser_document/css_2021_spec 25549753 ns/iter (± 276213) 26362131 ns/iter (± 374944) 0.97
html/parser/parser_document/github_com_17_05_2022 8718790 ns/iter (± 3774) 8786962 ns/iter (± 14337) 0.99
html/parser/parser_document/stackoverflow_com_17_05_2022 7684416 ns/iter (± 7028) 7696566 ns/iter (± 5422) 1.00
html/parser/parser_document_fragment/css_2021_spec 25635840 ns/iter (± 171521) 25875262 ns/iter (± 205865) 0.99
html/parser/parser_document_fragment/github_com_17_05_2022 8737548 ns/iter (± 5565) 8798316 ns/iter (± 19078) 0.99
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7684078 ns/iter (± 7170) 7694180 ns/iter (± 11931) 1.00

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

Please sign in to comment.