-
-
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/compat): Fix optional chaining (#7530)
**Description:** This fixes a few bugs with optional chaining: - [`a?.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL1tC05kq0h9AAouc%2F7DgAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a?.b.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL0kvW0LTmSrSHsQBsP8xLPAAAAA%3D%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAxWKsQ3AIAwEe6b4Ehq7J0IMkQGQYxMlkkUq9g80d1ccM87nm264eg7MiE2aomwvSiJNKAVjuqNiDuv3O7ohY4%2Bk4r7WdAQhrRRX%2FIwaKV1TAAAA&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a.b.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAyWLsQ3AIAwEe6b4Ehq7J0IMkQEQ2ESJZJGK%2FYNCdVfcMeO832mK1qNjhi%2B1tCJI2xYrtUASkBLGNEPGHNqvZ3RFxM5Jqtk%2FhMOtgSSTX%2FoBjF6UKV8AAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a?.b[c?.d]`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdX0IhPVLBVSNRUsLVVyCvNyVGwVyjLz0xRMFCwUohP1EuK1ohPBipIxq4gWS8l1por0R6oLtkezAYAJs%2FWxmEAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`delete foo?.bar`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSMvPV7C1VcgrzclRsFcoKSpNVbBSSEnNSS1JBcnpJSUWcSG49iA%2BAGcLTstEAAAA&config=H4sIAAAAAAAAA1WPSw7CMAxE9zlF5DULYIEEd%2BAQVnCrVPkpTiWqqncnTZMAO3vG42evQkqYWMFDrrnMTcDIFHufFV5cwndWgJRFVlGHBKfmTrxbAxqmIm2HAwnjSKmk%2BHq%2B3GsCjPdMWU5xpipZ7fSw%2FCKVtyESc9vcaRbdaOgfKCoUrH%2FNxayvpCXQccANvkMN1heD5mdL7leJ7QOQNa2NFgEAAA%3D%3D) - [`function foo(a, b = a?.b) {}`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSCvNSy7JzM9TSMvP10jUUUhSsFXQ0NBUsLVTqFYoSyxSiE%2B0VnjUsEyhVlNDU1OhupYLm45Ee70kkCQAp8DQOl8AAAA%3D&config=H4sIAAAAAAAAA22Rz07DMAzG73uKyOdJAw5I7Ii4cBjvYKXuyJQ%2Fle3AqmnvTltIm63cHH%2B%2F%2BPtkXzbGwEks7M1lKIeHMkZpE4e5NbU9HdH2b2QToyYeROVM2wVoinQgxQYV1wgTWr0Za8xuZzhHdYH2BjBrCqjOwnYUEhvrUcTZ6gP84bDia0g%2FOX2%2Ftx8YSDq0tAozMFnoNTuvLsp%2FckNf5FMXKI6ZW%2FRS6ddSzgX4lOTeBzpkIb5dpfRR8TzmJxtQLLtOoVrTSc5rw2W%2F92GXBIp8JJ0Gy9PD48s0dJIhpCZ7qq7cd%2FQLPsMMOTkUrBhAcNG1fcmzuf4AkV7gUzECAAA%3D) It also optimizes the AST for runtime evaluation. Before, we constructed a leftwards conditional tree (`(_a_b = (_a = a) == null ? void 0 : _a.b) == null ? void 0 : _a_b.c`) instead of a rightward tree (`(_a = a) == null ? void 0 : (_a_b = _a.b) == null ? void 0 : _a_b.c`), which required multiple `== null` checks after the first nullish is found. **Related issue:** - Closes #7531.
- Loading branch information
1 parent
0859b76
commit 990e48e
Showing
95 changed files
with
787 additions
and
781 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
2 changes: 1 addition & 1 deletion
2
crates/swc/tests/fixture/issues-2xxx/2020/case1/output/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 |
---|---|---|
@@ -1 +1 @@ | ||
"use strict";const createRegisterItems=registerType=>async(a,b)=>{var _root;const a=(_root=root)===null||_root===void 0?void 0:_root.test}; | ||
"use strict";const createRegisterItems=registerType=>async(a,b)=>{const a=root?.test}; |
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,7 +1,7 @@ | ||
var _myVar_target_value_toLowerCase, _object; | ||
var _myVar_target_value_toLowerCase, _myVar_target_value; | ||
var myVar = { | ||
target: { | ||
value: "ABC" | ||
} | ||
}; | ||
console.log((_object = myVar.target.value) === null || _object === void 0 ? void 0 : (_myVar_target_value_toLowerCase = _object.toLowerCase) === null || _myVar_target_value_toLowerCase === void 0 ? void 0 : _myVar_target_value_toLowerCase.call(_object)); | ||
console.log((_myVar_target_value_toLowerCase = (_myVar_target_value = myVar.target.value).toLowerCase) === null || _myVar_target_value_toLowerCase === void 0 ? void 0 : _myVar_target_value_toLowerCase.call(_myVar_target_value)); |
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
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
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
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
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,5 +1,5 @@ | ||
//// [callChain.2.ts] | ||
var _o1, _o2_b, _this, _o3_b, _object; | ||
var _o1, _o2, _o3_b, _o3; | ||
(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1(); | ||
(_this = o2) === null || _this === void 0 ? void 0 : (_o2_b = _this.b) === null || _o2_b === void 0 ? void 0 : _o2_b.call(_this); | ||
(_object = o3) === null || _object === void 0 ? void 0 : ((_o3_b = _object.b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(_object)).c; | ||
(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b(); | ||
(_o3_b = (_o3 = o3).b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(_o3).c; |
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 @@ | ||
//// [callChain.2.ts] | ||
var _o1, _o2_b, _this, _o3_b, _object; | ||
null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_this = o2) || void 0 === _this || null === (_o2_b = _this.b) || void 0 === _o2_b || _o2_b.call(_this), null === (_object = o3) || void 0 === _object || (null === (_o3_b = _object.b) || void 0 === _o3_b ? void 0 : _o3_b.call(_object)).c; | ||
var _o1, _o2, _o3_b, _o3; | ||
null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_o2 = o2) || void 0 === _o2 || _o2.b(), null === (_o3_b = (_o3 = o3).b) || void 0 === _o3_b || _o3_b.call(_o3).c; |
Oops, something went wrong.
990e48e
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
355878
ns/iter (± 6340
)357387
ns/iter (± 7209
)1.00
es/full/minify/libraries/antd
1846815370
ns/iter (± 27143843
)1894867384
ns/iter (± 33413328
)0.97
es/full/minify/libraries/d3
370202996
ns/iter (± 9708209
)374257258
ns/iter (± 8553329
)0.99
es/full/minify/libraries/echarts
1421567379
ns/iter (± 19185235
)1463349284
ns/iter (± 12068537
)0.97
es/full/minify/libraries/jquery
108091306
ns/iter (± 817049
)110091642
ns/iter (± 698406
)0.98
es/full/minify/libraries/lodash
132435701
ns/iter (± 1397646
)133334890
ns/iter (± 1196348
)0.99
es/full/minify/libraries/moment
63601561
ns/iter (± 346423
)63503576
ns/iter (± 583521
)1.00
es/full/minify/libraries/react
22734270
ns/iter (± 110565
)22693856
ns/iter (± 148355
)1.00
es/full/minify/libraries/terser
288628240
ns/iter (± 2884921
)297997336
ns/iter (± 3515108
)0.97
es/full/minify/libraries/three
534384851
ns/iter (± 12007094
)538296215
ns/iter (± 7296576
)0.99
es/full/minify/libraries/typescript
3563329823
ns/iter (± 35058121
)3625496829
ns/iter (± 34903132
)0.98
es/full/minify/libraries/victory
760017492
ns/iter (± 19160614
)787749259
ns/iter (± 11179036
)0.96
es/full/minify/libraries/vue
158966868
ns/iter (± 1737687
)160447566
ns/iter (± 1044031
)0.99
es/full/codegen/es3
40642
ns/iter (± 91
)40065
ns/iter (± 95
)1.01
es/full/codegen/es5
40356
ns/iter (± 125
)40085
ns/iter (± 103
)1.01
es/full/codegen/es2015
40428
ns/iter (± 85
)40127
ns/iter (± 97
)1.01
es/full/codegen/es2016
40371
ns/iter (± 192
)40067
ns/iter (± 60
)1.01
es/full/codegen/es2017
40417
ns/iter (± 159
)40063
ns/iter (± 55
)1.01
es/full/codegen/es2018
39959
ns/iter (± 412
)40131
ns/iter (± 85
)1.00
es/full/codegen/es2019
39890
ns/iter (± 297
)40112
ns/iter (± 59
)0.99
es/full/codegen/es2020
39971
ns/iter (± 310
)40078
ns/iter (± 128
)1.00
es/full/all/es3
208207448
ns/iter (± 3089454
)208556208
ns/iter (± 2721954
)1.00
es/full/all/es5
198232478
ns/iter (± 2403720
)199644111
ns/iter (± 1970020
)0.99
es/full/all/es2015
155713499
ns/iter (± 2365254
)154141040
ns/iter (± 1312433
)1.01
es/full/all/es2016
154499737
ns/iter (± 1524366
)152819690
ns/iter (± 2139082
)1.01
es/full/all/es2017
154335066
ns/iter (± 2202976
)154190833
ns/iter (± 2252918
)1.00
es/full/all/es2018
152045204
ns/iter (± 1577277
)150423451
ns/iter (± 1848015
)1.01
es/full/all/es2019
149387992
ns/iter (± 1742691
)151297696
ns/iter (± 2376093
)0.99
es/full/all/es2020
147085025
ns/iter (± 1856909
)144884929
ns/iter (± 2090087
)1.02
es/full/parser
599865
ns/iter (± 8940
)596592
ns/iter (± 8859
)1.01
es/full/base/fixer
24145
ns/iter (± 216
)25806
ns/iter (± 45
)0.94
es/full/base/resolver_and_hygiene
104942
ns/iter (± 1125
)106146
ns/iter (± 154
)0.99
serialization of serde
290
ns/iter (± 7
)282
ns/iter (± 0
)1.03
css/minify/libraries/bootstrap
35080463
ns/iter (± 426345
)35884146
ns/iter (± 343779
)0.98
css/visitor/compare/clone
2342851
ns/iter (± 14211
)2364138
ns/iter (± 4527
)0.99
css/visitor/compare/visit_mut_span
2525932
ns/iter (± 9049
)2510393
ns/iter (± 5200
)1.01
css/visitor/compare/visit_mut_span_panic
2576954
ns/iter (± 13321
)2615062
ns/iter (± 4354
)0.99
css/visitor/compare/fold_span
3290608
ns/iter (± 19270
)3321902
ns/iter (± 11985
)0.99
css/visitor/compare/fold_span_panic
3450405
ns/iter (± 27267
)3497685
ns/iter (± 11626
)0.99
css/lexer/bootstrap_5_1_3
5418129
ns/iter (± 62632
)5538881
ns/iter (± 998
)0.98
css/lexer/foundation_6_7_4
4607298
ns/iter (± 22549
)4675091
ns/iter (± 2459
)0.99
css/lexer/tailwind_3_1_1
873026
ns/iter (± 5504
)888340
ns/iter (± 226
)0.98
css/parser/bootstrap_5_1_3
23550182
ns/iter (± 226378
)23940380
ns/iter (± 143394
)0.98
css/parser/foundation_6_7_4
18949804
ns/iter (± 187593
)19088951
ns/iter (± 37967
)0.99
css/parser/tailwind_3_1_1
3660693
ns/iter (± 15016
)3680254
ns/iter (± 2267
)0.99
es/codegen/colors
726519
ns/iter (± 396489
)742581
ns/iter (± 406560
)0.98
es/codegen/large
3022447
ns/iter (± 1586931
)3102986
ns/iter (± 1610663
)0.97
es/codegen/with-parser/colors
56671
ns/iter (± 560
)57997
ns/iter (± 686
)0.98
es/codegen/with-parser/large
569654
ns/iter (± 4482
)578294
ns/iter (± 3573
)0.99
es/minify/libraries/antd
1616763501
ns/iter (± 24080280
)1648536078
ns/iter (± 23640967
)0.98
es/minify/libraries/d3
322986182
ns/iter (± 4389971
)325818389
ns/iter (± 2318996
)0.99
es/minify/libraries/echarts
1240662531
ns/iter (± 21400973
)1282293853
ns/iter (± 21331060
)0.97
es/minify/libraries/jquery
95628935
ns/iter (± 1308859
)97436003
ns/iter (± 747454
)0.98
es/minify/libraries/lodash
119454398
ns/iter (± 1094081
)121504456
ns/iter (± 890482
)0.98
es/minify/libraries/moment
55679636
ns/iter (± 652220
)56500367
ns/iter (± 353232
)0.99
es/minify/libraries/react
20260404
ns/iter (± 78833
)20385651
ns/iter (± 87517
)0.99
es/minify/libraries/terser
242908634
ns/iter (± 2164553
)251428860
ns/iter (± 2344845
)0.97
es/minify/libraries/three
432083719
ns/iter (± 5043166
)444376043
ns/iter (± 6030289
)0.97
es/minify/libraries/typescript
3072812022
ns/iter (± 11918273
)3139761059
ns/iter (± 26384918
)0.98
es/minify/libraries/victory
658290263
ns/iter (± 10340781
)671476685
ns/iter (± 10742456
)0.98
es/minify/libraries/vue
142425926
ns/iter (± 2071489
)143049634
ns/iter (± 1739867
)1.00
es/visitor/compare/clone
2443981
ns/iter (± 61975
)2401065
ns/iter (± 11694
)1.02
es/visitor/compare/visit_mut_span
2794294
ns/iter (± 5140
)2799594
ns/iter (± 1670
)1.00
es/visitor/compare/visit_mut_span_panic
2833752
ns/iter (± 2895
)2831883
ns/iter (± 3820
)1.00
es/visitor/compare/fold_span
3934546
ns/iter (± 5407
)3939581
ns/iter (± 3787
)1.00
es/visitor/compare/fold_span_panic
4027221
ns/iter (± 5229
)4043698
ns/iter (± 9276
)1.00
es/lexer/colors
14681
ns/iter (± 68
)14875
ns/iter (± 34
)0.99
es/lexer/angular
6916748
ns/iter (± 18107
)6915369
ns/iter (± 11947
)1.00
es/lexer/backbone
839945
ns/iter (± 3817
)844062
ns/iter (± 2470
)1.00
es/lexer/jquery
4751212
ns/iter (± 5517
)4743355
ns/iter (± 7684
)1.00
es/lexer/jquery mobile
7311638
ns/iter (± 19274
)7314221
ns/iter (± 5640
)1.00
es/lexer/mootools
3721072
ns/iter (± 8861
)3736501
ns/iter (± 7242
)1.00
es/lexer/underscore
696143
ns/iter (± 2383
)699791
ns/iter (± 2597
)0.99
es/lexer/three
22218136
ns/iter (± 73200
)22275434
ns/iter (± 11124
)1.00
es/lexer/yui
4259871
ns/iter (± 16450
)4268864
ns/iter (± 1643
)1.00
es/parser/colors
34011
ns/iter (± 97
)33846
ns/iter (± 64
)1.00
es/parser/angular
16654512
ns/iter (± 204525
)16912234
ns/iter (± 91147
)0.98
es/parser/backbone
2379703
ns/iter (± 26179
)2440338
ns/iter (± 9275
)0.98
es/parser/jquery
12984002
ns/iter (± 153327
)13282318
ns/iter (± 92514
)0.98
es/parser/jquery mobile
20155306
ns/iter (± 266232
)20266332
ns/iter (± 177813
)0.99
es/parser/mootools
9858943
ns/iter (± 90393
)10083158
ns/iter (± 24016
)0.98
es/parser/underscore
2064050
ns/iter (± 13080
)2077804
ns/iter (± 12329
)0.99
es/parser/three
56875564
ns/iter (± 681465
)58948393
ns/iter (± 778075
)0.96
es/parser/yui
9978078
ns/iter (± 75563
)10218187
ns/iter (± 103146
)0.98
es/preset-env/usage/builtin_type
150764
ns/iter (± 34131
)155279
ns/iter (± 33816
)0.97
es/preset-env/usage/property
29110
ns/iter (± 272
)29527
ns/iter (± 62
)0.99
es/resolver/typescript
125722668
ns/iter (± 1572989
)129382169
ns/iter (± 3577586
)0.97
es/fixer/typescript
88657018
ns/iter (± 1824549
)91606178
ns/iter (± 1654351
)0.97
es/hygiene/typescript
201308054
ns/iter (± 2656521
)205329028
ns/iter (± 1988120
)0.98
es/resolver_with_hygiene/typescript
395433996
ns/iter (± 2326562
)406587463
ns/iter (± 3015924
)0.97
es/visitor/base-perf/module_clone
83543
ns/iter (± 604
)85462
ns/iter (± 486
)0.98
es/visitor/base-perf/fold_empty
93729
ns/iter (± 503
)94931
ns/iter (± 410
)0.99
es/visitor/base-perf/fold_noop_impl_all
94145
ns/iter (± 1099
)95307
ns/iter (± 259
)0.99
es/visitor/base-perf/fold_noop_impl_vec
94317
ns/iter (± 742
)95460
ns/iter (± 600
)0.99
es/visitor/base-perf/boxing_boxed_clone
58
ns/iter (± 0
)62
ns/iter (± 0
)0.94
es/visitor/base-perf/boxing_unboxed_clone
43
ns/iter (± 0
)44
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_boxed
107
ns/iter (± 0
)109
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed
81
ns/iter (± 0
)82
ns/iter (± 0
)0.99
es/visitor/base-perf/visit_contains_this
3413
ns/iter (± 44
)3526
ns/iter (± 64
)0.97
es/base/parallel/resolver/typescript
6990210510
ns/iter (± 408536394
)7031201283
ns/iter (± 434464736
)0.99
es/base/parallel/hygiene/typescript
2353095860
ns/iter (± 13918904
)2341099419
ns/iter (± 24921406
)1.01
misc/visitors/time-complexity/time 5
105
ns/iter (± 0
)106
ns/iter (± 0
)0.99
misc/visitors/time-complexity/time 10
342
ns/iter (± 6
)346
ns/iter (± 5
)0.99
misc/visitors/time-complexity/time 15
669
ns/iter (± 3
)672
ns/iter (± 0
)1.00
misc/visitors/time-complexity/time 20
1249
ns/iter (± 6
)1262
ns/iter (± 25
)0.99
misc/visitors/time-complexity/time 40
6671
ns/iter (± 46
)6854
ns/iter (± 33
)0.97
misc/visitors/time-complexity/time 60
17240
ns/iter (± 173
)17509
ns/iter (± 48
)0.98
es/full-target/es2016
268546
ns/iter (± 2838
)270177
ns/iter (± 668
)0.99
es/full-target/es2017
254192
ns/iter (± 1181
)260399
ns/iter (± 468
)0.98
es/full-target/es2018
242678
ns/iter (± 1558
)249178
ns/iter (± 627
)0.97
es2020_nullish_coalescing
97023
ns/iter (± 937
)99689
ns/iter (± 431
)0.97
es2020_optional_chaining
86805
ns/iter (± 556
)121999
ns/iter (± 385
)0.71
es2022_class_properties
153368
ns/iter (± 1361
)157001
ns/iter (± 358
)0.98
es2018_object_rest_spread
98158
ns/iter (± 811
)101007
ns/iter (± 204
)0.97
es2019_optional_catch_binding
87304
ns/iter (± 499
)89319
ns/iter (± 318
)0.98
es2017_async_to_generator
88025
ns/iter (± 521
)90271
ns/iter (± 117
)0.98
es2016_exponentiation
94539
ns/iter (± 942
)96726
ns/iter (± 235
)0.98
es2015_arrow
97524
ns/iter (± 637
)99438
ns/iter (± 260
)0.98
es2015_block_scoped_fn
95313
ns/iter (± 893
)97592
ns/iter (± 261
)0.98
es2015_block_scoping
181519
ns/iter (± 1332
)184758
ns/iter (± 224
)0.98
This comment was automatically generated by workflow using github-action-benchmark.