@@ -44,6 +44,7 @@ use swc_ecma_loader::{
44
44
resolvers:: { lru:: CachingResolver , node:: NodeModulesResolver , tsc:: TsConfigResolver } ,
45
45
TargetEnv ,
46
46
} ;
47
+ pub use swc_ecma_minifier:: js:: * ;
47
48
use swc_ecma_minifier:: option:: {
48
49
terser:: { TerserCompressorOptions , TerserEcmaVersion , TerserTopLevelOptions } ,
49
50
MangleOptions ,
@@ -1070,206 +1071,6 @@ pub struct Config {
1070
1071
pub schema : Option < String > ,
1071
1072
}
1072
1073
1073
- /// Second argument of `minify`.
1074
- #[ derive( Debug , Clone , Serialize , Deserialize , Default ) ]
1075
- #[ serde( deny_unknown_fields, rename_all = "camelCase" ) ]
1076
- pub struct JsMinifyOptions {
1077
- #[ serde( default ) ]
1078
- pub parse : JsMinifyParseOptions ,
1079
-
1080
- #[ serde( default ) ]
1081
- pub compress : BoolOrDataConfig < TerserCompressorOptions > ,
1082
-
1083
- #[ serde( default ) ]
1084
- pub mangle : BoolOrDataConfig < MangleOptions > ,
1085
-
1086
- #[ serde( default , alias = "output" ) ]
1087
- pub format : JsMinifyFormatOptions ,
1088
-
1089
- #[ serde( default ) ]
1090
- pub ecma : TerserEcmaVersion ,
1091
-
1092
- #[ serde( default , alias = "keep_classnames" ) ]
1093
- pub keep_classnames : bool ,
1094
-
1095
- #[ serde( default , alias = "keep_fnames" ) ]
1096
- pub keep_fnames : bool ,
1097
-
1098
- #[ serde( default ) ]
1099
- pub module : bool ,
1100
-
1101
- #[ serde( default ) ]
1102
- pub safari10 : bool ,
1103
-
1104
- #[ serde( default = "true_by_default" ) ]
1105
- pub toplevel : bool ,
1106
-
1107
- #[ serde( default ) ]
1108
- pub source_map : BoolOrDataConfig < TerserSourceMapOption > ,
1109
-
1110
- #[ serde( default ) ]
1111
- pub output_path : Option < String > ,
1112
-
1113
- #[ serde( default = "true_by_default" ) ]
1114
- pub inline_sources_content : bool ,
1115
-
1116
- #[ serde( default = "true_by_default" ) ]
1117
- pub emit_source_map_columns : bool ,
1118
- }
1119
-
1120
- fn true_by_default ( ) -> bool {
1121
- true
1122
- }
1123
-
1124
- /// `jsc.minify.sourceMap`
1125
- #[ derive( Debug , Clone , Default , Serialize , Deserialize ) ]
1126
- #[ serde( deny_unknown_fields, rename_all = "camelCase" ) ]
1127
- pub struct TerserSourceMapOption {
1128
- #[ serde( default ) ]
1129
- pub filename : Option < String > ,
1130
-
1131
- #[ serde( default ) ]
1132
- pub url : Option < String > ,
1133
-
1134
- #[ serde( default ) ]
1135
- pub root : Option < String > ,
1136
-
1137
- #[ serde( default ) ]
1138
- pub content : Option < String > ,
1139
- }
1140
-
1141
- /// Parser options for `minify()`, which should have the same API as terser.
1142
- ///
1143
- /// `jsc.minify.parse` is ignored.
1144
- #[ derive( Debug , Clone , Default , Serialize , Deserialize ) ]
1145
- #[ serde( deny_unknown_fields, rename_all = "camelCase" ) ]
1146
- pub struct JsMinifyParseOptions {
1147
- /// Not supported.
1148
- #[ serde( default , alias = "bare_returns" ) ]
1149
- pub bare_returns : bool ,
1150
-
1151
- /// Ignored, and always parsed.
1152
- #[ serde( default = "true_by_default" , alias = "html5_comments" ) ]
1153
- pub html5_comments : bool ,
1154
-
1155
- /// Ignored, and always parsed.
1156
- #[ serde( default = "true_by_default" ) ]
1157
- pub shebang : bool ,
1158
-
1159
- /// Not supported.
1160
- #[ serde( default ) ]
1161
- pub spidermonkey : bool ,
1162
- }
1163
-
1164
- /// `jsc.minify.format`.
1165
- #[ derive( Debug , Clone , Default , Serialize , Deserialize ) ]
1166
- #[ serde( deny_unknown_fields, rename_all = "camelCase" ) ]
1167
- pub struct JsMinifyFormatOptions {
1168
- /// Not implemented yet.
1169
- #[ serde( default , alias = "ascii_only" ) ]
1170
- pub ascii_only : bool ,
1171
-
1172
- /// Not implemented yet.
1173
- #[ serde( default ) ]
1174
- pub beautify : bool ,
1175
-
1176
- /// Not implemented yet.
1177
- #[ serde( default ) ]
1178
- pub braces : bool ,
1179
-
1180
- #[ serde( default = "default_comments" ) ]
1181
- pub comments : BoolOrDataConfig < JsMinifyCommentOption > ,
1182
-
1183
- /// Not implemented yet.
1184
- #[ serde( default ) ]
1185
- pub ecma : usize ,
1186
-
1187
- /// Not implemented yet.
1188
- #[ serde( default , alias = "indent_level" ) ]
1189
- pub indent_level : Option < usize > ,
1190
-
1191
- /// Not implemented yet.
1192
- #[ serde( default , alias = "indent_start" ) ]
1193
- pub indent_start : bool ,
1194
-
1195
- /// Not implemented yet.
1196
- #[ serde( default , alias = "inline_script" ) ]
1197
- pub inline_script : bool ,
1198
-
1199
- /// Not implemented yet.
1200
- #[ serde( default , alias = "keep_numbers" ) ]
1201
- pub keep_numbers : bool ,
1202
-
1203
- /// Not implemented yet.
1204
- #[ serde( default , alias = "keep_quoted_props" ) ]
1205
- pub keep_quoted_props : bool ,
1206
-
1207
- /// Not implemented yet.
1208
- #[ serde( default , alias = "max_line_len" ) ]
1209
- pub max_line_len : usize ,
1210
-
1211
- /// Not implemented yet.
1212
- #[ serde( default ) ]
1213
- pub preamble : String ,
1214
-
1215
- /// Not implemented yet.
1216
- #[ serde( default , alias = "quote_keys" ) ]
1217
- pub quote_keys : bool ,
1218
-
1219
- /// Not implemented yet.
1220
- #[ serde( default , alias = "quote_style" ) ]
1221
- pub quote_style : usize ,
1222
-
1223
- /// Not implemented yet.
1224
- #[ serde( default , alias = "preserve_annotations" ) ]
1225
- pub preserve_annotations : bool ,
1226
-
1227
- /// Not implemented yet.
1228
- #[ serde( default ) ]
1229
- pub safari10 : bool ,
1230
-
1231
- /// Not implemented yet.
1232
- #[ serde( default ) ]
1233
- pub semicolons : bool ,
1234
-
1235
- /// Not implemented yet.
1236
- #[ serde( default ) ]
1237
- pub shebang : bool ,
1238
-
1239
- /// Not implemented yet.
1240
- #[ serde( default ) ]
1241
- pub webkit : bool ,
1242
-
1243
- /// Not implemented yet.
1244
- #[ serde( default , alias = "warp_iife" ) ]
1245
- pub wrap_iife : bool ,
1246
-
1247
- /// Not implemented yet.
1248
- #[ serde( default , alias = "wrap_func_args" ) ]
1249
- pub wrap_func_args : bool ,
1250
-
1251
- #[ serde( default ) ]
1252
- pub emit_assert_for_import_attributes : bool ,
1253
- }
1254
-
1255
- fn default_comments ( ) -> BoolOrDataConfig < JsMinifyCommentOption > {
1256
- BoolOrDataConfig :: from_obj ( JsMinifyCommentOption :: PreserveSomeComments )
1257
- }
1258
-
1259
- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
1260
- pub enum JsMinifyCommentOption {
1261
- #[ serde( rename = "some" ) ]
1262
- PreserveSomeComments ,
1263
- #[ serde( rename = "all" ) ]
1264
- PreserveAllComments ,
1265
- }
1266
-
1267
- impl Default for JsMinifyCommentOption {
1268
- fn default ( ) -> Self {
1269
- JsMinifyCommentOption :: PreserveSomeComments
1270
- }
1271
- }
1272
-
1273
1074
impl Config {
1274
1075
/// Adjust config for `file`.
1275
1076
///
1 commit comments
github-actions[bot] commentedon Sep 29, 2023
Benchmark
es/full/bugs-1
275732
ns/iter (± 5271
)272701
ns/iter (± 3954
)1.01
es/full/minify/libraries/antd
1317335861
ns/iter (± 18339464
)1310024887
ns/iter (± 8530139
)1.01
es/full/minify/libraries/d3
278448673
ns/iter (± 4068117
)277664242
ns/iter (± 7499981
)1.00
es/full/minify/libraries/echarts
1069715861
ns/iter (± 18519258
)1048424393
ns/iter (± 5539176
)1.02
es/full/minify/libraries/jquery
83943412
ns/iter (± 356041
)83856022
ns/iter (± 73184
)1.00
es/full/minify/libraries/lodash
97164732
ns/iter (± 1003130
)97608585
ns/iter (± 272292
)1.00
es/full/minify/libraries/moment
49692797
ns/iter (± 507924
)49666353
ns/iter (± 91177
)1.00
es/full/minify/libraries/react
17927125
ns/iter (± 121391
)18003635
ns/iter (± 86471
)1.00
es/full/minify/libraries/terser
217851544
ns/iter (± 556096
)218993554
ns/iter (± 1732851
)0.99
es/full/minify/libraries/three
384824470
ns/iter (± 4641007
)386424969
ns/iter (± 1309000
)1.00
es/full/minify/libraries/typescript
2619621222
ns/iter (± 14311976
)2640979970
ns/iter (± 9003195
)0.99
es/full/minify/libraries/victory
565626120
ns/iter (± 13492290
)560204218
ns/iter (± 1926784
)1.01
es/full/minify/libraries/vue
119160498
ns/iter (± 887111
)118546813
ns/iter (± 285313
)1.01
es/full/codegen/es3
32902
ns/iter (± 350
)35213
ns/iter (± 281
)0.93
es/full/codegen/es5
33216
ns/iter (± 105
)35409
ns/iter (± 182
)0.94
es/full/codegen/es2015
33148
ns/iter (± 326
)35426
ns/iter (± 115
)0.94
es/full/codegen/es2016
33032
ns/iter (± 342
)35209
ns/iter (± 100
)0.94
es/full/codegen/es2017
32954
ns/iter (± 237
)35197
ns/iter (± 95
)0.94
es/full/codegen/es2018
32607
ns/iter (± 355
)35300
ns/iter (± 62
)0.92
es/full/codegen/es2019
32854
ns/iter (± 245
)35284
ns/iter (± 70
)0.93
es/full/codegen/es2020
32569
ns/iter (± 558
)35304
ns/iter (± 119
)0.92
es/full/all/es3
163851776
ns/iter (± 2172918
)166509852
ns/iter (± 1091118
)0.98
es/full/all/es5
156793280
ns/iter (± 1166950
)157687708
ns/iter (± 2014599
)0.99
es/full/all/es2015
116819362
ns/iter (± 1439385
)118045243
ns/iter (± 894207
)0.99
es/full/all/es2016
114867685
ns/iter (± 1483834
)116724243
ns/iter (± 613111
)0.98
es/full/all/es2017
114815280
ns/iter (± 882306
)116692041
ns/iter (± 652392
)0.98
es/full/all/es2018
112425090
ns/iter (± 1664909
)114056826
ns/iter (± 319474
)0.99
es/full/all/es2019
111800171
ns/iter (± 927539
)112795409
ns/iter (± 700139
)0.99
es/full/all/es2020
107668447
ns/iter (± 879134
)109587809
ns/iter (± 867732
)0.98
es/full/parser
484279
ns/iter (± 7857
)491719
ns/iter (± 5355
)0.98
es/full/base/fixer
18425
ns/iter (± 241
)17804
ns/iter (± 92
)1.03
es/full/base/resolver_and_hygiene
78884
ns/iter (± 922
)80528
ns/iter (± 150
)0.98
serialization of serde
292
ns/iter (± 4
)298
ns/iter (± 0
)0.98
css/minify/libraries/bootstrap
28571554
ns/iter (± 166387
)28654653
ns/iter (± 67265
)1.00
css/visitor/compare/clone
1658669
ns/iter (± 27158
)1625967
ns/iter (± 3054
)1.02
css/visitor/compare/visit_mut_span
1778345
ns/iter (± 28642
)1774074
ns/iter (± 3936
)1.00
css/visitor/compare/visit_mut_span_panic
1819411
ns/iter (± 17472
)1840951
ns/iter (± 4884
)0.99
css/visitor/compare/fold_span
2551628
ns/iter (± 37351
)2578599
ns/iter (± 6096
)0.99
css/visitor/compare/fold_span_panic
2710718
ns/iter (± 23759
)2744024
ns/iter (± 8959
)0.99
css/lexer/bootstrap_5_1_3
4368781
ns/iter (± 36202
)4466830
ns/iter (± 3648
)0.98
css/lexer/foundation_6_7_4
3649328
ns/iter (± 37023
)3718922
ns/iter (± 3019
)0.98
css/lexer/tailwind_3_1_1
699141
ns/iter (± 7796
)709416
ns/iter (± 565
)0.99
css/parser/bootstrap_5_1_3
19507195
ns/iter (± 107247
)19847077
ns/iter (± 29980
)0.98
css/parser/foundation_6_7_4
15369069
ns/iter (± 149483
)15757518
ns/iter (± 15787
)0.98
css/parser/tailwind_3_1_1
2935752
ns/iter (± 20993
)3013407
ns/iter (± 7057
)0.97
es/codegen/colors
732509
ns/iter (± 408260
)737693
ns/iter (± 402648
)0.99
es/codegen/large
3122810
ns/iter (± 1678876
)3155651
ns/iter (± 1682745
)0.99
es/codegen/with-parser/colors
44560
ns/iter (± 705
)46227
ns/iter (± 489
)0.96
es/codegen/with-parser/large
488405
ns/iter (± 5436
)491545
ns/iter (± 1190
)0.99
es/minify/libraries/antd
1130907656
ns/iter (± 10723165
)1138115577
ns/iter (± 13958086
)0.99
es/minify/libraries/d3
237961089
ns/iter (± 1538540
)238220295
ns/iter (± 364094
)1.00
es/minify/libraries/echarts
888009339
ns/iter (± 10472149
)896254983
ns/iter (± 2646848
)0.99
es/minify/libraries/jquery
73137544
ns/iter (± 272435
)72809177
ns/iter (± 135168
)1.00
es/minify/libraries/lodash
86877099
ns/iter (± 326835
)86905028
ns/iter (± 309860
)1.00
es/minify/libraries/moment
43221937
ns/iter (± 183897
)43229088
ns/iter (± 124333
)1.00
es/minify/libraries/react
15771255
ns/iter (± 163715
)15960645
ns/iter (± 65109
)0.99
es/minify/libraries/terser
186526908
ns/iter (± 939445
)185018609
ns/iter (± 440052
)1.01
es/minify/libraries/three
321915971
ns/iter (± 3749302
)318999302
ns/iter (± 827479
)1.01
es/minify/libraries/typescript
2188233498
ns/iter (± 17891730
)2226783082
ns/iter (± 11510849
)0.98
es/minify/libraries/victory
462084458
ns/iter (± 5928545
)474708606
ns/iter (± 1539603
)0.97
es/minify/libraries/vue
105172328
ns/iter (± 883419
)105118332
ns/iter (± 286175
)1.00
es/visitor/compare/clone
1944556
ns/iter (± 20144
)1943538
ns/iter (± 1198
)1.00
es/visitor/compare/visit_mut_span
2254195
ns/iter (± 21896
)2279862
ns/iter (± 2830
)0.99
es/visitor/compare/visit_mut_span_panic
2310732
ns/iter (± 17503
)2318328
ns/iter (± 2427
)1.00
es/visitor/compare/fold_span
3303070
ns/iter (± 40144
)3376219
ns/iter (± 8501
)0.98
es/visitor/compare/fold_span_panic
3467384
ns/iter (± 42055
)3518504
ns/iter (± 7817
)0.99
es/lexer/colors
13057
ns/iter (± 114
)13344
ns/iter (± 38
)0.98
es/lexer/angular
6063585
ns/iter (± 45154
)6203643
ns/iter (± 7787
)0.98
es/lexer/backbone
784455
ns/iter (± 9362
)805770
ns/iter (± 3462
)0.97
es/lexer/jquery
4502845
ns/iter (± 65099
)4601497
ns/iter (± 5838
)0.98
es/lexer/jquery mobile
6792364
ns/iter (± 66167
)6978353
ns/iter (± 11132
)0.97
es/lexer/mootools
3497828
ns/iter (± 37644
)3636549
ns/iter (± 10199
)0.96
es/lexer/underscore
664762
ns/iter (± 8707
)673296
ns/iter (± 781
)0.99
es/lexer/three
21106575
ns/iter (± 209588
)21802645
ns/iter (± 39858
)0.97
es/lexer/yui
3754426
ns/iter (± 27305
)3898552
ns/iter (± 3643
)0.96
es/parser/colors
27404
ns/iter (± 303
)26884
ns/iter (± 80
)1.02
es/parser/angular
13634723
ns/iter (± 416453
)13483233
ns/iter (± 61588
)1.01
es/parser/backbone
1993905
ns/iter (± 23539
)1986632
ns/iter (± 7830
)1.00
es/parser/jquery
10829890
ns/iter (± 78940
)10832550
ns/iter (± 45609
)1.00
es/parser/jquery mobile
16682825
ns/iter (± 223259
)16612768
ns/iter (± 113574
)1.00
es/parser/mootools
8325680
ns/iter (± 55534
)8320340
ns/iter (± 17075
)1.00
es/parser/underscore
1714937
ns/iter (± 30180
)1705183
ns/iter (± 9793
)1.01
es/parser/three
46391255
ns/iter (± 405661
)46365347
ns/iter (± 445383
)1.00
es/parser/yui
8202543
ns/iter (± 61183
)8237225
ns/iter (± 36534
)1.00
es/preset-env/usage/builtin_type
135233
ns/iter (± 32254
)139017
ns/iter (± 32721
)0.97
es/preset-env/usage/property
16152
ns/iter (± 149
)17203
ns/iter (± 446
)0.94
es/resolver/typescript
89805043
ns/iter (± 1825204
)91178184
ns/iter (± 1145124
)0.98
es/fixer/typescript
61597657
ns/iter (± 932520
)63345493
ns/iter (± 458378
)0.97
es/hygiene/typescript
128323985
ns/iter (± 896064
)129205791
ns/iter (± 689524
)0.99
es/resolver_with_hygiene/typescript
242674890
ns/iter (± 1569547
)242497418
ns/iter (± 901474
)1.00
es/visitor/base-perf/module_clone
58332
ns/iter (± 756
)59487
ns/iter (± 434
)0.98
es/visitor/base-perf/fold_empty
62887
ns/iter (± 150
)63972
ns/iter (± 380
)0.98
es/visitor/base-perf/fold_noop_impl_all
62300
ns/iter (± 1101
)63816
ns/iter (± 206
)0.98
es/visitor/base-perf/fold_noop_impl_vec
63400
ns/iter (± 256
)64064
ns/iter (± 295
)0.99
es/visitor/base-perf/boxing_boxed_clone
55
ns/iter (± 0
)56
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
40
ns/iter (± 0
)40
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
107
ns/iter (± 0
)109
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
78
ns/iter (± 0
)78
ns/iter (± 0
)1
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2503
ns/iter (± 13
)2467
ns/iter (± 13
)1.01
es/base/parallel/resolver/typescript
3712918077
ns/iter (± 284870820
)4291795164
ns/iter (± 236737097
)0.87
es/base/parallel/hygiene/typescript
1439535954
ns/iter (± 20388250
)1451187043
ns/iter (± 19549366
)0.99
misc/visitors/time-complexity/time 5
134
ns/iter (± 2
)136
ns/iter (± 1
)0.99
misc/visitors/time-complexity/time 10
379
ns/iter (± 4
)384
ns/iter (± 3
)0.99
misc/visitors/time-complexity/time 15
666
ns/iter (± 9
)683
ns/iter (± 7
)0.98
misc/visitors/time-complexity/time 20
1074
ns/iter (± 9
)1063
ns/iter (± 54
)1.01
misc/visitors/time-complexity/time 40
3532
ns/iter (± 46
)3565
ns/iter (± 19
)0.99
misc/visitors/time-complexity/time 60
8810
ns/iter (± 51
)7389
ns/iter (± 30
)1.19
This comment was automatically generated by workflow using github-action-benchmark.