@@ -6,16 +6,17 @@ use std::{
6
6
use rayon:: prelude:: * ;
7
7
use swc:: {
8
8
config:: {
9
- BuiltInput , Config , FileMatcher , JscConfig , ModuleConfig , Options , SourceMapsConfig ,
10
- TransformConfig ,
9
+ BuiltInput , Config , FileMatcher , JsMinifyOptions , JscConfig , ModuleConfig , Options ,
10
+ SourceMapsConfig , TransformConfig ,
11
11
} ,
12
- Compiler , TransformOutput ,
12
+ BoolOrDataConfig , Compiler , TransformOutput ,
13
13
} ;
14
14
use swc_common:: {
15
15
chain,
16
16
comments:: { Comment , SingleThreadedComments } ,
17
- errors:: HANDLER ,
18
- BytePos , FileName ,
17
+ errors:: { EmitterWriter , Handler , HANDLER } ,
18
+ sync:: Lrc ,
19
+ BytePos , FileName , Globals , SourceMap , GLOBALS ,
19
20
} ;
20
21
use swc_ecma_ast:: { EsVersion , * } ;
21
22
use swc_ecma_parser:: { EsConfig , Syntax , TsConfig } ;
@@ -1034,3 +1035,57 @@ fn issue_6009() {
1034
1035
} )
1035
1036
. unwrap ( )
1036
1037
}
1038
+
1039
+ #[ test]
1040
+ fn issue_7513_1 ( ) {
1041
+ static TEST_CODE : & str = r#"
1042
+ function test() {
1043
+ return {
1044
+ a: 1,
1045
+ b: 2,
1046
+ c: 3,
1047
+ }
1048
+ }
1049
+ "# ;
1050
+
1051
+ let globals = Globals :: default ( ) ;
1052
+ let cm: Lrc < SourceMap > = Default :: default ( ) ;
1053
+ let compiler = Compiler :: new ( cm. clone ( ) ) ;
1054
+ let handler = Handler :: with_emitter (
1055
+ true ,
1056
+ false ,
1057
+ Box :: new ( EmitterWriter :: new (
1058
+ Box :: new ( std:: io:: stderr ( ) ) ,
1059
+ None ,
1060
+ false ,
1061
+ false ,
1062
+ ) ) ,
1063
+ ) ;
1064
+
1065
+ GLOBALS . set ( & globals, || {
1066
+ let fm = cm. new_source_file (
1067
+ FileName :: Custom ( String :: from ( "Test" ) ) ,
1068
+ TEST_CODE . to_string ( ) ,
1069
+ ) ;
1070
+ let options = Options {
1071
+ config : Config {
1072
+ jsc : JscConfig {
1073
+ target : Some ( EsVersion :: Es2022 ) ,
1074
+ minify : Some ( JsMinifyOptions {
1075
+ compress : BoolOrDataConfig :: from_bool ( false ) ,
1076
+ mangle : BoolOrDataConfig :: from_bool ( true ) ,
1077
+ ..Default :: default ( )
1078
+ } ) ,
1079
+ ..Default :: default ( )
1080
+ } ,
1081
+ minify : true . into ( ) ,
1082
+ ..Default :: default ( )
1083
+ } ,
1084
+ ..Default :: default ( )
1085
+ } ;
1086
+ let program = compiler. process_js_file ( fm, & handler, & options) . unwrap ( ) ;
1087
+
1088
+ eprintln ! ( "{}" , program. code) ;
1089
+ assert_eq ! ( program. code, "function n(){return{a:1,b:2,c:3}}" ) ;
1090
+ } )
1091
+ }
1 commit comments
github-actions[bot] commentedon Jun 19, 2023
Benchmark
es/full/bugs-1
304199
ns/iter (± 6581
)355878
ns/iter (± 6340
)0.85
es/full/minify/libraries/antd
1439814531
ns/iter (± 7262457
)1846815370
ns/iter (± 27143843
)0.78
es/full/minify/libraries/d3
313150469
ns/iter (± 3752562
)370202996
ns/iter (± 9708209
)0.85
es/full/minify/libraries/echarts
1173063382
ns/iter (± 3341247
)1421567379
ns/iter (± 19185235
)0.83
es/full/minify/libraries/jquery
94547919
ns/iter (± 135886
)108091306
ns/iter (± 817049
)0.87
es/full/minify/libraries/lodash
111966766
ns/iter (± 162436
)132435701
ns/iter (± 1397646
)0.85
es/full/minify/libraries/moment
55658535
ns/iter (± 71732
)63601561
ns/iter (± 346423
)0.88
es/full/minify/libraries/react
19985574
ns/iter (± 73783
)22734270
ns/iter (± 110565
)0.88
es/full/minify/libraries/terser
244572228
ns/iter (± 761159
)288628240
ns/iter (± 2884921
)0.85
es/full/minify/libraries/three
426653001
ns/iter (± 1646735
)534384851
ns/iter (± 12007094
)0.80
es/full/minify/libraries/typescript
2958527994
ns/iter (± 12193246
)3563329823
ns/iter (± 35058121
)0.83
es/full/minify/libraries/victory
623712851
ns/iter (± 2536883
)760017492
ns/iter (± 19160614
)0.82
es/full/minify/libraries/vue
135370111
ns/iter (± 875137
)158966868
ns/iter (± 1737687
)0.85
es/full/codegen/es3
36847
ns/iter (± 123
)40642
ns/iter (± 91
)0.91
es/full/codegen/es5
36724
ns/iter (± 74
)40356
ns/iter (± 125
)0.91
es/full/codegen/es2015
36898
ns/iter (± 79
)40428
ns/iter (± 85
)0.91
es/full/codegen/es2016
36791
ns/iter (± 135
)40371
ns/iter (± 192
)0.91
es/full/codegen/es2017
36747
ns/iter (± 149
)40417
ns/iter (± 159
)0.91
es/full/codegen/es2018
36800
ns/iter (± 81
)39959
ns/iter (± 412
)0.92
es/full/codegen/es2019
36743
ns/iter (± 103
)39890
ns/iter (± 297
)0.92
es/full/codegen/es2020
36825
ns/iter (± 104
)39971
ns/iter (± 310
)0.92
es/full/all/es3
179891074
ns/iter (± 1106912
)208207448
ns/iter (± 3089454
)0.86
es/full/all/es5
170692695
ns/iter (± 963417
)198232478
ns/iter (± 2403720
)0.86
es/full/all/es2015
126160643
ns/iter (± 622825
)155713499
ns/iter (± 2365254
)0.81
es/full/all/es2016
125187741
ns/iter (± 1359043
)154499737
ns/iter (± 1524366
)0.81
es/full/all/es2017
125989472
ns/iter (± 868363
)154335066
ns/iter (± 2202976
)0.82
es/full/all/es2018
122991589
ns/iter (± 694641
)152045204
ns/iter (± 1577277
)0.81
es/full/all/es2019
121076518
ns/iter (± 771812
)149387992
ns/iter (± 1742691
)0.81
es/full/all/es2020
118055843
ns/iter (± 451379
)147085025
ns/iter (± 1856909
)0.80
es/full/parser
525377
ns/iter (± 5867
)599865
ns/iter (± 8940
)0.88
es/full/base/fixer
18454
ns/iter (± 36
)24145
ns/iter (± 216
)0.76
es/full/base/resolver_and_hygiene
92874
ns/iter (± 166
)104942
ns/iter (± 1125
)0.89
serialization of serde
332
ns/iter (± 0
)290
ns/iter (± 7
)1.14
css/minify/libraries/bootstrap
31368297
ns/iter (± 61876
)35080463
ns/iter (± 426345
)0.89
css/visitor/compare/clone
2046151
ns/iter (± 35701
)2342851
ns/iter (± 14211
)0.87
css/visitor/compare/visit_mut_span
2148790
ns/iter (± 16768
)2525932
ns/iter (± 9049
)0.85
css/visitor/compare/visit_mut_span_panic
2216437
ns/iter (± 12582
)2576954
ns/iter (± 13321
)0.86
css/visitor/compare/fold_span
2903453
ns/iter (± 15344
)3290608
ns/iter (± 19270
)0.88
css/visitor/compare/fold_span_panic
3110942
ns/iter (± 25571
)3450405
ns/iter (± 27267
)0.90
css/lexer/bootstrap_5_1_3
4826438
ns/iter (± 957
)5418129
ns/iter (± 62632
)0.89
css/lexer/foundation_6_7_4
4068584
ns/iter (± 1991
)4607298
ns/iter (± 22549
)0.88
css/lexer/tailwind_3_1_1
770317
ns/iter (± 640
)873026
ns/iter (± 5504
)0.88
css/parser/bootstrap_5_1_3
20517038
ns/iter (± 12057
)23550182
ns/iter (± 226378
)0.87
css/parser/foundation_6_7_4
16512165
ns/iter (± 36908
)18949804
ns/iter (± 187593
)0.87
css/parser/tailwind_3_1_1
3197016
ns/iter (± 2680
)3660693
ns/iter (± 15016
)0.87
es/codegen/colors
732127
ns/iter (± 398157
)726519
ns/iter (± 396489
)1.01
es/codegen/large
3207523
ns/iter (± 1688124
)3022447
ns/iter (± 1586931
)1.06
es/codegen/with-parser/colors
48523
ns/iter (± 252
)56671
ns/iter (± 560
)0.86
es/codegen/with-parser/large
527009
ns/iter (± 1086
)569654
ns/iter (± 4482
)0.93
es/minify/libraries/antd
1281012067
ns/iter (± 8660010
)1616763501
ns/iter (± 24080280
)0.79
es/minify/libraries/d3
276618934
ns/iter (± 2751696
)322986182
ns/iter (± 4389971
)0.86
es/minify/libraries/echarts
1017399499
ns/iter (± 2746771
)1240662531
ns/iter (± 21400973
)0.82
es/minify/libraries/jquery
83153585
ns/iter (± 1035512
)95628935
ns/iter (± 1308859
)0.87
es/minify/libraries/lodash
102292774
ns/iter (± 235018
)119454398
ns/iter (± 1094081
)0.86
es/minify/libraries/moment
49177168
ns/iter (± 69547
)55679636
ns/iter (± 652220
)0.88
es/minify/libraries/react
18026397
ns/iter (± 60099
)20260404
ns/iter (± 78833
)0.89
es/minify/libraries/terser
210248733
ns/iter (± 257980
)242908634
ns/iter (± 2164553
)0.87
es/minify/libraries/three
361359277
ns/iter (± 904799
)432083719
ns/iter (± 5043166
)0.84
es/minify/libraries/typescript
2555846414
ns/iter (± 6449740
)3072812022
ns/iter (± 11918273
)0.83
es/minify/libraries/victory
529937945
ns/iter (± 1587428
)658290263
ns/iter (± 10340781
)0.81
es/minify/libraries/vue
122919073
ns/iter (± 212128
)142425926
ns/iter (± 2071489
)0.86
es/visitor/compare/clone
2081091
ns/iter (± 6998
)2443981
ns/iter (± 61975
)0.85
es/visitor/compare/visit_mut_span
2426024
ns/iter (± 4885
)2794294
ns/iter (± 5140
)0.87
es/visitor/compare/visit_mut_span_panic
2465664
ns/iter (± 5510
)2833752
ns/iter (± 2895
)0.87
es/visitor/compare/fold_span
3471720
ns/iter (± 6078
)3934546
ns/iter (± 5407
)0.88
es/visitor/compare/fold_span_panic
3602446
ns/iter (± 4438
)4027221
ns/iter (± 5229
)0.89
es/lexer/colors
13335
ns/iter (± 70
)14681
ns/iter (± 68
)0.91
es/lexer/angular
6217144
ns/iter (± 33533
)6916748
ns/iter (± 18107
)0.90
es/lexer/backbone
829141
ns/iter (± 3795
)839945
ns/iter (± 3817
)0.99
es/lexer/jquery
4626709
ns/iter (± 5643
)4751212
ns/iter (± 5517
)0.97
es/lexer/jquery mobile
7083694
ns/iter (± 7307
)7311638
ns/iter (± 19274
)0.97
es/lexer/mootools
3666738
ns/iter (± 3666
)3721072
ns/iter (± 8861
)0.99
es/lexer/underscore
687503
ns/iter (± 653
)696143
ns/iter (± 2383
)0.99
es/lexer/three
21799294
ns/iter (± 51997
)22218136
ns/iter (± 73200
)0.98
es/lexer/yui
4117968
ns/iter (± 2367
)4259871
ns/iter (± 16450
)0.97
es/parser/colors
28749
ns/iter (± 99
)34011
ns/iter (± 97
)0.85
es/parser/angular
14304820
ns/iter (± 149984
)16654512
ns/iter (± 204525
)0.86
es/parser/backbone
2129184
ns/iter (± 8642
)2379703
ns/iter (± 26179
)0.89
es/parser/jquery
11649953
ns/iter (± 44324
)12984002
ns/iter (± 153327
)0.90
es/parser/jquery mobile
17601473
ns/iter (± 53110
)20155306
ns/iter (± 266232
)0.87
es/parser/mootools
8885116
ns/iter (± 16379
)9858943
ns/iter (± 90393
)0.90
es/parser/underscore
1856039
ns/iter (± 5237
)2064050
ns/iter (± 13080
)0.90
es/parser/three
49426461
ns/iter (± 185180
)56875564
ns/iter (± 681465
)0.87
es/parser/yui
8933952
ns/iter (± 61828
)9978078
ns/iter (± 75563
)0.90
es/preset-env/usage/builtin_type
147995
ns/iter (± 32493
)150764
ns/iter (± 34131
)0.98
es/preset-env/usage/property
19963
ns/iter (± 30
)29110
ns/iter (± 272
)0.69
es/resolver/typescript
95790495
ns/iter (± 952757
)125722668
ns/iter (± 1572989
)0.76
es/fixer/typescript
67281567
ns/iter (± 320083
)88657018
ns/iter (± 1824549
)0.76
es/hygiene/typescript
145355419
ns/iter (± 1431268
)201308054
ns/iter (± 2656521
)0.72
es/resolver_with_hygiene/typescript
300884216
ns/iter (± 1595618
)395433996
ns/iter (± 2326562
)0.76
es/visitor/base-perf/module_clone
64336
ns/iter (± 254
)83543
ns/iter (± 604
)0.77
es/visitor/base-perf/fold_empty
67581
ns/iter (± 231
)93729
ns/iter (± 503
)0.72
es/visitor/base-perf/fold_noop_impl_all
67353
ns/iter (± 587
)94145
ns/iter (± 1099
)0.72
es/visitor/base-perf/fold_noop_impl_vec
67243
ns/iter (± 266
)94317
ns/iter (± 742
)0.71
es/visitor/base-perf/boxing_boxed_clone
55
ns/iter (± 0
)58
ns/iter (± 0
)0.95
es/visitor/base-perf/boxing_unboxed_clone
41
ns/iter (± 0
)43
ns/iter (± 0
)0.95
es/visitor/base-perf/boxing_boxed
107
ns/iter (± 0
)107
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
78
ns/iter (± 0
)81
ns/iter (± 0
)0.96
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)es/visitor/base-perf/visit_contains_this
2571
ns/iter (± 7
)3413
ns/iter (± 44
)0.75
es/base/parallel/resolver/typescript
4601497273
ns/iter (± 288806650
)6990210510
ns/iter (± 408536394
)0.66
es/base/parallel/hygiene/typescript
1599938382
ns/iter (± 9927258
)2353095860
ns/iter (± 13918904
)0.68
misc/visitors/time-complexity/time 5
106
ns/iter (± 0
)105
ns/iter (± 0
)1.01
misc/visitors/time-complexity/time 10
280
ns/iter (± 0
)342
ns/iter (± 6
)0.82
misc/visitors/time-complexity/time 15
550
ns/iter (± 30
)669
ns/iter (± 3
)0.82
misc/visitors/time-complexity/time 20
986
ns/iter (± 19
)1249
ns/iter (± 6
)0.79
misc/visitors/time-complexity/time 40
3763
ns/iter (± 149
)6671
ns/iter (± 46
)0.56
misc/visitors/time-complexity/time 60
7939
ns/iter (± 33
)17240
ns/iter (± 173
)0.46
es/full-target/es2016
240865
ns/iter (± 1137
)268546
ns/iter (± 2838
)0.90
es/full-target/es2017
228696
ns/iter (± 520
)254192
ns/iter (± 1181
)0.90
es/full-target/es2018
216097
ns/iter (± 864
)242678
ns/iter (± 1558
)0.89
es2020_nullish_coalescing
73463
ns/iter (± 438
)97023
ns/iter (± 937
)0.76
es2020_optional_chaining
65465
ns/iter (± 338
)86805
ns/iter (± 556
)0.75
es2022_class_properties
121240
ns/iter (± 374
)153368
ns/iter (± 1361
)0.79
es2018_object_rest_spread
77739
ns/iter (± 288
)98158
ns/iter (± 811
)0.79
es2019_optional_catch_binding
66565
ns/iter (± 172
)87304
ns/iter (± 499
)0.76
es2017_async_to_generator
65612
ns/iter (± 142
)88025
ns/iter (± 521
)0.75
es2016_exponentiation
72434
ns/iter (± 405
)94539
ns/iter (± 942
)0.77
es2015_arrow
74462
ns/iter (± 174
)97524
ns/iter (± 637
)0.76
es2015_block_scoped_fn
71607
ns/iter (± 172
)95313
ns/iter (± 893
)0.75
es2015_block_scoping
132228
ns/iter (± 484
)181519
ns/iter (± 1332
)0.73
This comment was automatically generated by workflow using github-action-benchmark.