@@ -120,7 +120,11 @@ use std::{
120
120
121
121
use anyhow:: { bail, Context , Error } ;
122
122
use atoms:: JsWord ;
123
- use common:: { collections:: AHashMap , comments:: SingleThreadedComments , errors:: HANDLER } ;
123
+ use common:: {
124
+ collections:: AHashMap ,
125
+ comments:: { CommentKind , SingleThreadedComments } ,
126
+ errors:: HANDLER ,
127
+ } ;
124
128
use config:: { IsModule , JsMinifyCommentOption , JsMinifyOptions , OutputCharset } ;
125
129
use jsonc_parser:: { parse_to_serde_value, ParseOptions } ;
126
130
use once_cell:: sync:: Lazy ;
@@ -696,7 +700,15 @@ pub(crate) fn minify_file_comments(
696
700
BoolOr :: Data ( JsMinifyCommentOption :: PreserveSomeComments ) => {
697
701
let preserve_excl = |_: & BytePos , vc : & mut Vec < Comment > | -> bool {
698
702
// Preserve license comments.
699
- vc. retain ( |c : & Comment | c. text . contains ( "@license" ) || c. text . starts_with ( '!' ) ) ;
703
+ //
704
+ // See https://github.com/terser/terser/blob/798135e04baddd94fea403cfaab4ba8b22b1b524/lib/output.js#L175-L181
705
+ vc. retain ( |c : & Comment | {
706
+ c. text . contains ( "@lic" )
707
+ || c. text . contains ( "@preserve" )
708
+ || c. text . contains ( "@copyright" )
709
+ || c. text . contains ( "@cc_on" )
710
+ || ( c. kind == CommentKind :: Block && c. text . starts_with ( '!' ) )
711
+ } ) ;
700
712
!vc. is_empty ( )
701
713
} ;
702
714
let ( mut l, mut t) = comments. borrow_all_mut ( ) ;
1 commit comments
github-actions[bot] commentedon Jul 21, 2023
Benchmark
es/full/bugs-1
283739
ns/iter (± 4895
)293194
ns/iter (± 6378
)0.97
es/full/minify/libraries/antd
1357910406
ns/iter (± 18392269
)1321864611
ns/iter (± 18958849
)1.03
es/full/minify/libraries/d3
292043673
ns/iter (± 4774406
)277917980
ns/iter (± 5712947
)1.05
es/full/minify/libraries/echarts
1121112761
ns/iter (± 7444746
)1064009093
ns/iter (± 4245819
)1.05
es/full/minify/libraries/jquery
86866527
ns/iter (± 712723
)84729198
ns/iter (± 270018
)1.03
es/full/minify/libraries/lodash
100504811
ns/iter (± 391356
)98151219
ns/iter (± 161341
)1.02
es/full/minify/libraries/moment
50953221
ns/iter (± 113485
)49660844
ns/iter (± 60121
)1.03
es/full/minify/libraries/react
18236844
ns/iter (± 82815
)17962471
ns/iter (± 48853
)1.02
es/full/minify/libraries/terser
225182701
ns/iter (± 929107
)219869948
ns/iter (± 1124538
)1.02
es/full/minify/libraries/three
404492091
ns/iter (± 3533121
)386141614
ns/iter (± 2648781
)1.05
es/full/minify/libraries/typescript
2729126946
ns/iter (± 29429371
)2667482556
ns/iter (± 13629789
)1.02
es/full/minify/libraries/victory
575161292
ns/iter (± 12203907
)568135630
ns/iter (± 3140194
)1.01
es/full/minify/libraries/vue
123010385
ns/iter (± 1485444
)120854332
ns/iter (± 830287
)1.02
es/full/codegen/es3
34134
ns/iter (± 68
)34316
ns/iter (± 82
)0.99
es/full/codegen/es5
34065
ns/iter (± 85
)34267
ns/iter (± 42
)0.99
es/full/codegen/es2015
34142
ns/iter (± 66
)34299
ns/iter (± 65
)1.00
es/full/codegen/es2016
34126
ns/iter (± 87
)34267
ns/iter (± 73
)1.00
es/full/codegen/es2017
34035
ns/iter (± 92
)34312
ns/iter (± 95
)0.99
es/full/codegen/es2018
34107
ns/iter (± 81
)34285
ns/iter (± 82
)0.99
es/full/codegen/es2019
34140
ns/iter (± 72
)34341
ns/iter (± 78
)0.99
es/full/codegen/es2020
34139
ns/iter (± 74
)34354
ns/iter (± 93
)0.99
es/full/all/es3
172718337
ns/iter (± 1104100
)172475523
ns/iter (± 1168953
)1.00
es/full/all/es5
164355674
ns/iter (± 1001487
)165273391
ns/iter (± 1569545
)0.99
es/full/all/es2015
123942817
ns/iter (± 523550
)124461022
ns/iter (± 814370
)1.00
es/full/all/es2016
123592732
ns/iter (± 1067611
)123286043
ns/iter (± 486242
)1.00
es/full/all/es2017
122076147
ns/iter (± 538422
)122379610
ns/iter (± 386766
)1.00
es/full/all/es2018
120362192
ns/iter (± 576364
)120444805
ns/iter (± 431552
)1.00
es/full/all/es2019
119802659
ns/iter (± 859275
)120191745
ns/iter (± 572433
)1.00
es/full/all/es2020
115016042
ns/iter (± 917681
)115859306
ns/iter (± 551974
)0.99
es/full/parser
534799
ns/iter (± 6467
)539883
ns/iter (± 5226
)0.99
es/full/base/fixer
17683
ns/iter (± 67
)17745
ns/iter (± 167
)1.00
es/full/base/resolver_and_hygiene
83181
ns/iter (± 163
)82647
ns/iter (± 206
)1.01
serialization of serde
291
ns/iter (± 0
)294
ns/iter (± 1
)0.99
css/minify/libraries/bootstrap
28798243
ns/iter (± 96346
)28254499
ns/iter (± 166533
)1.02
css/visitor/compare/clone
1642135
ns/iter (± 4768
)1637799
ns/iter (± 2667
)1.00
css/visitor/compare/visit_mut_span
1790081
ns/iter (± 5769
)1774096
ns/iter (± 6573
)1.01
css/visitor/compare/visit_mut_span_panic
1842535
ns/iter (± 2924
)1831275
ns/iter (± 5899
)1.01
css/visitor/compare/fold_span
2560112
ns/iter (± 16375
)2574277
ns/iter (± 12833
)0.99
css/visitor/compare/fold_span_panic
2751312
ns/iter (± 13853
)2764428
ns/iter (± 15263
)1.00
css/lexer/bootstrap_5_1_3
4433388
ns/iter (± 3448
)4487332
ns/iter (± 3861
)0.99
css/lexer/foundation_6_7_4
3756957
ns/iter (± 1845
)3766743
ns/iter (± 2325
)1.00
css/lexer/tailwind_3_1_1
712790
ns/iter (± 564
)720823
ns/iter (± 2985
)0.99
css/parser/bootstrap_5_1_3
20172369
ns/iter (± 36499
)19592842
ns/iter (± 76094
)1.03
css/parser/foundation_6_7_4
16099106
ns/iter (± 45805
)15529733
ns/iter (± 41698
)1.04
css/parser/tailwind_3_1_1
3099826
ns/iter (± 3293
)2981137
ns/iter (± 2870
)1.04
es/codegen/colors
756306
ns/iter (± 401849
)734588
ns/iter (± 402652
)1.03
es/codegen/large
3158740
ns/iter (± 1665466
)3131931
ns/iter (± 1681480
)1.01
es/codegen/with-parser/colors
44142
ns/iter (± 453
)44204
ns/iter (± 429
)1.00
es/codegen/with-parser/large
482393
ns/iter (± 1348
)484572
ns/iter (± 574
)1.00
es/minify/libraries/antd
1167070035
ns/iter (± 16082500
)1148458195
ns/iter (± 14593694
)1.02
es/minify/libraries/d3
243091491
ns/iter (± 1281574
)241812011
ns/iter (± 2676415
)1.01
es/minify/libraries/echarts
930953945
ns/iter (± 5098739
)919758931
ns/iter (± 13698541
)1.01
es/minify/libraries/jquery
74254758
ns/iter (± 246414
)73636654
ns/iter (± 389240
)1.01
es/minify/libraries/lodash
88551790
ns/iter (± 199190
)88037321
ns/iter (± 137352
)1.01
es/minify/libraries/moment
43622796
ns/iter (± 109356
)43604865
ns/iter (± 112619
)1.00
es/minify/libraries/react
16096109
ns/iter (± 60241
)16014875
ns/iter (± 28353
)1.01
es/minify/libraries/terser
189759093
ns/iter (± 860920
)187765448
ns/iter (± 790676
)1.01
es/minify/libraries/three
325563318
ns/iter (± 1661307
)322992884
ns/iter (± 1740598
)1.01
es/minify/libraries/typescript
2294015210
ns/iter (± 12318055
)2291881269
ns/iter (± 8994370
)1.00
es/minify/libraries/victory
487923416
ns/iter (± 3514998
)472735163
ns/iter (± 14512767
)1.03
es/minify/libraries/vue
108414179
ns/iter (± 790473
)107123358
ns/iter (± 248804
)1.01
es/visitor/compare/clone
1934960
ns/iter (± 18816
)1938516
ns/iter (± 4336
)1.00
es/visitor/compare/visit_mut_span
2282528
ns/iter (± 2591
)2287129
ns/iter (± 5028
)1.00
es/visitor/compare/visit_mut_span_panic
2312759
ns/iter (± 5079
)2324419
ns/iter (± 3129
)0.99
es/visitor/compare/fold_span
3316503
ns/iter (± 2933
)3315610
ns/iter (± 4195
)1.00
es/visitor/compare/fold_span_panic
3483401
ns/iter (± 2475
)3477431
ns/iter (± 4855
)1.00
es/lexer/colors
13022
ns/iter (± 19
)12609
ns/iter (± 13
)1.03
es/lexer/angular
6144771
ns/iter (± 8075
)6159853
ns/iter (± 18750
)1.00
es/lexer/backbone
811470
ns/iter (± 1060
)800148
ns/iter (± 639
)1.01
es/lexer/jquery
4529183
ns/iter (± 3588
)4502994
ns/iter (± 4983
)1.01
es/lexer/jquery mobile
6960376
ns/iter (± 2527
)6906329
ns/iter (± 13509
)1.01
es/lexer/mootools
3598939
ns/iter (± 1101
)3565140
ns/iter (± 6516
)1.01
es/lexer/underscore
679775
ns/iter (± 1006
)673534
ns/iter (± 1093
)1.01
es/lexer/three
21413757
ns/iter (± 18323
)21197953
ns/iter (± 19689
)1.01
es/lexer/yui
3913429
ns/iter (± 4390
)3870332
ns/iter (± 1572
)1.01
es/parser/colors
26280
ns/iter (± 47
)26495
ns/iter (± 61
)0.99
es/parser/angular
13342753
ns/iter (± 69789
)13330895
ns/iter (± 54588
)1.00
es/parser/backbone
1973709
ns/iter (± 8923
)1969855
ns/iter (± 8759
)1.00
es/parser/jquery
10753090
ns/iter (± 39636
)10746776
ns/iter (± 43498
)1.00
es/parser/jquery mobile
16566526
ns/iter (± 195241
)16502279
ns/iter (± 37811
)1.00
es/parser/mootools
8242130
ns/iter (± 17883
)8259212
ns/iter (± 21767
)1.00
es/parser/underscore
1701820
ns/iter (± 8810
)1701210
ns/iter (± 9104
)1.00
es/parser/three
47188213
ns/iter (± 861637
)46023543
ns/iter (± 129240
)1.03
es/parser/yui
8166263
ns/iter (± 47604
)8215630
ns/iter (± 27648
)0.99
es/preset-env/usage/builtin_type
135971
ns/iter (± 30944
)139635
ns/iter (± 32697
)0.97
es/preset-env/usage/property
17107
ns/iter (± 62
)16828
ns/iter (± 58
)1.02
es/resolver/typescript
90198237
ns/iter (± 1243091
)87890571
ns/iter (± 1028951
)1.03
es/fixer/typescript
64057495
ns/iter (± 820316
)63452645
ns/iter (± 269791
)1.01
es/hygiene/typescript
136281481
ns/iter (± 3627283
)133711435
ns/iter (± 573672
)1.02
es/resolver_with_hygiene/typescript
250985943
ns/iter (± 3296262
)244961364
ns/iter (± 1597556
)1.02
es/visitor/base-perf/module_clone
61664
ns/iter (± 235
)61999
ns/iter (± 319
)0.99
es/visitor/base-perf/fold_empty
64668
ns/iter (± 343
)64061
ns/iter (± 342
)1.01
es/visitor/base-perf/fold_noop_impl_all
64759
ns/iter (± 553
)64403
ns/iter (± 882
)1.01
es/visitor/base-perf/fold_noop_impl_vec
64900
ns/iter (± 284
)64270
ns/iter (± 229
)1.01
es/visitor/base-perf/boxing_boxed_clone
59
ns/iter (± 0
)58
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
39
ns/iter (± 0
)39
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
108
ns/iter (± 0
)110
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
78
ns/iter (± 0
)77
ns/iter (± 0
)1.01
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2520
ns/iter (± 19
)2498
ns/iter (± 7
)1.01
es/base/parallel/resolver/typescript
4481123869
ns/iter (± 271760016
)4498257590
ns/iter (± 283672280
)1.00
es/base/parallel/hygiene/typescript
1476104863
ns/iter (± 14112456
)1472152606
ns/iter (± 19301840
)1.00
misc/visitors/time-complexity/time 5
137
ns/iter (± 1
)137
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
285
ns/iter (± 47
)396
ns/iter (± 3
)0.72
misc/visitors/time-complexity/time 15
683
ns/iter (± 5
)732
ns/iter (± 18
)0.93
misc/visitors/time-complexity/time 20
1062
ns/iter (± 3
)1045
ns/iter (± 2
)1.02
misc/visitors/time-complexity/time 40
3704
ns/iter (± 291
)3487
ns/iter (± 4
)1.06
misc/visitors/time-complexity/time 60
8131
ns/iter (± 731
)8773
ns/iter (± 20
)0.93
es/full-target/es2016
238298
ns/iter (± 1668
)235638
ns/iter (± 625
)1.01
es/full-target/es2017
224099
ns/iter (± 523
)225286
ns/iter (± 461
)0.99
es/full-target/es2018
213795
ns/iter (± 715
)212848
ns/iter (± 363
)1.00
es2020_nullish_coalescing
69076
ns/iter (± 319
)71685
ns/iter (± 357
)0.96
es2020_optional_chaining
78288
ns/iter (± 315
)78934
ns/iter (± 274
)0.99
es2022_class_properties
118576
ns/iter (± 221
)120924
ns/iter (± 224
)0.98
es2018_object_rest_spread
75022
ns/iter (± 232
)75738
ns/iter (± 361
)0.99
es2019_optional_catch_binding
64921
ns/iter (± 186
)64127
ns/iter (± 180
)1.01
es2017_async_to_generator
63471
ns/iter (± 124
)66062
ns/iter (± 252
)0.96
es2016_exponentiation
68359
ns/iter (± 293
)70353
ns/iter (± 202
)0.97
es2015_arrow
73343
ns/iter (± 355
)74826
ns/iter (± 317
)0.98
es2015_block_scoped_fn
68563
ns/iter (± 200
)70371
ns/iter (± 194
)0.97
es2015_block_scoping
125273
ns/iter (± 595
)126612
ns/iter (± 226
)0.99
This comment was automatically generated by workflow using github-action-benchmark.