Skip to content

Commit 041b491

Browse files
authoredMay 10, 2023
feat(es/parser): Implement explicit resource management (#7322)
**Description:** - Add `UsingDecl`. - Add `UsingDecl` to `Decl`. - Rename `VarDeclOrPat` to `ForHead`. - Add `UsingDecl` to `ForHead`. - Implement parser for using declarations. **Related issue:** - #7316.
1 parent 6432e1f commit 041b491

File tree

99 files changed

+2057
-125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+2057
-125
lines changed
 

‎crates/swc_atoms/words.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -870,8 +870,8 @@ XPathExpression
870870
XPathResult
871871
XSLTProcessor
872872
__proto__
873-
_define_property
874873
_defineProperty
874+
_define_property
875875
_extends
876876
_toConsumableArray
877877
a
@@ -2374,6 +2374,7 @@ url
23742374
use
23752375
usemap
23762376
user-select
2377+
using
23772378
values
23782379
var
23792380
vb

‎crates/swc_bundler/src/bundler/chunk/merge.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,8 @@ where
892892
Decl::TsInterface(_)
893893
| Decl::TsTypeAlias(_)
894894
| Decl::TsEnum(_)
895-
| Decl::TsModule(_) => continue,
895+
| Decl::TsModule(_)
896+
| Decl::Using(..) => continue,
896897
};
897898

898899
tracing::trace!(

1 commit comments

Comments
 (1)

github-actions[bot] commented on May 10, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 041b491 Previous: 1dced17 Ratio
es/full/bugs-1 302835 ns/iter (± 8794) 288276 ns/iter (± 12716) 1.05
es/full/minify/libraries/antd 1572109651 ns/iter (± 31627759) 1498265756 ns/iter (± 23929960) 1.05
es/full/minify/libraries/d3 305477338 ns/iter (± 7564015) 277887428 ns/iter (± 8717449) 1.10
es/full/minify/libraries/echarts 1225904712 ns/iter (± 17159239) 1134831226 ns/iter (± 18470536) 1.08
es/full/minify/libraries/jquery 92435739 ns/iter (± 2181346) 86997265 ns/iter (± 539782) 1.06
es/full/minify/libraries/lodash 105698661 ns/iter (± 1858734) 101605061 ns/iter (± 461194) 1.04
es/full/minify/libraries/moment 52672395 ns/iter (± 644130) 50243475 ns/iter (± 260825) 1.05
es/full/minify/libraries/react 19332114 ns/iter (± 323962) 18651301 ns/iter (± 71876) 1.04
es/full/minify/libraries/terser 244145243 ns/iter (± 3988419) 229431156 ns/iter (± 2697074) 1.06
es/full/minify/libraries/three 433320595 ns/iter (± 4143896) 397020538 ns/iter (± 2979428) 1.09
es/full/minify/libraries/typescript 2955810708 ns/iter (± 35478066) 2925367927 ns/iter (± 58481507) 1.01
es/full/minify/libraries/victory 646752869 ns/iter (± 17120601) 608437357 ns/iter (± 7703569) 1.06
es/full/minify/libraries/vue 131945403 ns/iter (± 1237747) 122423268 ns/iter (± 1698047) 1.08
es/full/codegen/es3 28560 ns/iter (± 51) 28404 ns/iter (± 281) 1.01
es/full/codegen/es5 28615 ns/iter (± 71) 28007 ns/iter (± 275) 1.02
es/full/codegen/es2015 28589 ns/iter (± 60) 27708 ns/iter (± 203) 1.03
es/full/codegen/es2016 28604 ns/iter (± 62) 27634 ns/iter (± 175) 1.04
es/full/codegen/es2017 28586 ns/iter (± 67) 27762 ns/iter (± 227) 1.03
es/full/codegen/es2018 28649 ns/iter (± 71) 27791 ns/iter (± 228) 1.03
es/full/codegen/es2019 28579 ns/iter (± 56) 28010 ns/iter (± 286) 1.02
es/full/codegen/es2020 28613 ns/iter (± 62) 27778 ns/iter (± 166) 1.03
es/full/all/es3 180942404 ns/iter (± 2387769) 175463422 ns/iter (± 4101831) 1.03
es/full/all/es5 174465534 ns/iter (± 4673984) 174236011 ns/iter (± 1878093) 1.00
es/full/all/es2015 136289357 ns/iter (± 1912598) 133386874 ns/iter (± 1577075) 1.02
es/full/all/es2016 134886079 ns/iter (± 1819431) 131061953 ns/iter (± 1888731) 1.03
es/full/all/es2017 132431675 ns/iter (± 2300073) 128886715 ns/iter (± 1537642) 1.03
es/full/all/es2018 128961602 ns/iter (± 2572526) 123219574 ns/iter (± 981428) 1.05
es/full/all/es2019 125432151 ns/iter (± 2015134) 121452805 ns/iter (± 1328064) 1.03
es/full/all/es2020 119692706 ns/iter (± 2406633) 115929804 ns/iter (± 742277) 1.03
es/full/parser 519752 ns/iter (± 12555) 518050 ns/iter (± 8292) 1.00
es/full/base/fixer 23099 ns/iter (± 34) 22651 ns/iter (± 155) 1.02
es/full/base/resolver_and_hygiene 88567 ns/iter (± 121) 82845 ns/iter (± 557) 1.07
serialization of serde 121 ns/iter (± 0) 117 ns/iter (± 0) 1.03
css/minify/libraries/bootstrap 27741899 ns/iter (± 103464) 26491765 ns/iter (± 498086) 1.05
css/visitor/compare/clone 2091965 ns/iter (± 13700) 2010436 ns/iter (± 29420) 1.04
css/visitor/compare/visit_mut_span 2304605 ns/iter (± 6519) 2186910 ns/iter (± 12094) 1.05
css/visitor/compare/visit_mut_span_panic 2340995 ns/iter (± 10488) 2269401 ns/iter (± 21661) 1.03
css/visitor/compare/fold_span 3059709 ns/iter (± 15409) 2951326 ns/iter (± 19860) 1.04
css/visitor/compare/fold_span_panic 3193337 ns/iter (± 19378) 3083140 ns/iter (± 23950) 1.04
css/lexer/bootstrap_5_1_3 5179154 ns/iter (± 10755) 5004165 ns/iter (± 62968) 1.03
css/lexer/foundation_6_7_4 4357885 ns/iter (± 3508) 4209006 ns/iter (± 24889) 1.04
css/lexer/tailwind_3_1_1 829027 ns/iter (± 269) 794763 ns/iter (± 4322) 1.04
css/parser/bootstrap_5_1_3 21400901 ns/iter (± 153286) 20280815 ns/iter (± 247884) 1.06
css/parser/foundation_6_7_4 16857087 ns/iter (± 34775) 16590678 ns/iter (± 151543) 1.02
css/parser/tailwind_3_1_1 3226925 ns/iter (± 2000) 3225074 ns/iter (± 8009) 1.00
es/codegen/colors 692843 ns/iter (± 404247) 696203 ns/iter (± 409622) 1.00
es/codegen/large 1147848 ns/iter (± 595453) 1162625 ns/iter (± 595887) 0.99
es/codegen/with-parser/colors 47894 ns/iter (± 489) 47041 ns/iter (± 127) 1.02
es/codegen/with-parser/large 514132 ns/iter (± 920) 510944 ns/iter (± 3165) 1.01
es/minify/libraries/antd 1334479184 ns/iter (± 11925117) 1438853998 ns/iter (± 26697143) 0.93
es/minify/libraries/d3 251471233 ns/iter (± 3204958) 243910255 ns/iter (± 1760126) 1.03
es/minify/libraries/echarts 1037445264 ns/iter (± 13694919) 1027922844 ns/iter (± 24877385) 1.01
es/minify/libraries/jquery 78829767 ns/iter (± 648388) 75783800 ns/iter (± 1172344) 1.04
es/minify/libraries/lodash 94452441 ns/iter (± 1030441) 91222407 ns/iter (± 998675) 1.04
es/minify/libraries/moment 45780286 ns/iter (± 519924) 44044266 ns/iter (± 432730) 1.04
es/minify/libraries/react 17192378 ns/iter (± 360011) 16661717 ns/iter (± 170811) 1.03
es/minify/libraries/terser 207994140 ns/iter (± 3429198) 194913709 ns/iter (± 2245268) 1.07
es/minify/libraries/three 361333625 ns/iter (± 5778926) 328837778 ns/iter (± 4170472) 1.10
es/minify/libraries/typescript 2496210920 ns/iter (± 28561317) 2461012162 ns/iter (± 21989071) 1.01
es/minify/libraries/victory 553815732 ns/iter (± 13484023) 490865178 ns/iter (± 4565323) 1.13
es/minify/libraries/vue 117163620 ns/iter (± 3047257) 109852615 ns/iter (± 919031) 1.07
es/visitor/compare/clone 2321316 ns/iter (± 7785) 2274389 ns/iter (± 45330) 1.02
es/visitor/compare/visit_mut_span 2696568 ns/iter (± 3402) 2636022 ns/iter (± 7251) 1.02
es/visitor/compare/visit_mut_span_panic 2735859 ns/iter (± 6440) 2662788 ns/iter (± 34890) 1.03
es/visitor/compare/fold_span 3815808 ns/iter (± 9346) 3703936 ns/iter (± 22563) 1.03
es/visitor/compare/fold_span_panic 3930619 ns/iter (± 8173) 3817334 ns/iter (± 28804) 1.03
es/lexer/colors 13211 ns/iter (± 32) 12912 ns/iter (± 165) 1.02
es/lexer/angular 6444925 ns/iter (± 4513) 6154145 ns/iter (± 37297) 1.05
es/lexer/backbone 784417 ns/iter (± 486) 758948 ns/iter (± 4948) 1.03
es/lexer/jquery 4425743 ns/iter (± 3032) 4180436 ns/iter (± 23439) 1.06
es/lexer/jquery mobile 6895241 ns/iter (± 3546) 6563629 ns/iter (± 79174) 1.05
es/lexer/mootools 3485374 ns/iter (± 1884) 3317943 ns/iter (± 22179) 1.05
es/lexer/underscore 649116 ns/iter (± 310) 632281 ns/iter (± 3266) 1.03
es/lexer/three 20961648 ns/iter (± 14803) 19942998 ns/iter (± 193000) 1.05
es/lexer/yui 3891675 ns/iter (± 1907) 3675587 ns/iter (± 29277) 1.06
es/parser/colors 28755 ns/iter (± 63) 27660 ns/iter (± 217) 1.04
es/parser/angular 15023610 ns/iter (± 138945) 14174807 ns/iter (± 139041) 1.06
es/parser/backbone 2143396 ns/iter (± 8442) 2087538 ns/iter (± 23285) 1.03
es/parser/jquery 11858760 ns/iter (± 102082) 11190501 ns/iter (± 125036) 1.06
es/parser/jquery mobile 18549932 ns/iter (± 343096) 17389748 ns/iter (± 330475) 1.07
es/parser/mootools 8857204 ns/iter (± 34489) 8539453 ns/iter (± 98683) 1.04
es/parser/underscore 1812321 ns/iter (± 10062) 1761650 ns/iter (± 17332) 1.03
es/parser/three 54370277 ns/iter (± 565527) 48939332 ns/iter (± 1356415) 1.11
es/parser/yui 9030213 ns/iter (± 55028) 8685556 ns/iter (± 77204) 1.04
es/preset-env/usage/builtin_type 142523 ns/iter (± 35679) 139831 ns/iter (± 34511) 1.02
es/preset-env/usage/property 19915 ns/iter (± 110) 19416 ns/iter (± 184) 1.03
es/resolver/typescript 112299673 ns/iter (± 2977961) 115884652 ns/iter (± 3914368) 0.97
es/fixer/typescript 80201734 ns/iter (± 401584) 83544495 ns/iter (± 1624376) 0.96
es/hygiene/typescript 169548555 ns/iter (± 1285047) 177233109 ns/iter (± 2172604) 0.96
es/resolver_with_hygiene/typescript 310864775 ns/iter (± 6342854) 317110248 ns/iter (± 3620380) 0.98
es/visitor/base-perf/module_clone 80956 ns/iter (± 531) 80777 ns/iter (± 1050) 1.00
es/visitor/base-perf/fold_empty 90810 ns/iter (± 500) 87425 ns/iter (± 1027) 1.04
es/visitor/base-perf/fold_noop_impl_all 90725 ns/iter (± 1607) 87856 ns/iter (± 713) 1.03
es/visitor/base-perf/fold_noop_impl_vec 91291 ns/iter (± 497) 88644 ns/iter (± 1119) 1.03
es/visitor/base-perf/boxing_boxed_clone 56 ns/iter (± 0) 55 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 41 ns/iter (± 0) 40 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_boxed 101 ns/iter (± 0) 97 ns/iter (± 0) 1.04
es/visitor/base-perf/boxing_unboxed 78 ns/iter (± 0) 75 ns/iter (± 0) 1.04
es/visitor/base-perf/visit_contains_this 3541 ns/iter (± 130) 3422 ns/iter (± 64) 1.03
es/base/parallel/resolver/typescript 5728711277 ns/iter (± 386493786) 6207304952 ns/iter (± 523942346) 0.92
es/base/parallel/hygiene/typescript 1991376402 ns/iter (± 21974497) 2172356528 ns/iter (± 17098669) 0.92
misc/visitors/time-complexity/time 5 107 ns/iter (± 0) 97 ns/iter (± 0) 1.10
misc/visitors/time-complexity/time 10 351 ns/iter (± 5) 308 ns/iter (± 3) 1.14
misc/visitors/time-complexity/time 15 676 ns/iter (± 0) 633 ns/iter (± 5) 1.07
misc/visitors/time-complexity/time 20 1240 ns/iter (± 5) 1152 ns/iter (± 6) 1.08
misc/visitors/time-complexity/time 40 6274 ns/iter (± 1) 5970 ns/iter (± 48) 1.05
misc/visitors/time-complexity/time 60 15777 ns/iter (± 128) 14918 ns/iter (± 98) 1.06
es/full-target/es2016 254340 ns/iter (± 6732) 245141 ns/iter (± 1916) 1.04
es/full-target/es2017 246355 ns/iter (± 344) 245496 ns/iter (± 1388) 1.00
es/full-target/es2018 235117 ns/iter (± 287) 232797 ns/iter (± 1196) 1.01
es2020_nullish_coalescing 93596 ns/iter (± 320) 91653 ns/iter (± 400) 1.02
es2020_optional_chaining 125695 ns/iter (± 159) 122284 ns/iter (± 739) 1.03
es2022_class_properties 149395 ns/iter (± 212) 146654 ns/iter (± 606) 1.02
es2018_object_rest_spread 96850 ns/iter (± 257) 93676 ns/iter (± 838) 1.03
es2019_optional_catch_binding 86031 ns/iter (± 222) 82298 ns/iter (± 737) 1.05
es2017_async_to_generator 86494 ns/iter (± 195) 82523 ns/iter (± 289) 1.05
es2016_exponentiation 90924 ns/iter (± 142) 87102 ns/iter (± 471) 1.04
es2015_arrow 94182 ns/iter (± 877) 90815 ns/iter (± 368) 1.04
es2015_block_scoped_fn 92143 ns/iter (± 385) 89618 ns/iter (± 707) 1.03
es2015_block_scoping 170843 ns/iter (± 310) 169993 ns/iter (± 2101) 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.