-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(es/resolver): Correctly resolve global value (#7893)
**Related issue:** - Closes #7685
- Loading branch information
Showing
11 changed files
with
49 additions
and
34 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
20 changes: 10 additions & 10 deletions
20
crates/swc_ecma_minifier/tests/terser/compress/collapse_vars/issue_2506/output.mangleOnly.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 |
---|---|---|
@@ -1,14 +1,14 @@ | ||
var a = 0; | ||
function n(n) { | ||
function f(n) { | ||
function f(n) { | ||
if ((false <= NaN) & (this >> 1 >= 0)) { | ||
a++; | ||
var n = 0; | ||
function a(a) { | ||
function f(a) { | ||
function f(a) { | ||
if ((false <= a) & (this >> 1 >= 0)) { | ||
n++; | ||
} | ||
} | ||
var o = f(NaN, a++); | ||
var o = f(NaN, n++); | ||
} | ||
var n = f(-3, -1); | ||
var a = f(-3, -1); | ||
} | ||
n(false); | ||
console.log(a); | ||
a(false); | ||
console.log(n); |
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
8 changes: 4 additions & 4 deletions
8
crates/swc_ecma_minifier/tests/terser/compress/functions/issue_2620_3/output.mangleOnly.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
8 changes: 4 additions & 4 deletions
8
crates/swc_ecma_minifier/tests/terser/compress/functions/issue_2620_4/output.mangleOnly.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
2 changes: 1 addition & 1 deletion
2
...press/issue_597/NaN_and_Infinity_should_not_be_replaced_when_they_are_redefined/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 |
---|---|---|
@@ -1,3 +1,3 @@ | ||
var Infinity, NaN1; | ||
Infinity.toString(); | ||
(1 / 0).toString(); | ||
NaN.toString(); |
4 changes: 2 additions & 2 deletions
4
..._597/NaN_and_Infinity_should_not_be_replaced_when_they_are_redefined/output.mangleOnly.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 |
---|---|---|
@@ -1,3 +1,3 @@ | ||
var t, r; | ||
t.toString(); | ||
var t, i; | ||
Infinity.toString(); | ||
NaN.toString(); |
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
6 changes: 6 additions & 0 deletions
6
crates/swc_ecma_transforms_base/tests/resolver/issues/7685/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,6 @@ | ||
var NaN = 1; | ||
{ | ||
let NaN = 1; | ||
console.log(NaN); | ||
} | ||
console.log(NaN); |
5 changes: 5 additions & 0 deletions
5
crates/swc_ecma_transforms_base/tests/resolver/issues/7685/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,5 @@ | ||
var NaN__2 = 1; | ||
{ | ||
let NaN__3 = 1; | ||
console.log(NaN__3); | ||
}console.log(NaN); |
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
2db10e9
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
283912
ns/iter (± 8826
)295534
ns/iter (± 10332
)0.96
es/full/minify/libraries/antd
1387151075
ns/iter (± 43279686
)1287433065
ns/iter (± 16011923
)1.08
es/full/minify/libraries/d3
279476166
ns/iter (± 6418360
)271526459
ns/iter (± 4067750
)1.03
es/full/minify/libraries/echarts
1059269407
ns/iter (± 13395724
)1032901563
ns/iter (± 3348705
)1.03
es/full/minify/libraries/jquery
83674326
ns/iter (± 2098319
)83648079
ns/iter (± 90505
)1.00
es/full/minify/libraries/lodash
97509221
ns/iter (± 1270908
)96563634
ns/iter (± 312015
)1.01
es/full/minify/libraries/moment
50379231
ns/iter (± 615295
)49404532
ns/iter (± 54777
)1.02
es/full/minify/libraries/react
18279801
ns/iter (± 251520
)17853802
ns/iter (± 51558
)1.02
es/full/minify/libraries/terser
218638828
ns/iter (± 1072105
)216185706
ns/iter (± 635810
)1.01
es/full/minify/libraries/three
388579637
ns/iter (± 2654853
)379960294
ns/iter (± 1571916
)1.02
es/full/minify/libraries/typescript
2606384876
ns/iter (± 17265830
)2610700544
ns/iter (± 7598975
)1.00
es/full/minify/libraries/victory
566023858
ns/iter (± 8551319
)550248145
ns/iter (± 1962749
)1.03
es/full/minify/libraries/vue
119065553
ns/iter (± 1123031
)117798819
ns/iter (± 237267
)1.01
es/full/codegen/es3
34779
ns/iter (± 100
)33671
ns/iter (± 169
)1.03
es/full/codegen/es5
34799
ns/iter (± 78
)33527
ns/iter (± 64
)1.04
es/full/codegen/es2015
34666
ns/iter (± 130
)33579
ns/iter (± 69
)1.03
es/full/codegen/es2016
34805
ns/iter (± 184
)33598
ns/iter (± 70
)1.04
es/full/codegen/es2017
34799
ns/iter (± 103
)33622
ns/iter (± 96
)1.04
es/full/codegen/es2018
34742
ns/iter (± 103
)33582
ns/iter (± 112
)1.03
es/full/codegen/es2019
34750
ns/iter (± 96
)33652
ns/iter (± 130
)1.03
es/full/codegen/es2020
34702
ns/iter (± 112
)33609
ns/iter (± 103
)1.03
es/full/all/es3
170418074
ns/iter (± 1030376
)168654423
ns/iter (± 1645465
)1.01
es/full/all/es5
163186057
ns/iter (± 982212
)160793169
ns/iter (± 1749270
)1.01
es/full/all/es2015
122704269
ns/iter (± 1243922
)120402864
ns/iter (± 700880
)1.02
es/full/all/es2016
121178079
ns/iter (± 717310
)118775327
ns/iter (± 1149100
)1.02
es/full/all/es2017
121910633
ns/iter (± 1347717
)118051257
ns/iter (± 799823
)1.03
es/full/all/es2018
118839202
ns/iter (± 658475
)117049071
ns/iter (± 786136
)1.02
es/full/all/es2019
118458140
ns/iter (± 736142
)115904265
ns/iter (± 496237
)1.02
es/full/all/es2020
114094292
ns/iter (± 680680
)110990147
ns/iter (± 565794
)1.03
es/full/parser
492172
ns/iter (± 6074
)490378
ns/iter (± 5878
)1.00
es/full/base/fixer
18024
ns/iter (± 73
)17887
ns/iter (± 43
)1.01
es/full/base/resolver_and_hygiene
81678
ns/iter (± 99
)79193
ns/iter (± 130
)1.03
serialization of serde
289
ns/iter (± 4
)293
ns/iter (± 0
)0.99
css/minify/libraries/bootstrap
28619273
ns/iter (± 110070
)28778211
ns/iter (± 145085
)0.99
css/visitor/compare/clone
1630892
ns/iter (± 4099
)1620359
ns/iter (± 2372
)1.01
css/visitor/compare/visit_mut_span
1767706
ns/iter (± 27703
)1740846
ns/iter (± 4192
)1.02
css/visitor/compare/visit_mut_span_panic
1829829
ns/iter (± 3897
)1814951
ns/iter (± 3513
)1.01
css/visitor/compare/fold_span
2569404
ns/iter (± 7589
)2539796
ns/iter (± 8938
)1.01
css/visitor/compare/fold_span_panic
2771202
ns/iter (± 14626
)2735037
ns/iter (± 6445
)1.01
css/lexer/bootstrap_5_1_3
4482737
ns/iter (± 27432
)4463322
ns/iter (± 27183
)1.00
css/lexer/foundation_6_7_4
3767219
ns/iter (± 1710
)3749572
ns/iter (± 1780
)1.00
css/lexer/tailwind_3_1_1
721296
ns/iter (± 529
)711613
ns/iter (± 805
)1.01
css/parser/bootstrap_5_1_3
18916010
ns/iter (± 93385
)18759974
ns/iter (± 58896
)1.01
css/parser/foundation_6_7_4
15167360
ns/iter (± 11829
)14982478
ns/iter (± 15846
)1.01
css/parser/tailwind_3_1_1
2947867
ns/iter (± 2889
)2925712
ns/iter (± 4243
)1.01
es/codegen/colors
739718
ns/iter (± 405795
)732574
ns/iter (± 399654
)1.01
es/codegen/large
2894434
ns/iter (± 1541644
)3145990
ns/iter (± 1673982
)0.92
es/codegen/with-parser/colors
45739
ns/iter (± 369
)45524
ns/iter (± 452
)1.00
es/codegen/with-parser/large
488750
ns/iter (± 1050
)483446
ns/iter (± 811
)1.01
es/minify/libraries/antd
1189921217
ns/iter (± 24777760
)1121835368
ns/iter (± 15930869
)1.06
es/minify/libraries/d3
241690002
ns/iter (± 3973949
)236087351
ns/iter (± 304199
)1.02
es/minify/libraries/echarts
929250298
ns/iter (± 14305652
)881780668
ns/iter (± 4054764
)1.05
es/minify/libraries/jquery
74091008
ns/iter (± 679624
)72765552
ns/iter (± 181108
)1.02
es/minify/libraries/lodash
89933913
ns/iter (± 1593782
)86375360
ns/iter (± 115158
)1.04
es/minify/libraries/moment
44842757
ns/iter (± 535413
)43261510
ns/iter (± 53240
)1.04
es/minify/libraries/react
16461104
ns/iter (± 172027
)15975849
ns/iter (± 37718
)1.03
es/minify/libraries/terser
207764340
ns/iter (± 14025357
)182095544
ns/iter (± 397633
)1.14
es/minify/libraries/three
344675299
ns/iter (± 12511346
)313701193
ns/iter (± 840488
)1.10
es/minify/libraries/typescript
2415635259
ns/iter (± 97052558
)2161518137
ns/iter (± 14609210
)1.12
es/minify/libraries/victory
548764827
ns/iter (± 53824652
)464037943
ns/iter (± 1132512
)1.18
es/minify/libraries/vue
109181872
ns/iter (± 1198241
)105099313
ns/iter (± 156711
)1.04
es/visitor/compare/clone
1926332
ns/iter (± 5664
)1921050
ns/iter (± 7979
)1.00
es/visitor/compare/visit_mut_span
2279813
ns/iter (± 4642
)2267698
ns/iter (± 3669
)1.01
es/visitor/compare/visit_mut_span_panic
2323074
ns/iter (± 92057
)2303286
ns/iter (± 4166
)1.01
es/visitor/compare/fold_span
3347345
ns/iter (± 15696
)3311467
ns/iter (± 6122
)1.01
es/visitor/compare/fold_span_panic
3490840
ns/iter (± 12145
)3459298
ns/iter (± 6616
)1.01
es/lexer/colors
13439
ns/iter (± 30
)13192
ns/iter (± 68
)1.02
es/lexer/angular
6170633
ns/iter (± 9665
)6144332
ns/iter (± 5007
)1.00
es/lexer/backbone
796475
ns/iter (± 1151
)787060
ns/iter (± 951
)1.01
es/lexer/jquery
4513122
ns/iter (± 1723
)4515129
ns/iter (± 7456
)1.00
es/lexer/jquery mobile
6846380
ns/iter (± 7820
)6914362
ns/iter (± 92929
)0.99
es/lexer/mootools
3580023
ns/iter (± 2186
)3574646
ns/iter (± 16840
)1.00
es/lexer/underscore
661820
ns/iter (± 1104
)666026
ns/iter (± 2298
)0.99
es/lexer/three
21419139
ns/iter (± 16815
)21404097
ns/iter (± 24478
)1.00
es/lexer/yui
3832845
ns/iter (± 3988
)3821840
ns/iter (± 5845
)1.00
es/parser/colors
27533
ns/iter (± 60
)27962
ns/iter (± 25
)0.98
es/parser/angular
13553185
ns/iter (± 301283
)13508891
ns/iter (± 72995
)1.00
es/parser/backbone
1996511
ns/iter (± 18119
)2004527
ns/iter (± 10208
)1.00
es/parser/jquery
11439368
ns/iter (± 89947
)10944260
ns/iter (± 33683
)1.05
es/parser/jquery mobile
17734566
ns/iter (± 150576
)16802240
ns/iter (± 43343
)1.06
es/parser/mootools
8537799
ns/iter (± 32544
)8410119
ns/iter (± 17581
)1.02
es/parser/underscore
1734744
ns/iter (± 3154
)1730216
ns/iter (± 9897
)1.00
es/parser/three
47147502
ns/iter (± 436722
)46656503
ns/iter (± 137422
)1.01
es/parser/yui
8304175
ns/iter (± 39894
)8285310
ns/iter (± 35543
)1.00
es/preset-env/usage/builtin_type
137479
ns/iter (± 32450
)136133
ns/iter (± 32353
)1.01
es/preset-env/usage/property
17071
ns/iter (± 66
)16668
ns/iter (± 64
)1.02
es/resolver/typescript
91607751
ns/iter (± 1264331
)87912566
ns/iter (± 1113024
)1.04
es/fixer/typescript
64341965
ns/iter (± 2006832
)62782523
ns/iter (± 849147
)1.02
es/hygiene/typescript
130197208
ns/iter (± 1593672
)130930640
ns/iter (± 1036139
)0.99
es/resolver_with_hygiene/typescript
246113213
ns/iter (± 1312831
)244577299
ns/iter (± 3081418
)1.01
es/visitor/base-perf/module_clone
62033
ns/iter (± 467
)60293
ns/iter (± 270
)1.03
es/visitor/base-perf/fold_empty
65024
ns/iter (± 253
)64018
ns/iter (± 142
)1.02
es/visitor/base-perf/fold_noop_impl_all
65952
ns/iter (± 3399
)65133
ns/iter (± 342
)1.01
es/visitor/base-perf/fold_noop_impl_vec
65677
ns/iter (± 256
)65442
ns/iter (± 1244
)1.00
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)57
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed_clone
40
ns/iter (± 0
)39
ns/iter (± 0
)1.03
es/visitor/base-perf/boxing_boxed
127
ns/iter (± 0
)108
ns/iter (± 0
)1.18
es/visitor/base-perf/boxing_unboxed
85
ns/iter (± 0
)76
ns/iter (± 0
)1.12
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2531
ns/iter (± 6
)2529
ns/iter (± 10
)1.00
es/base/parallel/resolver/typescript
3652691825
ns/iter (± 262795340
)4514136434
ns/iter (± 269342311
)0.81
es/base/parallel/hygiene/typescript
1437212626
ns/iter (± 15467285
)1435466786
ns/iter (± 19927319
)1.00
misc/visitors/time-complexity/time 5
119
ns/iter (± 0
)132
ns/iter (± 6
)0.90
misc/visitors/time-complexity/time 10
378
ns/iter (± 6
)389
ns/iter (± 6
)0.97
misc/visitors/time-complexity/time 15
676
ns/iter (± 10
)680
ns/iter (± 9
)0.99
misc/visitors/time-complexity/time 20
1058
ns/iter (± 2
)1065
ns/iter (± 14
)0.99
misc/visitors/time-complexity/time 40
3554
ns/iter (± 10
)3562
ns/iter (± 8
)1.00
misc/visitors/time-complexity/time 60
7476
ns/iter (± 131
)7334
ns/iter (± 21
)1.02
es/full-target/es2016
231147
ns/iter (± 357
)230731
ns/iter (± 704
)1.00
es/full-target/es2017
220176
ns/iter (± 436
)219821
ns/iter (± 375
)1.00
es/full-target/es2018
210729
ns/iter (± 658
)208305
ns/iter (± 360
)1.01
es2020_nullish_coalescing
70729
ns/iter (± 236
)70736
ns/iter (± 212
)1.00
es2020_optional_chaining
81236
ns/iter (± 842
)82369
ns/iter (± 391
)0.99
es2022_class_properties
116134
ns/iter (± 473
)117415
ns/iter (± 923
)0.99
es2018_object_rest_spread
74777
ns/iter (± 250
)76277
ns/iter (± 310
)0.98
es2019_optional_catch_binding
65301
ns/iter (± 166
)66597
ns/iter (± 351
)0.98
es2017_async_to_generator
65446
ns/iter (± 247
)66249
ns/iter (± 270
)0.99
es2016_exponentiation
66343
ns/iter (± 266
)67415
ns/iter (± 279
)0.98
es2015_arrow
72354
ns/iter (± 234
)73051
ns/iter (± 330
)0.99
es2015_block_scoped_fn
69092
ns/iter (± 192
)70936
ns/iter (± 261
)0.97
es2015_block_scoping
122246
ns/iter (± 527
)125584
ns/iter (± 419
)0.97
This comment was automatically generated by workflow using github-action-benchmark.