-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/minifier): Fix a inliner bug related to
Script
(#7288)
**Related issue:** - Closes #7287.
- Loading branch information
Showing
6 changed files
with
100 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
{ | ||
"jsc": { | ||
"parser": { | ||
"syntax": "typescript", | ||
"decorators": true | ||
}, | ||
"minify": { | ||
"compress": { | ||
"arguments": false, | ||
"arrows": true, | ||
"booleans": true, | ||
"booleans_as_integers": false, | ||
"collapse_vars": true, | ||
"comparisons": true, | ||
"computed_props": true, | ||
"conditionals": true, | ||
"dead_code": false, | ||
"directives": true, | ||
"drop_console": false, | ||
"drop_debugger": true, | ||
"evaluate": true, | ||
"expression": false, | ||
"hoist_funs": false, | ||
"hoist_props": true, | ||
"hoist_vars": false, | ||
"if_return": true, | ||
"join_vars": true, | ||
"keep_classnames": false, | ||
"keep_fargs": true, | ||
"keep_fnames": false, | ||
"keep_infinity": false, | ||
"loops": true, | ||
"negate_iife": true, | ||
"properties": true, | ||
"reduce_funcs": false, | ||
"reduce_vars": false, | ||
"side_effects": true, | ||
"switches": true, | ||
"typeofs": true, | ||
"unsafe": false, | ||
"unsafe_arrows": false, | ||
"unsafe_comps": false, | ||
"unsafe_Function": false, | ||
"unsafe_math": false, | ||
"unsafe_symbols": false, | ||
"unsafe_methods": false, | ||
"unsafe_proto": false, | ||
"unsafe_regexp": false, | ||
"unsafe_undefined": false, | ||
"unused": true, | ||
"const_to_let": true, | ||
"pristine_globals": true | ||
}, | ||
"mangle": false, | ||
"module": true | ||
}, | ||
"externalHelpers": true, | ||
"target": "es2022" | ||
}, | ||
"minify": true, | ||
"isModule": false, | ||
"module": { | ||
"type": "commonjs" | ||
}, | ||
} |
10 changes: 10 additions & 0 deletions
10
crates/swc/tests/fixture/issues-7xxx/7287/1/input/index.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,10 @@ | ||
(function () { | ||
|
||
const r = f(); | ||
console.log(r) | ||
|
||
function f() { | ||
console.log("REQUIRE") | ||
return 1 | ||
} | ||
})(); |
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 @@ | ||
!function(){let r=(console.log("REQUIRE"),1);console.log(r)}(); |
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
10 changes: 10 additions & 0 deletions
10
crates/swc_ecma_minifier/tests/fixture/issues/7287/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,10 @@ | ||
(function () { | ||
|
||
const r = f(); | ||
console.log(r) | ||
|
||
function f() { | ||
console.log("REQUIRE") | ||
return 1 | ||
} | ||
})(); |
4 changes: 4 additions & 0 deletions
4
crates/swc_ecma_minifier/tests/fixture/issues/7287/1/output.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() { | ||
const r = (console.log("REQUIRE"), 1); | ||
console.log(r); | ||
}(); |
0aab90c
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
302479
ns/iter (± 14755
)305923
ns/iter (± 10539
)0.99
es/full/minify/libraries/antd
1548612134
ns/iter (± 22251432
)1594556170
ns/iter (± 17244083
)0.97
es/full/minify/libraries/d3
299588138
ns/iter (± 7522816
)308361207
ns/iter (± 6821820
)0.97
es/full/minify/libraries/echarts
1201862126
ns/iter (± 15601839
)1241817270
ns/iter (± 6340803
)0.97
es/full/minify/libraries/jquery
92003507
ns/iter (± 1160064
)91795933
ns/iter (± 1086863
)1.00
es/full/minify/libraries/lodash
105868291
ns/iter (± 3631710
)107243989
ns/iter (± 1214395
)0.99
es/full/minify/libraries/moment
52994219
ns/iter (± 667686
)52875094
ns/iter (± 1699534
)1.00
es/full/minify/libraries/react
19332333
ns/iter (± 163678
)19415332
ns/iter (± 207006
)1.00
es/full/minify/libraries/terser
244591463
ns/iter (± 2786445
)251060746
ns/iter (± 3175189
)0.97
es/full/minify/libraries/three
434121736
ns/iter (± 7341660
)446277568
ns/iter (± 3636176
)0.97
es/full/minify/libraries/typescript
2948775204
ns/iter (± 17079510
)2962101850
ns/iter (± 17045385
)1.00
es/full/minify/libraries/victory
663553587
ns/iter (± 15762915
)677109440
ns/iter (± 13254040
)0.98
es/full/minify/libraries/vue
130068624
ns/iter (± 1901484
)130600191
ns/iter (± 1128164
)1.00
es/full/codegen/es3
28867
ns/iter (± 64
)28818
ns/iter (± 68
)1.00
es/full/codegen/es5
29033
ns/iter (± 57
)28915
ns/iter (± 138
)1.00
es/full/codegen/es2015
28993
ns/iter (± 63
)28792
ns/iter (± 122
)1.01
es/full/codegen/es2016
29001
ns/iter (± 84
)28732
ns/iter (± 127
)1.01
es/full/codegen/es2017
29191
ns/iter (± 32
)28728
ns/iter (± 125
)1.02
es/full/codegen/es2018
28982
ns/iter (± 70
)28769
ns/iter (± 82
)1.01
es/full/codegen/es2019
28962
ns/iter (± 54
)28746
ns/iter (± 108
)1.01
es/full/codegen/es2020
28988
ns/iter (± 52
)28870
ns/iter (± 74
)1.00
es/full/all/es3
182661920
ns/iter (± 2014173
)179191275
ns/iter (± 2958626
)1.02
es/full/all/es5
176648507
ns/iter (± 4130359
)172861474
ns/iter (± 1701904
)1.02
es/full/all/es2015
135757759
ns/iter (± 2387249
)132066660
ns/iter (± 3024307
)1.03
es/full/all/es2016
135020849
ns/iter (± 1828659
)130033869
ns/iter (± 1939361
)1.04
es/full/all/es2017
132889460
ns/iter (± 2210943
)128947619
ns/iter (± 1427862
)1.03
es/full/all/es2018
128237520
ns/iter (± 1859557
)124818492
ns/iter (± 2637750
)1.03
es/full/all/es2019
126349728
ns/iter (± 1418462
)122614756
ns/iter (± 1930317
)1.03
es/full/all/es2020
119281890
ns/iter (± 1526466
)117882632
ns/iter (± 1351052
)1.01
es/full/parser
522073
ns/iter (± 7312
)515660
ns/iter (± 8623
)1.01
es/full/base/fixer
22473
ns/iter (± 32
)22481
ns/iter (± 93
)1.00
es/full/base/resolver_and_hygiene
84523
ns/iter (± 71
)84067
ns/iter (± 169
)1.01
serialization of serde
121
ns/iter (± 0
)120
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
27448635
ns/iter (± 69547
)27918683
ns/iter (± 239230
)0.98
css/visitor/compare/clone
2145712
ns/iter (± 24980
)2141554
ns/iter (± 13059
)1.00
css/visitor/compare/visit_mut_span
2333349
ns/iter (± 3081
)2307330
ns/iter (± 7457
)1.01
css/visitor/compare/visit_mut_span_panic
2398122
ns/iter (± 3473
)2356372
ns/iter (± 7393
)1.02
css/visitor/compare/fold_span
3111027
ns/iter (± 15454
)3097604
ns/iter (± 12596
)1.00
css/visitor/compare/fold_span_panic
3272935
ns/iter (± 12265
)3250161
ns/iter (± 13745
)1.01
css/lexer/bootstrap_5_1_3
5131933
ns/iter (± 17688
)5116744
ns/iter (± 15043
)1.00
css/lexer/foundation_6_7_4
4318702
ns/iter (± 2448
)4290143
ns/iter (± 15174
)1.01
css/lexer/tailwind_3_1_1
821554
ns/iter (± 691
)816405
ns/iter (± 2478
)1.01
css/parser/bootstrap_5_1_3
21017634
ns/iter (± 142189
)21109342
ns/iter (± 327193
)1.00
css/parser/foundation_6_7_4
16720187
ns/iter (± 46791
)16710439
ns/iter (± 97899
)1.00
css/parser/tailwind_3_1_1
3219837
ns/iter (± 4309
)3210737
ns/iter (± 6646
)1.00
es/codegen/colors
327716
ns/iter (± 186089
)325579
ns/iter (± 184977
)1.01
es/codegen/large
1237329
ns/iter (± 648162
)1234409
ns/iter (± 635983
)1.00
es/codegen/with-parser/colors
48627
ns/iter (± 197
)47878
ns/iter (± 380
)1.02
es/codegen/with-parser/large
517056
ns/iter (± 1377
)509613
ns/iter (± 2806
)1.01
es/minify/libraries/antd
1373393060
ns/iter (± 24161144
)1383153219
ns/iter (± 17804349
)0.99
es/minify/libraries/d3
253862848
ns/iter (± 4290063
)257111153
ns/iter (± 2740840
)0.99
es/minify/libraries/echarts
1038953369
ns/iter (± 8575144
)1044637523
ns/iter (± 6395258
)0.99
es/minify/libraries/jquery
79167953
ns/iter (± 863285
)79472717
ns/iter (± 519565
)1.00
es/minify/libraries/lodash
94133239
ns/iter (± 1146089
)95591314
ns/iter (± 1216178
)0.98
es/minify/libraries/moment
45706761
ns/iter (± 625971
)45480912
ns/iter (± 258310
)1.00
es/minify/libraries/react
17038374
ns/iter (± 158737
)17231128
ns/iter (± 192473
)0.99
es/minify/libraries/terser
205913679
ns/iter (± 2173387
)211830477
ns/iter (± 2968140
)0.97
es/minify/libraries/three
362527637
ns/iter (± 5111781
)366984737
ns/iter (± 5175658
)0.99
es/minify/libraries/typescript
2456746573
ns/iter (± 12527556
)2507336166
ns/iter (± 14957454
)0.98
es/minify/libraries/victory
549321403
ns/iter (± 8541856
)562668664
ns/iter (± 9742946
)0.98
es/minify/libraries/vue
114738039
ns/iter (± 1764972
)116459334
ns/iter (± 1760226
)0.99
es/visitor/compare/clone
2341359
ns/iter (± 4878
)2321483
ns/iter (± 12752
)1.01
es/visitor/compare/visit_mut_span
2697441
ns/iter (± 2220
)2685923
ns/iter (± 7510
)1.00
es/visitor/compare/visit_mut_span_panic
2741950
ns/iter (± 4557
)2738414
ns/iter (± 7774
)1.00
es/visitor/compare/fold_span
3812626
ns/iter (± 15010
)3771384
ns/iter (± 11457
)1.01
es/visitor/compare/fold_span_panic
3951779
ns/iter (± 9194
)3913371
ns/iter (± 17000
)1.01
es/lexer/colors
13129
ns/iter (± 11
)13072
ns/iter (± 39
)1.00
es/lexer/angular
6397504
ns/iter (± 4249
)6378413
ns/iter (± 16514
)1.00
es/lexer/backbone
781917
ns/iter (± 954
)772670
ns/iter (± 973
)1.01
es/lexer/jquery
4387421
ns/iter (± 4029
)4369658
ns/iter (± 11778
)1.00
es/lexer/jquery mobile
6841721
ns/iter (± 4164
)6788898
ns/iter (± 18268
)1.01
es/lexer/mootools
3473139
ns/iter (± 2256
)3436085
ns/iter (± 11712
)1.01
es/lexer/underscore
647874
ns/iter (± 575
)640127
ns/iter (± 1341
)1.01
es/lexer/three
21040868
ns/iter (± 23881
)20753290
ns/iter (± 42594
)1.01
es/lexer/yui
3857794
ns/iter (± 3150
)3851750
ns/iter (± 8397
)1.00
es/parser/colors
28831
ns/iter (± 45
)28707
ns/iter (± 152
)1.00
es/parser/angular
15139028
ns/iter (± 173927
)15269146
ns/iter (± 115156
)0.99
es/parser/backbone
2158047
ns/iter (± 14310
)2140333
ns/iter (± 15306
)1.01
es/parser/jquery
11756459
ns/iter (± 107638
)11678174
ns/iter (± 155922
)1.01
es/parser/jquery mobile
18394837
ns/iter (± 295264
)18778219
ns/iter (± 394025
)0.98
es/parser/mootools
8949014
ns/iter (± 34923
)8892092
ns/iter (± 33057
)1.01
es/parser/underscore
1828475
ns/iter (± 10835
)1810918
ns/iter (± 10359
)1.01
es/parser/three
53277712
ns/iter (± 487400
)53887718
ns/iter (± 349459
)0.99
es/parser/yui
9043502
ns/iter (± 38267
)8985670
ns/iter (± 61952
)1.01
es/preset-env/usage/builtin_type
140107
ns/iter (± 33799
)141658
ns/iter (± 34712
)0.99
es/preset-env/usage/property
20006
ns/iter (± 65
)19372
ns/iter (± 98
)1.03
es/resolver/typescript
111387375
ns/iter (± 1872512
)112414444
ns/iter (± 2603746
)0.99
es/fixer/typescript
77580612
ns/iter (± 436247
)78612236
ns/iter (± 956190
)0.99
es/hygiene/typescript
164231701
ns/iter (± 1288329
)167101095
ns/iter (± 1512746
)0.98
es/resolver_with_hygiene/typescript
295851550
ns/iter (± 951400
)299742358
ns/iter (± 980402
)0.99
es/visitor/base-perf/module_clone
81109
ns/iter (± 520
)80618
ns/iter (± 286
)1.01
es/visitor/base-perf/fold_empty
90895
ns/iter (± 356
)90137
ns/iter (± 286
)1.01
es/visitor/base-perf/fold_noop_impl_all
90827
ns/iter (± 442
)90559
ns/iter (± 274
)1.00
es/visitor/base-perf/fold_noop_impl_vec
90493
ns/iter (± 446
)90374
ns/iter (± 705
)1.00
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)58
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
41
ns/iter (± 0
)41
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
104
ns/iter (± 0
)103
ns/iter (± 0
)1.01
es/visitor/base-perf/boxing_unboxed
78
ns/iter (± 0
)79
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_contains_this
3493
ns/iter (± 77
)3526
ns/iter (± 68
)0.99
es/base/parallel/resolver/typescript
5916789593
ns/iter (± 387517634
)5801861021
ns/iter (± 474047572
)1.02
es/base/parallel/hygiene/typescript
1991473182
ns/iter (± 39979242
)1995093544
ns/iter (± 24916990
)1.00
misc/visitors/time-complexity/time 5
99
ns/iter (± 0
)98
ns/iter (± 0
)1.01
misc/visitors/time-complexity/time 10
353
ns/iter (± 0
)354
ns/iter (± 1
)1.00
misc/visitors/time-complexity/time 15
673
ns/iter (± 5
)664
ns/iter (± 4
)1.01
misc/visitors/time-complexity/time 20
1224
ns/iter (± 8
)1223
ns/iter (± 8
)1.00
misc/visitors/time-complexity/time 40
6203
ns/iter (± 3
)6180
ns/iter (± 13
)1.00
misc/visitors/time-complexity/time 60
15580
ns/iter (± 6
)15580
ns/iter (± 67
)1
es/full-target/es2016
254203
ns/iter (± 610
)252549
ns/iter (± 441
)1.01
es/full-target/es2017
246901
ns/iter (± 295
)245584
ns/iter (± 443
)1.01
es/full-target/es2018
235668
ns/iter (± 378
)234751
ns/iter (± 1723
)1.00
es2020_nullish_coalescing
92664
ns/iter (± 365
)92196
ns/iter (± 510
)1.01
es2020_optional_chaining
124486
ns/iter (± 269
)124177
ns/iter (± 319
)1.00
es2022_class_properties
149647
ns/iter (± 288
)148625
ns/iter (± 291
)1.01
es2018_object_rest_spread
95973
ns/iter (± 205
)95332
ns/iter (± 326
)1.01
es2019_optional_catch_binding
85347
ns/iter (± 169
)85109
ns/iter (± 271
)1.00
es2017_async_to_generator
86343
ns/iter (± 206
)85577
ns/iter (± 885
)1.01
es2016_exponentiation
90685
ns/iter (± 191
)89836
ns/iter (± 399
)1.01
es2015_arrow
94388
ns/iter (± 219
)93558
ns/iter (± 155
)1.01
es2015_block_scoped_fn
90529
ns/iter (± 223
)91374
ns/iter (± 369
)0.99
es2015_block_scoping
167303
ns/iter (± 345
)169744
ns/iter (± 458
)0.99
This comment was automatically generated by workflow using github-action-benchmark.