Skip to content

Commit 8e933c8

Browse files
authoredJun 12, 2023
fix(es/react): Default to empty string when emitting refresh signature (#7514)
**Related issue:** - Closes #7471.
1 parent cea1237 commit 8e933c8

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed
 

‎crates/swc_ecma_transforms_react/src/refresh/hook.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -407,9 +407,7 @@ impl<'a> HookCollector<'a> {
407407
None
408408
}?;
409409
let mut key = if let Some(name) = lhs {
410-
self.cm
411-
.span_to_snippet(name.span())
412-
.unwrap_or_else(|_| String::new())
410+
self.cm.span_to_snippet(name.span()).unwrap_or_default()
413411
} else {
414412
String::new()
415413
};
@@ -421,7 +419,7 @@ impl<'a> HookCollector<'a> {
421419
"({})",
422420
self.cm
423421
.span_to_snippet(expr.args[0].span())
424-
.unwrap_or_else(|_| String::new())
422+
.unwrap_or_default()
425423
);
426424
} else if &name.sym == "useReducer" && expr.args.len() > 1 {
427425
// useReducer second argument is initial state.
@@ -430,7 +428,7 @@ impl<'a> HookCollector<'a> {
430428
"({})",
431429
self.cm
432430
.span_to_snippet(expr.args[1].span())
433-
.unwrap_or_else(|_| "".to_string())
431+
.unwrap_or_default()
434432
);
435433
}
436434

‎crates/swc_ecma_transforms_react/src/refresh/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ impl<C: Comments> Refresh<C> {
156156
let hoc_name = match callee.as_ref() {
157157
Expr::Ident(fn_name) => fn_name.sym.to_string(),
158158
// original react implement use `getSource` so we just follow them
159-
Expr::Member(member) => self.cm.span_to_snippet(member.span).unwrap(),
159+
Expr::Member(member) => self.cm.span_to_snippet(member.span).unwrap_or_default(),
160160
_ => return Persist::None,
161161
};
162162
let reg_str = (

3 commit comments

Comments
 (3)

github-actions[bot] commented on Jun 12, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 8e933c8 Previous: 6c00a24 Ratio
es/full/bugs-1 356734 ns/iter (± 10512) 398581 ns/iter (± 15929) 0.90
es/full/minify/libraries/antd 1965760348 ns/iter (± 14004631) 2142108168 ns/iter (± 29665316) 0.92
es/full/minify/libraries/d3 408157250 ns/iter (± 3066049) 447177726 ns/iter (± 6855658) 0.91
es/full/minify/libraries/echarts 1550684544 ns/iter (± 16108428) 1664890862 ns/iter (± 17990697) 0.93
es/full/minify/libraries/jquery 112990325 ns/iter (± 990479) 126299575 ns/iter (± 2198206) 0.89
es/full/minify/libraries/lodash 137009485 ns/iter (± 1177718) 152750950 ns/iter (± 1846538) 0.90
es/full/minify/libraries/moment 66154204 ns/iter (± 432242) 73920310 ns/iter (± 1652425) 0.89
es/full/minify/libraries/react 23400048 ns/iter (± 224858) 25990657 ns/iter (± 591904) 0.90
es/full/minify/libraries/terser 300686473 ns/iter (± 4618058) 351236871 ns/iter (± 4031831) 0.86
es/full/minify/libraries/three 537217720 ns/iter (± 7949077) 634581840 ns/iter (± 8913857) 0.85
es/full/minify/libraries/typescript 3754049616 ns/iter (± 70139983) 3973719438 ns/iter (± 17159903) 0.94
es/full/minify/libraries/victory 813033247 ns/iter (± 23654028) 939441001 ns/iter (± 16709514) 0.87
es/full/minify/libraries/vue 160550214 ns/iter (± 1011425) 191111487 ns/iter (± 4173658) 0.84
es/full/codegen/es3 40711 ns/iter (± 107) 40861 ns/iter (± 885) 1.00
es/full/codegen/es5 40863 ns/iter (± 59) 40990 ns/iter (± 68) 1.00
es/full/codegen/es2015 40731 ns/iter (± 42) 40912 ns/iter (± 67) 1.00
es/full/codegen/es2016 40718 ns/iter (± 98) 40885 ns/iter (± 71) 1.00
es/full/codegen/es2017 40635 ns/iter (± 107) 41014 ns/iter (± 127) 0.99
es/full/codegen/es2018 40663 ns/iter (± 97) 40972 ns/iter (± 68) 0.99
es/full/codegen/es2019 40705 ns/iter (± 73) 40953 ns/iter (± 61) 0.99
es/full/codegen/es2020 40719 ns/iter (± 74) 40989 ns/iter (± 103) 0.99
es/full/all/es3 209123503 ns/iter (± 1544617) 237589656 ns/iter (± 10398432) 0.88
es/full/all/es5 199675839 ns/iter (± 2757488) 219999397 ns/iter (± 3149752) 0.91
es/full/all/es2015 157302943 ns/iter (± 1839456) 170628123 ns/iter (± 3234706) 0.92
es/full/all/es2016 153033148 ns/iter (± 3594527) 169637176 ns/iter (± 2578079) 0.90
es/full/all/es2017 154539560 ns/iter (± 3003815) 170364619 ns/iter (± 3474528) 0.91
es/full/all/es2018 152007694 ns/iter (± 1004747) 171321949 ns/iter (± 3610627) 0.89
es/full/all/es2019 151018179 ns/iter (± 2463789) 171928047 ns/iter (± 3039658) 0.88
es/full/all/es2020 144655578 ns/iter (± 1524263) 163588735 ns/iter (± 6990832) 0.88
es/full/parser 600710 ns/iter (± 10250) 610306 ns/iter (± 15100) 0.98
es/full/base/fixer 24618 ns/iter (± 38) 25391 ns/iter (± 58) 0.97
es/full/base/resolver_and_hygiene 107007 ns/iter (± 256) 104543 ns/iter (± 138) 1.02
serialization of serde 282 ns/iter (± 0) 282 ns/iter (± 0) 1
css/minify/libraries/bootstrap 37276764 ns/iter (± 176425) 39080392 ns/iter (± 77172) 0.95
css/visitor/compare/clone 2702902 ns/iter (± 71240) 2837698 ns/iter (± 31205) 0.95
css/visitor/compare/visit_mut_span 2966977 ns/iter (± 11751) 3081187 ns/iter (± 49999) 0.96
css/visitor/compare/visit_mut_span_panic 3003193 ns/iter (± 8862) 3091157 ns/iter (± 23221) 0.97
css/visitor/compare/fold_span 3757470 ns/iter (± 17796) 3968898 ns/iter (± 26525) 0.95
css/visitor/compare/fold_span_panic 3924238 ns/iter (± 28180) 4195673 ns/iter (± 35779) 0.94
css/lexer/bootstrap_5_1_3 5542207 ns/iter (± 4267) 5538785 ns/iter (± 36985) 1.00
css/lexer/foundation_6_7_4 4685770 ns/iter (± 3809) 4673445 ns/iter (± 6803) 1.00
css/lexer/tailwind_3_1_1 885984 ns/iter (± 3703) 888213 ns/iter (± 872) 1.00
css/parser/bootstrap_5_1_3 23938083 ns/iter (± 73287) 25519134 ns/iter (± 188372) 0.94
css/parser/foundation_6_7_4 19106054 ns/iter (± 69809) 20271782 ns/iter (± 35594) 0.94
css/parser/tailwind_3_1_1 3700133 ns/iter (± 2889) 3739471 ns/iter (± 3914) 0.99
es/codegen/colors 720604 ns/iter (± 391305) 704591 ns/iter (± 382954) 1.02
es/codegen/large 3105982 ns/iter (± 1620519) 3177909 ns/iter (± 1696096) 0.98
es/codegen/with-parser/colors 57715 ns/iter (± 481) 57545 ns/iter (± 513) 1.00
es/codegen/with-parser/large 568495 ns/iter (± 2342) 572112 ns/iter (± 1296) 0.99
es/minify/libraries/antd 1704416223 ns/iter (± 47016578) 1892848211 ns/iter (± 15801861) 0.90
es/minify/libraries/d3 351170891 ns/iter (± 4923434) 403348364 ns/iter (± 5118303) 0.87
es/minify/libraries/echarts 1311644627 ns/iter (± 9463121) 1467546324 ns/iter (± 12010002) 0.89
es/minify/libraries/jquery 97584249 ns/iter (± 671844) 112016315 ns/iter (± 1451088) 0.87
es/minify/libraries/lodash 121847259 ns/iter (± 1071666) 140569162 ns/iter (± 3942944) 0.87
es/minify/libraries/moment 58148030 ns/iter (± 602964) 65051063 ns/iter (± 1354684) 0.89
es/minify/libraries/react 20791356 ns/iter (± 250592) 22971268 ns/iter (± 402922) 0.91
es/minify/libraries/terser 261441239 ns/iter (± 6459216) 314350634 ns/iter (± 6376999) 0.83
es/minify/libraries/three 472471499 ns/iter (± 4762350) 557690258 ns/iter (± 13076551) 0.85
es/minify/libraries/typescript 3218121710 ns/iter (± 39760280) 3491724683 ns/iter (± 30565166) 0.92
es/minify/libraries/victory 748340047 ns/iter (± 24459829) 825696120 ns/iter (± 10598310) 0.91
es/minify/libraries/vue 145442558 ns/iter (± 750286) 173416784 ns/iter (± 3125827) 0.84
es/visitor/compare/clone 2550982 ns/iter (± 57110) 2654325 ns/iter (± 32361) 0.96
es/visitor/compare/visit_mut_span 3104764 ns/iter (± 3574) 3099453 ns/iter (± 42492) 1.00
es/visitor/compare/visit_mut_span_panic 3153867 ns/iter (± 8132) 3174278 ns/iter (± 16608) 0.99
es/visitor/compare/fold_span 4274023 ns/iter (± 15546) 4518025 ns/iter (± 18586) 0.95
es/visitor/compare/fold_span_panic 4378262 ns/iter (± 11900) 4664097 ns/iter (± 32363) 0.94
es/lexer/colors 14799 ns/iter (± 48) 14854 ns/iter (± 37) 1.00
es/lexer/angular 6937095 ns/iter (± 13309) 6978732 ns/iter (± 4990) 0.99
es/lexer/backbone 847423 ns/iter (± 623) 847584 ns/iter (± 473) 1.00
es/lexer/jquery 4769402 ns/iter (± 60385) 4783419 ns/iter (± 3008) 1.00
es/lexer/jquery mobile 7378108 ns/iter (± 10109) 7397735 ns/iter (± 7975) 1.00
es/lexer/mootools 3738099 ns/iter (± 9320) 3750137 ns/iter (± 3131) 1.00
es/lexer/underscore 700085 ns/iter (± 610) 704695 ns/iter (± 519) 0.99
es/lexer/three 22409983 ns/iter (± 32387) 22715493 ns/iter (± 28347) 0.99
es/lexer/yui 4279668 ns/iter (± 6267) 4305655 ns/iter (± 6837) 0.99
es/parser/colors 33923 ns/iter (± 77) 33058 ns/iter (± 86) 1.03
es/parser/angular 16929361 ns/iter (± 150089) 18997554 ns/iter (± 205033) 0.89
es/parser/backbone 2433825 ns/iter (± 12634) 2457567 ns/iter (± 15097) 0.99
es/parser/jquery 13291036 ns/iter (± 80028) 15105019 ns/iter (± 474599) 0.88
es/parser/jquery mobile 21790053 ns/iter (± 339120) 23413332 ns/iter (± 374815) 0.93
es/parser/mootools 10137160 ns/iter (± 46531) 10948577 ns/iter (± 79554) 0.93
es/parser/underscore 2077238 ns/iter (± 9887) 2087156 ns/iter (± 11930) 1.00
es/parser/three 61268174 ns/iter (± 649632) 65851264 ns/iter (± 197402) 0.93
es/parser/yui 10221908 ns/iter (± 65642) 11429948 ns/iter (± 254495) 0.89
es/preset-env/usage/builtin_type 151126 ns/iter (± 33113) 151724 ns/iter (± 33561) 1.00
es/preset-env/usage/property 29233 ns/iter (± 110) 28820 ns/iter (± 180) 1.01
es/resolver/typescript 139674683 ns/iter (± 2826595) 139097550 ns/iter (± 3034563) 1.00
es/fixer/typescript 96779874 ns/iter (± 2699290) 95459844 ns/iter (± 4466635) 1.01
es/hygiene/typescript 214838947 ns/iter (± 5560512) 231851732 ns/iter (± 1904800) 0.93
es/resolver_with_hygiene/typescript 433768721 ns/iter (± 5152775) 460516433 ns/iter (± 3135605) 0.94
es/visitor/base-perf/module_clone 83764 ns/iter (± 617) 84375 ns/iter (± 569) 0.99
es/visitor/base-perf/fold_empty 94276 ns/iter (± 351) 93983 ns/iter (± 347) 1.00
es/visitor/base-perf/fold_noop_impl_all 94033 ns/iter (± 644) 93927 ns/iter (± 537) 1.00
es/visitor/base-perf/fold_noop_impl_vec 94671 ns/iter (± 631) 93929 ns/iter (± 411) 1.01
es/visitor/base-perf/boxing_boxed_clone 60 ns/iter (± 0) 60 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed_clone 45 ns/iter (± 0) 44 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_boxed 105 ns/iter (± 0) 105 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 81 ns/iter (± 0) 82 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 3424 ns/iter (± 47) 3491 ns/iter (± 55) 0.98
es/base/parallel/resolver/typescript 7092906499 ns/iter (± 297422578) 6913861807 ns/iter (± 392211187) 1.03
es/base/parallel/hygiene/typescript 2414701469 ns/iter (± 26664788) 2552390489 ns/iter (± 43186992) 0.95
misc/visitors/time-complexity/time 5 105 ns/iter (± 0) 113 ns/iter (± 0) 0.93
misc/visitors/time-complexity/time 10 347 ns/iter (± 0) 368 ns/iter (± 0) 0.94
misc/visitors/time-complexity/time 15 693 ns/iter (± 15) 770 ns/iter (± 0) 0.90
misc/visitors/time-complexity/time 20 1271 ns/iter (± 24) 1440 ns/iter (± 2) 0.88
misc/visitors/time-complexity/time 40 6991 ns/iter (± 12) 7461 ns/iter (± 7) 0.94
misc/visitors/time-complexity/time 60 17464 ns/iter (± 56) 18866 ns/iter (± 33) 0.93
es/full-target/es2016 269399 ns/iter (± 684) 271781 ns/iter (± 1029) 0.99
es/full-target/es2017 259503 ns/iter (± 513) 261355 ns/iter (± 517) 0.99
es/full-target/es2018 248738 ns/iter (± 425) 249858 ns/iter (± 430) 1.00
es2020_nullish_coalescing 97258 ns/iter (± 268) 97958 ns/iter (± 362) 0.99
es2020_optional_chaining 131635 ns/iter (± 267) 131415 ns/iter (± 286) 1.00
es2022_class_properties 157418 ns/iter (± 351) 156842 ns/iter (± 352) 1.00
es2018_object_rest_spread 99233 ns/iter (± 286) 99104 ns/iter (± 298) 1.00
es2019_optional_catch_binding 87554 ns/iter (± 172) 87534 ns/iter (± 247) 1.00
es2017_async_to_generator 88379 ns/iter (± 310) 88330 ns/iter (± 180) 1.00
es2016_exponentiation 95110 ns/iter (± 261) 95160 ns/iter (± 270) 1.00
es2015_arrow 97985 ns/iter (± 210) 98023 ns/iter (± 358) 1.00
es2015_block_scoped_fn 95982 ns/iter (± 154) 96203 ns/iter (± 180) 1.00
es2015_block_scoping 183980 ns/iter (± 272) 183305 ns/iter (± 201) 1.00

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

kdy1 commented on Jun 19, 2023

@kdy1
Member

@Austaras Do you think this can be the cause of CI failure at vercel/next.js#51269?

Austaras commented on Jun 19, 2023

@Austaras
MemberAuthor

I can't think of a way this would cause a different in build.

Please sign in to comment.