Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/parser): Fix parsing of an array spread in tsx properties (#7011)
- Loading branch information
1 parent
bb64643
commit 6d6731f
Showing
5 changed files
with
25 additions
and
0 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
4 changes: 4 additions & 0 deletions
4
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6977/1/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,4 @@ | ||
function Component(props) { | ||
} | ||
|
||
<Component x={...[1,2,3]} /> |
8 changes: 8 additions & 0 deletions
8
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6977/1/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,8 @@ | ||
function Component(props) {} | ||
/*#__PURE__*/ React.createElement(Component, { | ||
x: [ | ||
1, | ||
2, | ||
3 | ||
] | ||
}); |
4 changes: 4 additions & 0 deletions
4
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6977/2/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,4 @@ | ||
function Component(props) { | ||
} | ||
|
||
<Component x={...{a: x}} /> |
6 changes: 6 additions & 0 deletions
6
crates/swc_ecma_transforms_react/tests/jsx/fixture/issue-6977/2/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,6 @@ | ||
function Component(props) {} | ||
/*#__PURE__*/ React.createElement(Component, { | ||
x: { | ||
a: x | ||
} | ||
}); |
6d6731f
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
304418
ns/iter (± 7378
)296745
ns/iter (± 17563
)1.03
es/full/minify/libraries/antd
1747197057
ns/iter (± 32263671
)1657037804
ns/iter (± 13574759
)1.05
es/full/minify/libraries/d3
314834917
ns/iter (± 5076739
)309425657
ns/iter (± 19216362
)1.02
es/full/minify/libraries/echarts
1354771688
ns/iter (± 7850503
)1316504566
ns/iter (± 52123404
)1.03
es/full/minify/libraries/jquery
95098714
ns/iter (± 973487
)92036985
ns/iter (± 1619174
)1.03
es/full/minify/libraries/lodash
110468220
ns/iter (± 941969
)107922500
ns/iter (± 1377654
)1.02
es/full/minify/libraries/moment
54757764
ns/iter (± 541589
)53208607
ns/iter (± 353141
)1.03
es/full/minify/libraries/react
19592137
ns/iter (± 177123
)19288157
ns/iter (± 99548
)1.02
es/full/minify/libraries/terser
261399139
ns/iter (± 2935726
)250712733
ns/iter (± 4170468
)1.04
es/full/minify/libraries/three
474656301
ns/iter (± 4142104
)441159769
ns/iter (± 6707846
)1.08
es/full/minify/libraries/typescript
3323016146
ns/iter (± 14481646
)3087447927
ns/iter (± 28115070
)1.08
es/full/minify/libraries/victory
742816486
ns/iter (± 10181749
)664807800
ns/iter (± 10009760
)1.12
es/full/minify/libraries/vue
137743074
ns/iter (± 2649707
)132527983
ns/iter (± 2612660
)1.04
es/full/codegen/es3
26146
ns/iter (± 52
)25936
ns/iter (± 79
)1.01
es/full/codegen/es5
26185
ns/iter (± 68
)25903
ns/iter (± 41
)1.01
es/full/codegen/es2015
26106
ns/iter (± 98
)25919
ns/iter (± 50
)1.01
es/full/codegen/es2016
26156
ns/iter (± 56
)25960
ns/iter (± 47
)1.01
es/full/codegen/es2017
26205
ns/iter (± 68
)25947
ns/iter (± 42
)1.01
es/full/codegen/es2018
26164
ns/iter (± 36
)25947
ns/iter (± 57
)1.01
es/full/codegen/es2019
26132
ns/iter (± 41
)25926
ns/iter (± 48
)1.01
es/full/codegen/es2020
26129
ns/iter (± 40
)25953
ns/iter (± 57
)1.01
es/full/all/es3
171198541
ns/iter (± 1248447
)175636438
ns/iter (± 1721049
)0.97
es/full/all/es5
161330344
ns/iter (± 3657111
)163464406
ns/iter (± 2306039
)0.99
es/full/all/es2015
127105282
ns/iter (± 1405831
)129353088
ns/iter (± 1816733
)0.98
es/full/all/es2016
126171192
ns/iter (± 1037373
)126562071
ns/iter (± 1706788
)1.00
es/full/all/es2017
123827422
ns/iter (± 1178280
)125727026
ns/iter (± 1635266
)0.98
es/full/all/es2018
120701975
ns/iter (± 1171523
)122518777
ns/iter (± 4419423
)0.99
es/full/all/es2019
120021587
ns/iter (± 736750
)121688756
ns/iter (± 4737413
)0.99
es/full/all/es2020
115346362
ns/iter (± 937819
)116393393
ns/iter (± 1317410
)0.99
es/full/parser
549478
ns/iter (± 9162
)545647
ns/iter (± 10292
)1.01
es/full/base/fixer
21776
ns/iter (± 57
)21995
ns/iter (± 37
)0.99
es/full/base/resolver_and_hygiene
81446
ns/iter (± 81
)81768
ns/iter (± 64
)1.00
serialization of ast node
145
ns/iter (± 0
)144
ns/iter (± 0
)1.01
serialization of serde
134
ns/iter (± 0
)134
ns/iter (± 0
)1
css/minify/libraries/bootstrap
28326934
ns/iter (± 90048
)28603529
ns/iter (± 495330
)0.99
css/visitor/compare/clone
2061513
ns/iter (± 16482
)2085483
ns/iter (± 10678
)0.99
css/visitor/compare/visit_mut_span
2261599
ns/iter (± 8633
)2272186
ns/iter (± 24395
)1.00
css/visitor/compare/visit_mut_span_panic
2293227
ns/iter (± 3232
)2283039
ns/iter (± 33812
)1.00
css/visitor/compare/fold_span
3009373
ns/iter (± 22216
)3001114
ns/iter (± 22051
)1.00
css/visitor/compare/fold_span_panic
3159189
ns/iter (± 22246
)3129397
ns/iter (± 20792
)1.01
css/lexer/bootstrap_5_1_3
5264355
ns/iter (± 5495
)5200029
ns/iter (± 7891
)1.01
css/lexer/foundation_6_7_4
4434456
ns/iter (± 3846
)4372235
ns/iter (± 2392
)1.01
css/lexer/tailwind_3_1_1
843556
ns/iter (± 1386
)832120
ns/iter (± 927
)1.01
css/parser/bootstrap_5_1_3
21761183
ns/iter (± 57226
)21587549
ns/iter (± 62653
)1.01
css/parser/foundation_6_7_4
17469114
ns/iter (± 95643
)17277686
ns/iter (± 37371
)1.01
css/parser/tailwind_3_1_1
3323210
ns/iter (± 3537
)3320784
ns/iter (± 6619
)1.00
es/codegen/colors
331856
ns/iter (± 185164
)318776
ns/iter (± 180865
)1.04
es/codegen/large
1308533
ns/iter (± 658337
)1230114
ns/iter (± 643176
)1.06
es/codegen/with-parser/colors
47520
ns/iter (± 67
)48822
ns/iter (± 367
)0.97
es/codegen/with-parser/large
525467
ns/iter (± 1825
)535081
ns/iter (± 1452
)0.98
es/minify/libraries/antd
1536571916
ns/iter (± 14375462
)1398764061
ns/iter (± 14882927
)1.10
es/minify/libraries/d3
268595945
ns/iter (± 5520095
)249619894
ns/iter (± 2635925
)1.08
es/minify/libraries/echarts
1177397482
ns/iter (± 12370033
)1087699933
ns/iter (± 17965019
)1.08
es/minify/libraries/jquery
80823288
ns/iter (± 468480
)79024248
ns/iter (± 680679
)1.02
es/minify/libraries/lodash
96808661
ns/iter (± 831416
)94894082
ns/iter (± 824583
)1.02
es/minify/libraries/moment
47063208
ns/iter (± 226803
)46265103
ns/iter (± 459262
)1.02
es/minify/libraries/react
17333312
ns/iter (± 139256
)17141039
ns/iter (± 97236
)1.01
es/minify/libraries/terser
220577429
ns/iter (± 2643944
)210402389
ns/iter (± 3594790
)1.05
es/minify/libraries/three
395364420
ns/iter (± 9369158
)373548002
ns/iter (± 15768209
)1.06
es/minify/libraries/typescript
2826194106
ns/iter (± 8400564
)2703662057
ns/iter (± 62775652
)1.05
es/minify/libraries/victory
613390893
ns/iter (± 11872450
)604155119
ns/iter (± 47367391
)1.02
es/minify/libraries/vue
120107882
ns/iter (± 960371
)117953193
ns/iter (± 3258399
)1.02
es/visitor/compare/clone
2417937
ns/iter (± 20840
)2349736
ns/iter (± 7811
)1.03
es/visitor/compare/visit_mut_span
2819052
ns/iter (± 5475
)2746823
ns/iter (± 4013
)1.03
es/visitor/compare/visit_mut_span_panic
2860712
ns/iter (± 5993
)2795559
ns/iter (± 3692
)1.02
es/visitor/compare/fold_span
3995515
ns/iter (± 9596
)3904320
ns/iter (± 7644
)1.02
es/visitor/compare/fold_span_panic
4141738
ns/iter (± 6736
)4028831
ns/iter (± 6271
)1.03
es/lexer/colors
16208
ns/iter (± 63
)16288
ns/iter (± 8
)1.00
es/lexer/angular
7781078
ns/iter (± 17966
)7800250
ns/iter (± 2930
)1.00
es/lexer/backbone
1002644
ns/iter (± 650
)1005372
ns/iter (± 571
)1.00
es/lexer/jquery
5570695
ns/iter (± 3649
)5594243
ns/iter (± 2746
)1.00
es/lexer/jquery mobile
8551298
ns/iter (± 2673
)8578994
ns/iter (± 8475
)1.00
es/lexer/mootools
4384256
ns/iter (± 3291
)4410987
ns/iter (± 2591
)0.99
es/lexer/underscore
837592
ns/iter (± 454
)838587
ns/iter (± 366
)1.00
es/lexer/three
25978667
ns/iter (± 14670
)26057628
ns/iter (± 86293
)1.00
es/lexer/yui
4782757
ns/iter (± 4006
)4803093
ns/iter (± 4868
)1.00
es/parser/colors
30862
ns/iter (± 101
)30308
ns/iter (± 63
)1.02
es/parser/angular
16084485
ns/iter (± 222667
)15342231
ns/iter (± 57596
)1.05
es/parser/backbone
2330801
ns/iter (± 11080
)2306355
ns/iter (± 13552
)1.01
es/parser/jquery
12557067
ns/iter (± 103834
)12407268
ns/iter (± 61784
)1.01
es/parser/jquery mobile
19886076
ns/iter (± 249940
)19388445
ns/iter (± 165281
)1.03
es/parser/mootools
9691892
ns/iter (± 24345
)9486959
ns/iter (± 25229
)1.02
es/parser/underscore
1977040
ns/iter (± 13464
)1957770
ns/iter (± 12270
)1.01
es/parser/three
60331025
ns/iter (± 443528
)56822297
ns/iter (± 760033
)1.06
es/parser/yui
9633110
ns/iter (± 108943
)9455990
ns/iter (± 51852
)1.02
es/preset-env/usage/builtin_type
142258
ns/iter (± 32445
)139645
ns/iter (± 31609
)1.02
es/preset-env/usage/property
21211
ns/iter (± 83
)20799
ns/iter (± 79
)1.02
es/resolver/typescript
126572488
ns/iter (± 4843967
)117228143
ns/iter (± 3068828
)1.08
es/fixer/typescript
96375162
ns/iter (± 2295650
)87735403
ns/iter (± 487542
)1.10
es/hygiene/typescript
208093336
ns/iter (± 1236934
)183650900
ns/iter (± 2479878
)1.13
es/resolver_with_hygiene/typescript
346846759
ns/iter (± 1441860
)325971861
ns/iter (± 1731447
)1.06
es/visitor/base-perf/module_clone
76089
ns/iter (± 2115
)76971
ns/iter (± 1725
)0.99
es/visitor/base-perf/fold_empty
86305
ns/iter (± 2087
)85313
ns/iter (± 1296
)1.01
es/visitor/base-perf/fold_noop_impl_all
85500
ns/iter (± 1800
)85132
ns/iter (± 446
)1.00
es/visitor/base-perf/fold_noop_impl_vec
86506
ns/iter (± 961
)85398
ns/iter (± 1809
)1.01
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)56
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
59
ns/iter (± 0
)59
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
103
ns/iter (± 0
)103
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
102
ns/iter (± 0
)102
ns/iter (± 0
)1
es/visitor/base-perf/visit_contains_this
3590
ns/iter (± 87
)3481
ns/iter (± 78
)1.03
es/base/parallel/resolver/typescript
5263036066
ns/iter (± 472878250
)5843206176
ns/iter (± 453082751
)0.90
es/base/parallel/hygiene/typescript
2409428991
ns/iter (± 32048466
)2313908161
ns/iter (± 34782447
)1.04
misc/visitors/time-complexity/time 5
98
ns/iter (± 0
)102
ns/iter (± 0
)0.96
misc/visitors/time-complexity/time 10
311
ns/iter (± 0
)324
ns/iter (± 0
)0.96
misc/visitors/time-complexity/time 15
657
ns/iter (± 0
)666
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 20
1211
ns/iter (± 3
)1244
ns/iter (± 12
)0.97
misc/visitors/time-complexity/time 40
6598
ns/iter (± 6
)6227
ns/iter (± 0
)1.06
misc/visitors/time-complexity/time 60
16930
ns/iter (± 56
)15723
ns/iter (± 13
)1.08
es/full-target/es2016
188535
ns/iter (± 724
)188481
ns/iter (± 1054
)1.00
es/full-target/es2017
183020
ns/iter (± 718
)182997
ns/iter (± 504
)1.00
es/full-target/es2018
172949
ns/iter (± 694
)171551
ns/iter (± 261
)1.01
es2020_nullish_coalescing
66558
ns/iter (± 102
)67374
ns/iter (± 239
)0.99
es2020_optional_chaining
96611
ns/iter (± 7895
)96392
ns/iter (± 271
)1.00
es2022_class_properties
93608
ns/iter (± 177
)94298
ns/iter (± 167
)0.99
es2018_object_rest_spread
71245
ns/iter (± 128
)71303
ns/iter (± 67
)1.00
es2019_optional_catch_binding
61212
ns/iter (± 224
)61277
ns/iter (± 101
)1.00
es2017_async_to_generator
61386
ns/iter (± 145
)62086
ns/iter (± 85
)0.99
es2016_exponentiation
64443
ns/iter (± 181
)65463
ns/iter (± 39
)0.98
es2015_arrow
70386
ns/iter (± 161
)70253
ns/iter (± 241
)1.00
es2015_block_scoped_fn
66078
ns/iter (± 134
)66801
ns/iter (± 149
)0.99
es2015_block_scoping
141272
ns/iter (± 8685
)156373
ns/iter (± 12059
)0.90
es2015_classes
116524
ns/iter (± 586
)117662
ns/iter (± 511
)0.99
es2015_computed_props
60920
ns/iter (± 162
)61816
ns/iter (± 109
)0.99
es2015_destructuring
116100
ns/iter (± 313
)116244
ns/iter (± 340
)1.00
es2015_duplicate_keys
63574
ns/iter (± 102
)64170
ns/iter (± 101
)0.99
es2015_parameters
79869
ns/iter (± 127
)79565
ns/iter (± 177
)1.00
es2015_fn_name
66629
ns/iter (± 580
)67157
ns/iter (± 435
)0.99
es2015_for_of
63987
ns/iter (± 130
)64586
ns/iter (± 131
)0.99
es2015_instanceof
63336
ns/iter (± 136
)63712
ns/iter (± 134
)0.99
es2015_shorthand_property
60795
ns/iter (± 102
)61347
ns/iter (± 92
)0.99
es2015_spread
60503
ns/iter (± 157
)61342
ns/iter (± 120
)0.99
es2015_sticky_regex
61882
ns/iter (± 71
)62588
ns/iter (± 98
)0.99
es2015_typeof_symbol
62258
ns/iter (± 74
)62542
ns/iter (± 56
)1.00
es/transform/baseline/base
51529
ns/iter (± 149
)52193
ns/iter (± 105
)0.99
es/transform/baseline/common_reserved_word
62358
ns/iter (± 109
)63177
ns/iter (± 68
)0.99
es/transform/baseline/common_typescript
144222
ns/iter (± 3015
)145737
ns/iter (± 2946
)0.99
es/target/es3
169874
ns/iter (± 216
)169997
ns/iter (± 253
)1.00
es/target/es2015
632049
ns/iter (± 1465
)630939
ns/iter (± 1280
)1.00
es/target/es2016
64714
ns/iter (± 136
)65613
ns/iter (± 98
)0.99
es/target/es2017
61444
ns/iter (± 139
)62160
ns/iter (± 77
)0.99
es/target/es2018
81613
ns/iter (± 81
)81503
ns/iter (± 127
)1.00
es/target/es2020
132635
ns/iter (± 143
)133097
ns/iter (± 172
)1.00
babelify-only
672811
ns/iter (± 1172
)667277
ns/iter (± 602
)1.01
parse_and_babelify_angular
44918833
ns/iter (± 862500
)42272507
ns/iter (± 843093
)1.06
parse_and_babelify_backbone
5496207
ns/iter (± 51546
)5434672
ns/iter (± 83077
)1.01
parse_and_babelify_jquery
33695225
ns/iter (± 831652
)31662754
ns/iter (± 381322
)1.06
parse_and_babelify_jquery_mobile
56920689
ns/iter (± 1082815
)54516811
ns/iter (± 842715
)1.04
parse_and_babelify_mootools
35086494
ns/iter (± 572209
)33043753
ns/iter (± 441984
)1.06
parse_and_babelify_underscore
4398235
ns/iter (± 32551
)4363609
ns/iter (± 34229
)1.01
parse_and_babelify_yui
35850881
ns/iter (± 1537820
)31289190
ns/iter (± 374333
)1.15
html/minify/document/css_spec
42998184
ns/iter (± 359936
)42749997
ns/iter (± 258001
)1.01
html/minify/document/github
17586882
ns/iter (± 122385
)17594209
ns/iter (± 66840
)1.00
html/minify/document/stackoverflow
15780617
ns/iter (± 39180
)15719512
ns/iter (± 32140
)1.00
html/minify/document_fragment/css_spec
40584962
ns/iter (± 260052
)41164381
ns/iter (± 498449
)0.99
html/minify/document_fragment/github
16776541
ns/iter (± 19821
)16927399
ns/iter (± 59252
)0.99
html/minify/document_fragment/stackoverflow
15280852
ns/iter (± 45901
)15461438
ns/iter (± 50863
)0.99
html/document/visitor/compare/clone
341676
ns/iter (± 1709
)335801
ns/iter (± 2129
)1.02
html/document/visitor/compare/visit_mut_span
368111
ns/iter (± 2863
)360842
ns/iter (± 1391
)1.02
html/document/visitor/compare/visit_mut_span_panic
378910
ns/iter (± 1024
)368160
ns/iter (± 2044
)1.03
html/document/visitor/compare/fold_span
399853
ns/iter (± 2775
)405359
ns/iter (± 2435
)0.99
html/document/visitor/compare/fold_span_panic
454766
ns/iter (± 1605
)461902
ns/iter (± 2015
)0.98
html/document_fragment/visitor/compare/clone
335587
ns/iter (± 1987
)333560
ns/iter (± 1252
)1.01
html/document_fragment/visitor/compare/visit_mut_span
365096
ns/iter (± 2370
)364090
ns/iter (± 2176
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
375596
ns/iter (± 2113
)374151
ns/iter (± 2053
)1.00
html/document_fragment/visitor/compare/fold_span
400083
ns/iter (± 2595
)400473
ns/iter (± 2366
)1.00
html/document_fragment/visitor/compare/fold_span_panic
456441
ns/iter (± 2058
)455992
ns/iter (± 1657
)1.00
html/lexer/css_2021_spec
15554131
ns/iter (± 17360
)15533824
ns/iter (± 13593
)1.00
html/lexer/github_com_17_05_2022
6028677
ns/iter (± 7502
)6024155
ns/iter (± 10037
)1.00
html/lexer/stackoverflow_com_17_05_2022
5643649
ns/iter (± 8259
)5630397
ns/iter (± 5333
)1.00
html/parser/parser_document/css_2021_spec
26072198
ns/iter (± 304247
)25900810
ns/iter (± 105235
)1.01
html/parser/parser_document/github_com_17_05_2022
8785277
ns/iter (± 20885
)8749729
ns/iter (± 10111
)1.00
html/parser/parser_document/stackoverflow_com_17_05_2022
7720553
ns/iter (± 12297
)7715711
ns/iter (± 8296
)1.00
html/parser/parser_document_fragment/css_2021_spec
26055470
ns/iter (± 245446
)25651303
ns/iter (± 119134
)1.02
html/parser/parser_document_fragment/github_com_17_05_2022
8796020
ns/iter (± 13245
)8756780
ns/iter (± 4369
)1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7728314
ns/iter (± 14485
)7747552
ns/iter (± 5592
)1.00
This comment was automatically generated by workflow using github-action-benchmark.