Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/react): Don't panic on
key
without a value (#6945)
**Related issue:** - Closes #6939.
- Loading branch information
Showing
5 changed files
with
22 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6939/input.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
const test = <div key></div> |
1 change: 1 addition & 0 deletions
1
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6939/options.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{ "runtime": "automatic" } |
2 changes: 2 additions & 0 deletions
2
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6939/output.mjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
const test = /*#__PURE__*/ _jsx("div", {}); |
6 changes: 6 additions & 0 deletions
6
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6939/output.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
|
||
x The value of property 'key' should not be empty | ||
,-[input.js:1:1] | ||
1 | const test = <div key></div> | ||
: ^^^ | ||
`---- |
14454c9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
es/full/bugs-1
305805
ns/iter (± 4452
)296804
ns/iter (± 5345
)1.03
es/full/minify/libraries/antd
1567820530
ns/iter (± 14708860
)1619309349
ns/iter (± 33715858
)0.97
es/full/minify/libraries/d3
294809614
ns/iter (± 5566964
)279737578
ns/iter (± 7083550
)1.05
es/full/minify/libraries/echarts
1205063522
ns/iter (± 23072681
)1186798028
ns/iter (± 30602820
)1.02
es/full/minify/libraries/jquery
90332936
ns/iter (± 650635
)86424746
ns/iter (± 889910
)1.05
es/full/minify/libraries/lodash
106178557
ns/iter (± 615685
)102090072
ns/iter (± 1785470
)1.04
es/full/minify/libraries/moment
52271203
ns/iter (± 188209
)51183861
ns/iter (± 591274
)1.02
es/full/minify/libraries/react
19070620
ns/iter (± 110534
)18876515
ns/iter (± 133019
)1.01
es/full/minify/libraries/terser
244185875
ns/iter (± 2255454
)235336331
ns/iter (± 4274087
)1.04
es/full/minify/libraries/three
424819830
ns/iter (± 2591918
)412709672
ns/iter (± 10445254
)1.03
es/full/minify/libraries/typescript
2995517152
ns/iter (± 18146481
)3042544971
ns/iter (± 17309921
)0.98
es/full/minify/libraries/victory
640763887
ns/iter (± 6385320
)627352974
ns/iter (± 9617256
)1.02
es/full/minify/libraries/vue
129577513
ns/iter (± 814815
)125422710
ns/iter (± 1561942
)1.03
es/full/codegen/es3
26187
ns/iter (± 43
)24934
ns/iter (± 354
)1.05
es/full/codegen/es5
26234
ns/iter (± 43
)25587
ns/iter (± 165
)1.03
es/full/codegen/es2015
26175
ns/iter (± 51
)24985
ns/iter (± 199
)1.05
es/full/codegen/es2016
26177
ns/iter (± 30
)24928
ns/iter (± 79
)1.05
es/full/codegen/es2017
26208
ns/iter (± 61
)25086
ns/iter (± 201
)1.04
es/full/codegen/es2018
26234
ns/iter (± 54
)24985
ns/iter (± 133
)1.05
es/full/codegen/es2019
26242
ns/iter (± 47
)24993
ns/iter (± 141
)1.05
es/full/codegen/es2020
26193
ns/iter (± 37
)24881
ns/iter (± 279
)1.05
es/full/all/es3
173563757
ns/iter (± 3419479
)170221854
ns/iter (± 2479581
)1.02
es/full/all/es5
163389423
ns/iter (± 3245031
)164339272
ns/iter (± 1649068
)0.99
es/full/all/es2015
126596631
ns/iter (± 2145784
)123521427
ns/iter (± 2591153
)1.02
es/full/all/es2016
124468975
ns/iter (± 1460940
)122398873
ns/iter (± 1494343
)1.02
es/full/all/es2017
122399312
ns/iter (± 1152015
)121445691
ns/iter (± 730948
)1.01
es/full/all/es2018
119857891
ns/iter (± 816586
)118102954
ns/iter (± 1256833
)1.01
es/full/all/es2019
118627487
ns/iter (± 772279
)117686351
ns/iter (± 762398
)1.01
es/full/all/es2020
114935241
ns/iter (± 638199
)113505952
ns/iter (± 1003053
)1.01
es/full/parser
543513
ns/iter (± 7373
)539831
ns/iter (± 11435
)1.01
es/full/base/fixer
21970
ns/iter (± 25
)20947
ns/iter (± 102
)1.05
es/full/base/resolver_and_hygiene
81574
ns/iter (± 119
)77872
ns/iter (± 784
)1.05
serialization of ast node
121
ns/iter (± 0
)118
ns/iter (± 1
)1.03
serialization of serde
126
ns/iter (± 0
)125
ns/iter (± 1
)1.01
css/minify/libraries/bootstrap
27765671
ns/iter (± 350802
)27079741
ns/iter (± 346866
)1.03
css/visitor/compare/clone
2079819
ns/iter (± 28082
)2012778
ns/iter (± 29367
)1.03
css/visitor/compare/visit_mut_span
2247940
ns/iter (± 3319
)2182495
ns/iter (± 22613
)1.03
css/visitor/compare/visit_mut_span_panic
2339422
ns/iter (± 4902
)2240897
ns/iter (± 24138
)1.04
css/visitor/compare/fold_span
3030115
ns/iter (± 27257
)2953992
ns/iter (± 42177
)1.03
css/visitor/compare/fold_span_panic
3190107
ns/iter (± 16894
)3044100
ns/iter (± 42357
)1.05
css/lexer/bootstrap_5_1_3
5251283
ns/iter (± 9066
)4965517
ns/iter (± 95290
)1.06
css/lexer/foundation_6_7_4
4410723
ns/iter (± 2687
)4195187
ns/iter (± 28548
)1.05
css/lexer/tailwind_3_1_1
838863
ns/iter (± 515
)791017
ns/iter (± 6240
)1.06
css/parser/bootstrap_5_1_3
21831649
ns/iter (± 66771
)20923375
ns/iter (± 365713
)1.04
css/parser/foundation_6_7_4
17406386
ns/iter (± 14671
)16453563
ns/iter (± 187595
)1.06
css/parser/tailwind_3_1_1
3343336
ns/iter (± 4116
)3152329
ns/iter (± 38749
)1.06
es/codegen/colors
330129
ns/iter (± 185669
)319112
ns/iter (± 182250
)1.03
es/codegen/large
1230440
ns/iter (± 635910
)1139228
ns/iter (± 577219
)1.08
es/codegen/with-parser/colors
48683
ns/iter (± 351
)47070
ns/iter (± 512
)1.03
es/codegen/with-parser/large
534462
ns/iter (± 1344
)516825
ns/iter (± 4335
)1.03
es/minify/libraries/antd
1330926953
ns/iter (± 16888494
)1393391740
ns/iter (± 20511693
)0.96
es/minify/libraries/d3
244102078
ns/iter (± 2341549
)242827344
ns/iter (± 3511580
)1.01
es/minify/libraries/echarts
1013249256
ns/iter (± 8335690
)1015348040
ns/iter (± 9849935
)1.00
es/minify/libraries/jquery
77196654
ns/iter (± 457955
)75776970
ns/iter (± 616044
)1.02
es/minify/libraries/lodash
93869014
ns/iter (± 1038813
)91824144
ns/iter (± 945557
)1.02
es/minify/libraries/moment
45237550
ns/iter (± 152754
)44207380
ns/iter (± 440055
)1.02
es/minify/libraries/react
16796855
ns/iter (± 104052
)16633484
ns/iter (± 167043
)1.01
es/minify/libraries/terser
202910571
ns/iter (± 1700859
)202418369
ns/iter (± 3285808
)1.00
es/minify/libraries/three
341100882
ns/iter (± 3821424
)348854856
ns/iter (± 12109844
)0.98
es/minify/libraries/typescript
2549228797
ns/iter (± 11843739
)2614657976
ns/iter (± 32329916
)0.97
es/minify/libraries/victory
531721832
ns/iter (± 3978974
)536651122
ns/iter (± 21475595
)0.99
es/minify/libraries/vue
114022002
ns/iter (± 802788
)111367327
ns/iter (± 995633
)1.02
es/visitor/compare/clone
2434935
ns/iter (± 26730
)2280631
ns/iter (± 31128
)1.07
es/visitor/compare/visit_mut_span
2851699
ns/iter (± 2101
)2669837
ns/iter (± 30065
)1.07
es/visitor/compare/visit_mut_span_panic
2865649
ns/iter (± 8753
)2706236
ns/iter (± 39120
)1.06
es/visitor/compare/fold_span
3957211
ns/iter (± 7487
)3787374
ns/iter (± 39874
)1.04
es/visitor/compare/fold_span_panic
4098563
ns/iter (± 8836
)3912036
ns/iter (± 62917
)1.05
es/lexer/colors
17171
ns/iter (± 15
)16564
ns/iter (± 113
)1.04
es/lexer/angular
8234116
ns/iter (± 4895
)7904330
ns/iter (± 51435
)1.04
es/lexer/backbone
1075791
ns/iter (± 2966
)1031285
ns/iter (± 18258
)1.04
es/lexer/jquery
5954176
ns/iter (± 3145
)5701042
ns/iter (± 22561
)1.04
es/lexer/jquery mobile
9202106
ns/iter (± 6418
)8747447
ns/iter (± 39116
)1.05
es/lexer/mootools
4660248
ns/iter (± 1924
)4465636
ns/iter (± 39887
)1.04
es/lexer/underscore
895872
ns/iter (± 506
)858001
ns/iter (± 3434
)1.04
es/lexer/three
27856437
ns/iter (± 36205
)26641949
ns/iter (± 175597
)1.05
es/lexer/yui
5052703
ns/iter (± 3402
)4843786
ns/iter (± 55140
)1.04
es/parser/colors
30378
ns/iter (± 167
)28504
ns/iter (± 351
)1.07
es/parser/angular
15419725
ns/iter (± 120677
)14824271
ns/iter (± 164597
)1.04
es/parser/backbone
2332927
ns/iter (± 16670
)2201992
ns/iter (± 24992
)1.06
es/parser/jquery
12631361
ns/iter (± 79166
)11964481
ns/iter (± 176076
)1.06
es/parser/jquery mobile
19660079
ns/iter (± 464762
)18645842
ns/iter (± 187384
)1.05
es/parser/mootools
9666879
ns/iter (± 45198
)9085516
ns/iter (± 68882
)1.06
es/parser/underscore
1984286
ns/iter (± 10648
)1875704
ns/iter (± 23239
)1.06
es/parser/three
56129369
ns/iter (± 459629
)52641535
ns/iter (± 762099
)1.07
es/parser/yui
9588420
ns/iter (± 57504
)9167980
ns/iter (± 84434
)1.05
es/preset-env/usage/builtin_type
143131
ns/iter (± 33139
)137337
ns/iter (± 32951
)1.04
es/preset-env/usage/property
21198
ns/iter (± 65
)20632
ns/iter (± 217
)1.03
es/resolver/typescript
110058932
ns/iter (± 1439901
)115578551
ns/iter (± 6304571
)0.95
es/fixer/typescript
83927850
ns/iter (± 486858
)90133165
ns/iter (± 809197
)0.93
es/hygiene/typescript
176882386
ns/iter (± 2244793
)188111504
ns/iter (± 2452046
)0.94
es/resolver_with_hygiene/typescript
303724843
ns/iter (± 1927859
)320726190
ns/iter (± 4740643
)0.95
es/visitor/base-perf/module_clone
75792
ns/iter (± 1068
)72491
ns/iter (± 1796
)1.05
es/visitor/base-perf/fold_empty
85815
ns/iter (± 1582
)81641
ns/iter (± 1204
)1.05
es/visitor/base-perf/fold_noop_impl_all
86213
ns/iter (± 1737
)82754
ns/iter (± 1839
)1.04
es/visitor/base-perf/fold_noop_impl_vec
85644
ns/iter (± 1044
)81685
ns/iter (± 977
)1.05
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)53
ns/iter (± 0
)1.06
es/visitor/base-perf/boxing_unboxed_clone
59
ns/iter (± 0
)56
ns/iter (± 0
)1.05
es/visitor/base-perf/boxing_boxed
105
ns/iter (± 0
)99
ns/iter (± 0
)1.06
es/visitor/base-perf/boxing_unboxed
102
ns/iter (± 0
)99
ns/iter (± 1
)1.03
es/visitor/base-perf/visit_contains_this
3442
ns/iter (± 61
)3438
ns/iter (± 88
)1.00
es/base/parallel/resolver/typescript
5318737483
ns/iter (± 549796295
)5619283312
ns/iter (± 497678798
)0.95
es/base/parallel/hygiene/typescript
2135375121
ns/iter (± 30431542
)2297586728
ns/iter (± 30439167
)0.93
misc/visitors/time-complexity/time 5
94
ns/iter (± 0
)102
ns/iter (± 0
)0.92
misc/visitors/time-complexity/time 10
351
ns/iter (± 0
)325
ns/iter (± 3
)1.08
misc/visitors/time-complexity/time 15
654
ns/iter (± 2
)634
ns/iter (± 6
)1.03
misc/visitors/time-complexity/time 20
1203
ns/iter (± 2
)1166
ns/iter (± 16
)1.03
misc/visitors/time-complexity/time 40
6153
ns/iter (± 29
)6248
ns/iter (± 43
)0.98
misc/visitors/time-complexity/time 60
15591
ns/iter (± 49
)16271
ns/iter (± 181
)0.96
es/full-target/es2016
188095
ns/iter (± 750
)183855
ns/iter (± 2213
)1.02
es/full-target/es2017
183219
ns/iter (± 501
)176265
ns/iter (± 774
)1.04
es/full-target/es2018
171821
ns/iter (± 1519
)167080
ns/iter (± 1577
)1.03
es2020_nullish_coalescing
66796
ns/iter (± 507
)64338
ns/iter (± 778
)1.04
es2020_optional_chaining
96073
ns/iter (± 9300
)92555
ns/iter (± 8137
)1.04
es2022_class_properties
94516
ns/iter (± 247
)90283
ns/iter (± 494
)1.05
es2018_object_rest_spread
71621
ns/iter (± 219
)68544
ns/iter (± 672
)1.04
es2019_optional_catch_binding
61370
ns/iter (± 147
)58667
ns/iter (± 849
)1.05
es2017_async_to_generator
61569
ns/iter (± 86
)59036
ns/iter (± 375
)1.04
es2016_exponentiation
65106
ns/iter (± 76
)62763
ns/iter (± 455
)1.04
es2015_arrow
70842
ns/iter (± 172
)67411
ns/iter (± 570
)1.05
es2015_block_scoped_fn
66401
ns/iter (± 161
)63571
ns/iter (± 368
)1.04
es2015_block_scoping
151543
ns/iter (± 9934
)153193
ns/iter (± 9783
)0.99
es2015_classes
117079
ns/iter (± 465
)112797
ns/iter (± 1338
)1.04
es2015_computed_props
61104
ns/iter (± 139
)58719
ns/iter (± 568
)1.04
es2015_destructuring
117717
ns/iter (± 1798
)110884
ns/iter (± 937
)1.06
es2015_duplicate_keys
63878
ns/iter (± 75
)61095
ns/iter (± 511
)1.05
es2015_parameters
79643
ns/iter (± 207
)75950
ns/iter (± 537
)1.05
es2015_fn_name
65975
ns/iter (± 311
)63541
ns/iter (± 682
)1.04
es2015_for_of
64854
ns/iter (± 81
)61899
ns/iter (± 803
)1.05
es2015_instanceof
62969
ns/iter (± 109
)60457
ns/iter (± 476
)1.04
es2015_shorthand_property
61204
ns/iter (± 168
)58636
ns/iter (± 254
)1.04
es2015_spread
61218
ns/iter (± 843
)58523
ns/iter (± 355
)1.05
es2015_sticky_regex
62323
ns/iter (± 100
)59650
ns/iter (± 585
)1.04
es2015_typeof_symbol
62176
ns/iter (± 133
)60361
ns/iter (± 434
)1.03
es/transform/baseline/base
51813
ns/iter (± 104
)50159
ns/iter (± 449
)1.03
es/transform/baseline/common_reserved_word
63125
ns/iter (± 74
)59857
ns/iter (± 367
)1.05
es/transform/baseline/common_typescript
143069
ns/iter (± 1557
)162118
ns/iter (± 1748
)0.88
es/target/es3
169479
ns/iter (± 350
)160466
ns/iter (± 1043
)1.06
es/target/es2015
631609
ns/iter (± 1085
)576490
ns/iter (± 4133
)1.10
es/target/es2016
65244
ns/iter (± 133
)61144
ns/iter (± 460
)1.07
es/target/es2017
61565
ns/iter (± 607
)58138
ns/iter (± 855
)1.06
es/target/es2018
79686
ns/iter (± 154
)76284
ns/iter (± 488
)1.04
es/target/es2020
129291
ns/iter (± 189
)122921
ns/iter (± 1075
)1.05
babelify-only
678704
ns/iter (± 934
)652846
ns/iter (± 5196
)1.04
parse_and_babelify_angular
42507356
ns/iter (± 1004474
)42098751
ns/iter (± 1346833
)1.01
parse_and_babelify_backbone
5333517
ns/iter (± 29312
)5244304
ns/iter (± 24733
)1.02
parse_and_babelify_jquery
30455747
ns/iter (± 261021
)30728822
ns/iter (± 451026
)0.99
parse_and_babelify_jquery_mobile
52516390
ns/iter (± 331064
)53432711
ns/iter (± 746412
)0.98
parse_and_babelify_mootools
30817169
ns/iter (± 346083
)31297533
ns/iter (± 652603
)0.98
parse_and_babelify_underscore
4346946
ns/iter (± 22018
)4318166
ns/iter (± 39409
)1.01
parse_and_babelify_yui
30697596
ns/iter (± 276033
)30453026
ns/iter (± 927394
)1.01
html/minify/document/css_spec
41347957
ns/iter (± 154875
)39757298
ns/iter (± 433505
)1.04
html/minify/document/github
17476510
ns/iter (± 15551
)17015244
ns/iter (± 234217
)1.03
html/minify/document/stackoverflow
15656077
ns/iter (± 21045
)15005297
ns/iter (± 111668
)1.04
html/minify/document_fragment/css_spec
39403995
ns/iter (± 144588
)37810211
ns/iter (± 378165
)1.04
html/minify/document_fragment/github
16838788
ns/iter (± 14502
)16132972
ns/iter (± 205215
)1.04
html/minify/document_fragment/stackoverflow
15287129
ns/iter (± 24925
)14447815
ns/iter (± 71256
)1.06
html/document/visitor/compare/clone
342306
ns/iter (± 1516
)327814
ns/iter (± 4151
)1.04
html/document/visitor/compare/visit_mut_span
373251
ns/iter (± 1498
)347309
ns/iter (± 3299
)1.07
html/document/visitor/compare/visit_mut_span_panic
379926
ns/iter (± 1895
)355164
ns/iter (± 2648
)1.07
html/document/visitor/compare/fold_span
402872
ns/iter (± 2219
)401686
ns/iter (± 9891
)1.00
html/document/visitor/compare/fold_span_panic
463440
ns/iter (± 2145
)442400
ns/iter (± 3284
)1.05
html/document_fragment/visitor/compare/clone
340600
ns/iter (± 2302
)324691
ns/iter (± 3429
)1.05
html/document_fragment/visitor/compare/visit_mut_span
364961
ns/iter (± 1886
)351623
ns/iter (± 4374
)1.04
html/document_fragment/visitor/compare/visit_mut_span_panic
372884
ns/iter (± 1808
)364917
ns/iter (± 4614
)1.02
html/document_fragment/visitor/compare/fold_span
406563
ns/iter (± 2609
)391542
ns/iter (± 3662
)1.04
html/document_fragment/visitor/compare/fold_span_panic
461948
ns/iter (± 2245
)444415
ns/iter (± 3544
)1.04
html/lexer/css_2021_spec
15633029
ns/iter (± 13099
)14857046
ns/iter (± 170972
)1.05
html/lexer/github_com_17_05_2022
6049202
ns/iter (± 77783
)5722577
ns/iter (± 29258
)1.06
html/lexer/stackoverflow_com_17_05_2022
5651324
ns/iter (± 7421
)5348194
ns/iter (± 39504
)1.06
html/parser/parser_document/css_2021_spec
25161427
ns/iter (± 103057
)24134715
ns/iter (± 281875
)1.04
html/parser/parser_document/github_com_17_05_2022
8744972
ns/iter (± 7780
)8417538
ns/iter (± 79087
)1.04
html/parser/parser_document/stackoverflow_com_17_05_2022
7687492
ns/iter (± 5425
)7382914
ns/iter (± 43072
)1.04
html/parser/parser_document_fragment/css_2021_spec
25404608
ns/iter (± 165481
)24367926
ns/iter (± 123245
)1.04
html/parser/parser_document_fragment/github_com_17_05_2022
8774639
ns/iter (± 9467
)8369631
ns/iter (± 70410
)1.05
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7730238
ns/iter (± 8084
)7366182
ns/iter (± 41671
)1.05
This comment was automatically generated by workflow using github-action-benchmark.