-
-
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.
feat(binding): Create Wasm package for stripping only TypeScript (#9124)
**Description:** This PR adds a Wasm binding which is only capable of stripping TypeScript types. **Related issue:** - marco-ippolito/node#2
- Loading branch information
Showing
14 changed files
with
333 additions
and
47 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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 was deleted.
Oops, something went wrong.
4 changes: 0 additions & 4 deletions
4
bindings/binding_minifier_wasm/scripts/build_nodejs_release.sh
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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,40 @@ | ||
[package] | ||
authors = ["강동윤 <kdy1997.dev@gmail.com>"] | ||
description = "wasm module for swc" | ||
edition = "2021" | ||
license = "Apache-2.0" | ||
name = "binding_typescript_wasm" | ||
publish = false | ||
repository = "https://github.com/swc-project/swc.git" | ||
version = "1.6.6" | ||
|
||
[lib] | ||
bench = false | ||
crate-type = ["cdylib"] | ||
|
||
[features] | ||
default = ["swc_v1"] | ||
swc_v1 = [] | ||
swc_v2 = [] | ||
|
||
[dependencies] | ||
anyhow = "1.0.66" | ||
getrandom = { version = "0.2.10", features = ["js"] } | ||
serde = { version = "1", features = ["derive"] } | ||
serde-wasm-bindgen = "0.4.5" | ||
serde_json = "1.0.120" | ||
swc_core = { version = "0.95.10", features = [ | ||
"ecma_ast_serde", | ||
"ecma_codegen", | ||
"ecma_transforms", | ||
"ecma_transforms_typescript", | ||
"ecma_visit", | ||
] } | ||
swc_ecma_codegen = { version = "0.151.1", features = ["serde-impl"] } | ||
swc_error_reporters = "0.18.0" | ||
tracing = { version = "0.1.37", features = ["max_level_off"] } | ||
wasm-bindgen = { version = "0.2.82", features = ["enable-interning"] } | ||
wasm-bindgen-futures = { version = "0.4.41" } | ||
|
||
[package.metadata.wasm-pack.profile.release] | ||
wasm-opt = false |
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 @@ | ||
{ | ||
"devDependencies": { | ||
"jest": "^25.1.0" | ||
} | ||
} |
Oops, something went wrong.
6b3c0da
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
275032
ns/iter (± 2223
)289886
ns/iter (± 12294
)0.95
es/full/minify/libraries/antd
1811866763
ns/iter (± 67401519
)1859560991
ns/iter (± 112973168
)0.97
es/full/minify/libraries/d3
369383182
ns/iter (± 15280593
)342723411
ns/iter (± 2675950
)1.08
es/full/minify/libraries/echarts
1601704378
ns/iter (± 40307517
)1533113557
ns/iter (± 44210078
)1.04
es/full/minify/libraries/jquery
103988813
ns/iter (± 2833003
)103038525
ns/iter (± 366458
)1.01
es/full/minify/libraries/lodash
115983672
ns/iter (± 723237
)115235517
ns/iter (± 748888
)1.01
es/full/minify/libraries/moment
60231629
ns/iter (± 461813
)59702838
ns/iter (± 134184
)1.01
es/full/minify/libraries/react
18402396
ns/iter (± 54574
)18410272
ns/iter (± 518890
)1.00
es/full/minify/libraries/terser
280293611
ns/iter (± 5272147
)288539211
ns/iter (± 7905308
)0.97
es/full/minify/libraries/three
482861024
ns/iter (± 16010857
)509879882
ns/iter (± 17601076
)0.95
es/full/minify/libraries/typescript
3280340971
ns/iter (± 41775178
)3279551572
ns/iter (± 45393622
)1.00
es/full/minify/libraries/victory
829863380
ns/iter (± 32870982
)744273120
ns/iter (± 16120565
)1.11
es/full/minify/libraries/vue
146326196
ns/iter (± 979999
)145748656
ns/iter (± 450268
)1.00
es/full/codegen/es3
59523
ns/iter (± 589
)58498
ns/iter (± 208
)1.02
es/full/codegen/es5
59292
ns/iter (± 250
)58842
ns/iter (± 371
)1.01
es/full/codegen/es2015
59284
ns/iter (± 160
)58583
ns/iter (± 557
)1.01
es/full/codegen/es2016
59203
ns/iter (± 235
)58497
ns/iter (± 96
)1.01
es/full/codegen/es2017
59220
ns/iter (± 223
)58609
ns/iter (± 154
)1.01
es/full/codegen/es2018
59246
ns/iter (± 251
)58542
ns/iter (± 284
)1.01
es/full/codegen/es2019
59313
ns/iter (± 337
)58568
ns/iter (± 99
)1.01
es/full/codegen/es2020
59393
ns/iter (± 277
)58721
ns/iter (± 158
)1.01
es/full/all/es3
162890821
ns/iter (± 533522
)162922997
ns/iter (± 1254414
)1.00
es/full/all/es5
157716173
ns/iter (± 926047
)158096046
ns/iter (± 3796798
)1.00
es/full/all/es2015
116971013
ns/iter (± 1404493
)116915695
ns/iter (± 1027195
)1.00
es/full/all/es2016
116163333
ns/iter (± 881327
)116397150
ns/iter (± 432473
)1.00
es/full/all/es2017
115041876
ns/iter (± 1226725
)115261922
ns/iter (± 848059
)1.00
es/full/all/es2018
113537491
ns/iter (± 837830
)113255917
ns/iter (± 629242
)1.00
es/full/all/es2019
113090057
ns/iter (± 2496180
)113079870
ns/iter (± 910388
)1.00
es/full/all/es2020
109134308
ns/iter (± 952149
)108291781
ns/iter (± 720034
)1.01
es/full/parser
478254
ns/iter (± 4483
)475759
ns/iter (± 2482
)1.01
es/full/base/fixer
16797
ns/iter (± 260
)16365
ns/iter (± 55
)1.03
es/full/base/resolver_and_hygiene
79662
ns/iter (± 200
)80734
ns/iter (± 550
)0.99
serialization of serde
277
ns/iter (± 5
)276
ns/iter (± 2
)1.00
css/minify/libraries/bootstrap
21919352
ns/iter (± 211209
)22001257
ns/iter (± 31249
)1.00
css/visitor/compare/clone
1353881
ns/iter (± 20146
)1371317
ns/iter (± 14753
)0.99
css/visitor/compare/visit_mut_span
1484530
ns/iter (± 7646
)1482298
ns/iter (± 5926
)1.00
css/visitor/compare/visit_mut_span_panic
1515848
ns/iter (± 59639
)1504031
ns/iter (± 35796
)1.01
css/visitor/compare/fold_span
1986963
ns/iter (± 4731
)1995948
ns/iter (± 8099
)1.00
css/visitor/compare/fold_span_panic
2108204
ns/iter (± 2602
)2129802
ns/iter (± 5748
)0.99
css/lexer/bootstrap_5_1_3
3494263
ns/iter (± 1057
)3455302
ns/iter (± 85447
)1.01
css/lexer/foundation_6_7_4
2813257
ns/iter (± 3559
)2781711
ns/iter (± 3014
)1.01
css/lexer/tailwind_3_1_1
539153
ns/iter (± 129
)535454
ns/iter (± 190
)1.01
css/parser/bootstrap_5_1_3
16007183
ns/iter (± 18958
)16325385
ns/iter (± 45918
)0.98
css/parser/foundation_6_7_4
12803811
ns/iter (± 34115
)13104512
ns/iter (± 61348
)0.98
css/parser/tailwind_3_1_1
2530747
ns/iter (± 2479
)2589993
ns/iter (± 17947
)0.98
es/codegen/colors
727678
ns/iter (± 400497
)729250
ns/iter (± 398410
)1.00
es/codegen/large
3013102
ns/iter (± 1596871
)3029891
ns/iter (± 1603238
)0.99
es/codegen/with-parser/colors
40424
ns/iter (± 418
)40196
ns/iter (± 156
)1.01
es/codegen/with-parser/large
450806
ns/iter (± 8832
)450082
ns/iter (± 1828
)1.00
es/minify/libraries/antd
1510104554
ns/iter (± 33285115
)1560140206
ns/iter (± 26728486
)0.97
es/minify/libraries/d3
286176009
ns/iter (± 12772893
)301983350
ns/iter (± 5858312
)0.95
es/minify/libraries/echarts
1243859535
ns/iter (± 44584736
)1295038227
ns/iter (± 13470316
)0.96
es/minify/libraries/jquery
82887252
ns/iter (± 782802
)84231286
ns/iter (± 492836
)0.98
es/minify/libraries/lodash
104503489
ns/iter (± 513308
)105537249
ns/iter (± 455399
)0.99
es/minify/libraries/moment
48442281
ns/iter (± 129840
)49067010
ns/iter (± 296606
)0.99
es/minify/libraries/react
16261389
ns/iter (± 41234
)16372134
ns/iter (± 44897
)0.99
es/minify/libraries/terser
222326050
ns/iter (± 4740407
)227480694
ns/iter (± 2087222
)0.98
es/minify/libraries/three
387297937
ns/iter (± 18490903
)404841473
ns/iter (± 6755582
)0.96
es/minify/libraries/typescript
2806027602
ns/iter (± 28943831
)2861201047
ns/iter (± 28786694
)0.98
es/minify/libraries/victory
612576410
ns/iter (± 29805730
)676733147
ns/iter (± 11694955
)0.91
es/minify/libraries/vue
121789874
ns/iter (± 914255
)124005943
ns/iter (± 736756
)0.98
es/visitor/compare/clone
1712096
ns/iter (± 4255
)1718442
ns/iter (± 12248
)1.00
es/visitor/compare/visit_mut_span
2059906
ns/iter (± 9136
)2055571
ns/iter (± 6667
)1.00
es/visitor/compare/visit_mut_span_panic
2056428
ns/iter (± 10596
)2076730
ns/iter (± 29859
)0.99
es/visitor/compare/fold_span
2783268
ns/iter (± 4214
)2806083
ns/iter (± 11414
)0.99
es/visitor/compare/fold_span_panic
2819426
ns/iter (± 5551
)2837815
ns/iter (± 9490
)0.99
es/lexer/colors
9437
ns/iter (± 88
)9964
ns/iter (± 71
)0.95
es/lexer/angular
5116749
ns/iter (± 25345
)5114218
ns/iter (± 50193
)1.00
es/lexer/backbone
659645
ns/iter (± 8460
)669912
ns/iter (± 849
)0.98
es/lexer/jquery
3644491
ns/iter (± 10264
)3829004
ns/iter (± 5321
)0.95
es/lexer/jquery mobile
5468772
ns/iter (± 34263
)5657141
ns/iter (± 13073
)0.97
es/lexer/mootools
2909139
ns/iter (± 21785
)2932071
ns/iter (± 3826
)0.99
es/lexer/underscore
539605
ns/iter (± 2509
)589167
ns/iter (± 2270
)0.92
es/lexer/three
16434830
ns/iter (± 74050
)17393757
ns/iter (± 119864
)0.94
es/lexer/yui
2882127
ns/iter (± 30924
)3044091
ns/iter (± 6723
)0.95
es/lexer/cal-com
13321421
ns/iter (± 77940
)13593923
ns/iter (± 92937
)0.98
es/lexer/typescript
93038819
ns/iter (± 430638
)95785997
ns/iter (± 456665
)0.97
es/parser/colors
23821
ns/iter (± 57
)23877
ns/iter (± 161
)1.00
es/parser/angular
12657830
ns/iter (± 137891
)12689114
ns/iter (± 143296
)1.00
es/parser/backbone
1843644
ns/iter (± 8282
)1842336
ns/iter (± 4416
)1.00
es/parser/jquery
10367822
ns/iter (± 68835
)10381838
ns/iter (± 149545
)1.00
es/parser/jquery mobile
15447456
ns/iter (± 110555
)15584720
ns/iter (± 206433
)0.99
es/parser/mootools
8031705
ns/iter (± 36525
)7973991
ns/iter (± 44350
)1.01
es/parser/underscore
1631969
ns/iter (± 7648
)1614765
ns/iter (± 4823
)1.01
es/parser/three
44682682
ns/iter (± 459280
)45968967
ns/iter (± 723350
)0.97
es/parser/yui
7511590
ns/iter (± 42707
)7567655
ns/iter (± 41126
)0.99
es/parser/cal-com
42652886
ns/iter (± 582888
)42610258
ns/iter (± 541838
)1.00
es/parser/typescript
275328989
ns/iter (± 1178923
)278753391
ns/iter (± 3853739
)0.99
es/preset-env/usage/builtin_type
135625
ns/iter (± 33539
)135964
ns/iter (± 34001
)1.00
es/preset-env/usage/property
16270
ns/iter (± 210
)15719
ns/iter (± 93
)1.04
es/resolver/typescript
99528628
ns/iter (± 2182235
)100578247
ns/iter (± 3147014
)0.99
es/fixer/typescript
81536542
ns/iter (± 3514439
)82242350
ns/iter (± 2170640
)0.99
es/hygiene/typescript
181858324
ns/iter (± 3727808
)174580922
ns/iter (± 2900992
)1.04
es/resolver_with_hygiene/typescript
315159181
ns/iter (± 4308516
)307567120
ns/iter (± 7043212
)1.02
es/visitor/base-perf/module_clone
56688
ns/iter (± 1544
)57874
ns/iter (± 3626
)0.98
es/visitor/base-perf/fold_empty
59996
ns/iter (± 890
)60548
ns/iter (± 487
)0.99
es/visitor/base-perf/fold_noop_impl_all
60096
ns/iter (± 717
)60706
ns/iter (± 1115
)0.99
es/visitor/base-perf/fold_noop_impl_vec
59636
ns/iter (± 307
)60672
ns/iter (± 796
)0.98
es/visitor/base-perf/boxing_boxed_clone
59
ns/iter (± 0
)61
ns/iter (± 0
)0.97
es/visitor/base-perf/boxing_unboxed_clone
47
ns/iter (± 0
)47
ns/iter (± 0
)1
es/visitor/base-perf/boxing_boxed
109
ns/iter (± 0
)106
ns/iter (± 0
)1.03
es/visitor/base-perf/boxing_unboxed
81
ns/iter (± 0
)79
ns/iter (± 0
)1.03
es/visitor/base-perf/visit_contains_this
2565
ns/iter (± 10
)2647
ns/iter (± 25
)0.97
es/base/parallel/resolver/typescript
2436122717
ns/iter (± 104087410
)2483188664
ns/iter (± 120399890
)0.98
es/base/parallel/hygiene/typescript
3202408734
ns/iter (± 53785826
)3249440678
ns/iter (± 91926304
)0.99
babelify-only
497921
ns/iter (± 2463
)489241
ns/iter (± 10572
)1.02
parse_and_babelify_angular
41707222
ns/iter (± 662078
)39841392
ns/iter (± 2516314
)1.05
parse_and_babelify_backbone
4363187
ns/iter (± 77923
)4407504
ns/iter (± 124330
)0.99
parse_and_babelify_jquery
28518612
ns/iter (± 182521
)29276177
ns/iter (± 732037
)0.97
parse_and_babelify_jquery_mobile
49986921
ns/iter (± 932465
)50786452
ns/iter (± 866112
)0.98
parse_and_babelify_mootools
26525056
ns/iter (± 750054
)26695904
ns/iter (± 619230
)0.99
parse_and_babelify_underscore
3694386
ns/iter (± 9614
)3707891
ns/iter (± 18992
)1.00
parse_and_babelify_yui
24189822
ns/iter (± 1177250
)27539288
ns/iter (± 2212349
)0.88
html/minify/document/css_spec
46562394
ns/iter (± 2169388
)46319230
ns/iter (± 1050178
)1.01
html/minify/document/github
18187164
ns/iter (± 56942
)18412353
ns/iter (± 181885
)0.99
html/minify/document/stackoverflow
16709717
ns/iter (± 593363
)16743124
ns/iter (± 566578
)1.00
html/minify/document_fragment/css_spec
45785442
ns/iter (± 313295
)45012627
ns/iter (± 390755
)1.02
html/minify/document_fragment/github
17979810
ns/iter (± 254235
)18137251
ns/iter (± 175072
)0.99
html/minify/document_fragment/stackoverflow
16297047
ns/iter (± 67967
)16386123
ns/iter (± 150628
)0.99
html/document/visitor/compare/clone
166699
ns/iter (± 2270
)168284
ns/iter (± 1360
)0.99
html/document/visitor/compare/visit_mut_span
184474
ns/iter (± 878
)184502
ns/iter (± 1312
)1.00
html/document/visitor/compare/visit_mut_span_panic
193579
ns/iter (± 9127
)190309
ns/iter (± 860
)1.02
html/document/visitor/compare/fold_span
231725
ns/iter (± 1260
)231129
ns/iter (± 1553
)1.00
html/document/visitor/compare/fold_span_panic
279346
ns/iter (± 880
)282290
ns/iter (± 589
)0.99
html/document_fragment/visitor/compare/clone
167530
ns/iter (± 1006
)169056
ns/iter (± 988
)0.99
html/document_fragment/visitor/compare/visit_mut_span
183778
ns/iter (± 1173
)184676
ns/iter (± 791
)1.00
html/document_fragment/visitor/compare/visit_mut_span_panic
189919
ns/iter (± 608
)190255
ns/iter (± 1174
)1.00
html/document_fragment/visitor/compare/fold_span
233322
ns/iter (± 954
)231362
ns/iter (± 1863
)1.01
html/document_fragment/visitor/compare/fold_span_panic
286141
ns/iter (± 1177
)282406
ns/iter (± 12605
)1.01
html/lexer/css_2021_spec
13081368
ns/iter (± 25015
)12879729
ns/iter (± 204373
)1.02
html/lexer/github_com_17_05_2022
5003399
ns/iter (± 20141
)4943951
ns/iter (± 6642
)1.01
html/lexer/stackoverflow_com_17_05_2022
4734435
ns/iter (± 14171
)4679886
ns/iter (± 9224
)1.01
html/parser/parser_document/css_2021_spec
25826317
ns/iter (± 1332461
)25312165
ns/iter (± 174433
)1.02
html/parser/parser_document/github_com_17_05_2022
8473348
ns/iter (± 56281
)8406845
ns/iter (± 53175
)1.01
html/parser/parser_document/stackoverflow_com_17_05_2022
7421874
ns/iter (± 11470
)7318257
ns/iter (± 11762
)1.01
html/parser/parser_document_fragment/css_2021_spec
25715673
ns/iter (± 125714
)25031265
ns/iter (± 89925
)1.03
html/parser/parser_document_fragment/github_com_17_05_2022
8399949
ns/iter (± 19419
)8375192
ns/iter (± 15186
)1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022
7381717
ns/iter (± 15317
)7292847
ns/iter (± 16375
)1.01
This comment was automatically generated by workflow using github-action-benchmark.