Skip to content

Commit

Permalink
build(bindings): Fix build of typescript binding (#9125)
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 committed Jul 3, 2024
1 parent 50c0eaf commit f409bc0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
5 changes: 4 additions & 1 deletion bindings/binding_typescript_wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,11 @@ serde = { version = "1", features = ["derive"] }
serde-wasm-bindgen = "0.4.5"
serde_json = "1.0.120"
swc_core = { version = "0.96.1", features = [
"ecma_ast_serde",
"common",
"common_sourcemap",
"ecma_ast",
"ecma_codegen",
"ecma_parser",
"ecma_transforms",
"ecma_transforms_typescript",
"ecma_visit",
Expand Down
15 changes: 4 additions & 11 deletions bindings/binding_typescript_wasm/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use anyhow::{Context, Error};
use serde::{Deserialize, Serialize};
use swc_core::{
base::{config::ErrorFormat, HandlerOpts},
common::{
comments::SingleThreadedComments, errors::ColorConfig, source_map::SourceMapGenConfig,
sync::Lrc, FileName, Mark, SourceMap, GLOBALS,
Expand All @@ -21,7 +20,7 @@ use swc_core::{
visit::VisitMutWith,
},
};
use swc_error_reporters::handler::try_with_handler;
use swc_error_reporters::handler::{try_with_handler, HandlerOpts};
use wasm_bindgen::prelude::*;
use wasm_bindgen_futures::{
future_to_promise,
Expand Down Expand Up @@ -79,7 +78,7 @@ pub fn transform_sync(input: JsString, options: JsValue) -> Result<JsValue, JsVa

let result = GLOBALS
.set(&Default::default(), || operate(input, options))
.map_err(|err| convert_err(err, None))?;
.map_err(convert_err)?;

Ok(serde_wasm_bindgen::to_value(&result)?)
}
Expand Down Expand Up @@ -208,14 +207,8 @@ fn operate(input: String, options: Options) -> Result<TransformOutput, Error> {
)
}

pub fn convert_err(
err: Error,
error_format: Option<ErrorFormat>,
) -> wasm_bindgen::prelude::JsValue {
error_format
.unwrap_or(ErrorFormat::Normal)
.format(&err)
.into()
pub fn convert_err(err: Error) -> wasm_bindgen::prelude::JsValue {
format!("{:?}", err).into()
}

struct TsSourceMapGenConfig;
Expand Down

1 comment on commit f409bc0

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: f409bc0 Previous: 6b3c0da Ratio
es/full/bugs-1 274000 ns/iter (± 3596) 275032 ns/iter (± 2223) 1.00
es/full/minify/libraries/antd 1867388876 ns/iter (± 70678388) 1811866763 ns/iter (± 67401519) 1.03
es/full/minify/libraries/d3 352110699 ns/iter (± 2553705) 369383182 ns/iter (± 15280593) 0.95
es/full/minify/libraries/echarts 1538011402 ns/iter (± 32109226) 1601704378 ns/iter (± 40307517) 0.96
es/full/minify/libraries/jquery 102811585 ns/iter (± 428763) 103988813 ns/iter (± 2833003) 0.99
es/full/minify/libraries/lodash 114093012 ns/iter (± 369905) 115983672 ns/iter (± 723237) 0.98
es/full/minify/libraries/moment 59739007 ns/iter (± 232313) 60231629 ns/iter (± 461813) 0.99
es/full/minify/libraries/react 18341306 ns/iter (± 23418) 18402396 ns/iter (± 54574) 1.00
es/full/minify/libraries/terser 272550378 ns/iter (± 2323114) 280293611 ns/iter (± 5272147) 0.97
es/full/minify/libraries/three 486859159 ns/iter (± 9105687) 482861024 ns/iter (± 16010857) 1.01
es/full/minify/libraries/typescript 3254511146 ns/iter (± 23506092) 3280340971 ns/iter (± 41775178) 0.99
es/full/minify/libraries/victory 747799052 ns/iter (± 11886263) 829863380 ns/iter (± 32870982) 0.90
es/full/minify/libraries/vue 146022982 ns/iter (± 468114) 146326196 ns/iter (± 979999) 1.00
es/full/codegen/es3 58446 ns/iter (± 233) 59523 ns/iter (± 589) 0.98
es/full/codegen/es5 58594 ns/iter (± 172) 59292 ns/iter (± 250) 0.99
es/full/codegen/es2015 58969 ns/iter (± 560) 59284 ns/iter (± 160) 0.99
es/full/codegen/es2016 58602 ns/iter (± 234) 59203 ns/iter (± 235) 0.99
es/full/codegen/es2017 58238 ns/iter (± 198) 59220 ns/iter (± 223) 0.98
es/full/codegen/es2018 58463 ns/iter (± 120) 59246 ns/iter (± 251) 0.99
es/full/codegen/es2019 58494 ns/iter (± 174) 59313 ns/iter (± 337) 0.99
es/full/codegen/es2020 58398 ns/iter (± 125) 59393 ns/iter (± 277) 0.98
es/full/all/es3 164288782 ns/iter (± 714946) 162890821 ns/iter (± 533522) 1.01
es/full/all/es5 158522167 ns/iter (± 1498397) 157716173 ns/iter (± 926047) 1.01
es/full/all/es2015 116970665 ns/iter (± 602849) 116971013 ns/iter (± 1404493) 1.00
es/full/all/es2016 116391936 ns/iter (± 765342) 116163333 ns/iter (± 881327) 1.00
es/full/all/es2017 115888413 ns/iter (± 926220) 115041876 ns/iter (± 1226725) 1.01
es/full/all/es2018 113785430 ns/iter (± 737822) 113537491 ns/iter (± 837830) 1.00
es/full/all/es2019 112918411 ns/iter (± 693290) 113090057 ns/iter (± 2496180) 1.00
es/full/all/es2020 108808199 ns/iter (± 1226154) 109134308 ns/iter (± 952149) 1.00
es/full/parser 483864 ns/iter (± 2768) 478254 ns/iter (± 4483) 1.01
es/full/base/fixer 16262 ns/iter (± 226) 16797 ns/iter (± 260) 0.97
es/full/base/resolver_and_hygiene 81469 ns/iter (± 297) 79662 ns/iter (± 200) 1.02
serialization of serde 276 ns/iter (± 2) 277 ns/iter (± 5) 1.00
css/minify/libraries/bootstrap 22045300 ns/iter (± 107001) 21919352 ns/iter (± 211209) 1.01
css/visitor/compare/clone 1352744 ns/iter (± 9654) 1353881 ns/iter (± 20146) 1.00
css/visitor/compare/visit_mut_span 1485512 ns/iter (± 7914) 1484530 ns/iter (± 7646) 1.00
css/visitor/compare/visit_mut_span_panic 1518785 ns/iter (± 17201) 1515848 ns/iter (± 59639) 1.00
css/visitor/compare/fold_span 1978817 ns/iter (± 8989) 1986963 ns/iter (± 4731) 1.00
css/visitor/compare/fold_span_panic 2110123 ns/iter (± 5153) 2108204 ns/iter (± 2602) 1.00
css/lexer/bootstrap_5_1_3 3434317 ns/iter (± 1757) 3494263 ns/iter (± 1057) 0.98
css/lexer/foundation_6_7_4 2776297 ns/iter (± 2381) 2813257 ns/iter (± 3559) 0.99
css/lexer/tailwind_3_1_1 533906 ns/iter (± 165) 539153 ns/iter (± 129) 0.99
css/parser/bootstrap_5_1_3 15929727 ns/iter (± 31783) 16007183 ns/iter (± 18958) 1.00
css/parser/foundation_6_7_4 12706319 ns/iter (± 15995) 12803811 ns/iter (± 34115) 0.99
css/parser/tailwind_3_1_1 2511700 ns/iter (± 19665) 2530747 ns/iter (± 2479) 0.99
es/codegen/colors 721114 ns/iter (± 396159) 727678 ns/iter (± 400497) 0.99
es/codegen/large 2972283 ns/iter (± 1574576) 3013102 ns/iter (± 1596871) 0.99
es/codegen/with-parser/colors 40684 ns/iter (± 266) 40424 ns/iter (± 418) 1.01
es/codegen/with-parser/large 445924 ns/iter (± 1268) 450806 ns/iter (± 8832) 0.99
es/minify/libraries/antd 1520230922 ns/iter (± 23791607) 1510104554 ns/iter (± 33285115) 1.01
es/minify/libraries/d3 298198337 ns/iter (± 4293539) 286176009 ns/iter (± 12772893) 1.04
es/minify/libraries/echarts 1255871698 ns/iter (± 23614936) 1243859535 ns/iter (± 44584736) 1.01
es/minify/libraries/jquery 83584753 ns/iter (± 875823) 82887252 ns/iter (± 782802) 1.01
es/minify/libraries/lodash 104785760 ns/iter (± 338982) 104503489 ns/iter (± 513308) 1.00
es/minify/libraries/moment 48568632 ns/iter (± 121285) 48442281 ns/iter (± 129840) 1.00
es/minify/libraries/react 16267307 ns/iter (± 32374) 16261389 ns/iter (± 41234) 1.00
es/minify/libraries/terser 222394666 ns/iter (± 1291884) 222326050 ns/iter (± 4740407) 1.00
es/minify/libraries/three 392850393 ns/iter (± 2777221) 387297937 ns/iter (± 18490903) 1.01
es/minify/libraries/typescript 2834660403 ns/iter (± 29148899) 2806027602 ns/iter (± 28943831) 1.01
es/minify/libraries/victory 660626365 ns/iter (± 7188725) 612576410 ns/iter (± 29805730) 1.08
es/minify/libraries/vue 122886922 ns/iter (± 323236) 121789874 ns/iter (± 914255) 1.01
es/visitor/compare/clone 1716401 ns/iter (± 45944) 1712096 ns/iter (± 4255) 1.00
es/visitor/compare/visit_mut_span 2050994 ns/iter (± 10554) 2059906 ns/iter (± 9136) 1.00
es/visitor/compare/visit_mut_span_panic 2075724 ns/iter (± 55146) 2056428 ns/iter (± 10596) 1.01
es/visitor/compare/fold_span 2772107 ns/iter (± 14394) 2783268 ns/iter (± 4214) 1.00
es/visitor/compare/fold_span_panic 2808046 ns/iter (± 5320) 2819426 ns/iter (± 5551) 1.00
es/lexer/colors 9316 ns/iter (± 25) 9437 ns/iter (± 88) 0.99
es/lexer/angular 4899378 ns/iter (± 4030) 5116749 ns/iter (± 25345) 0.96
es/lexer/backbone 636589 ns/iter (± 2191) 659645 ns/iter (± 8460) 0.97
es/lexer/jquery 3686099 ns/iter (± 10051) 3644491 ns/iter (± 10264) 1.01
es/lexer/jquery mobile 5410374 ns/iter (± 66093) 5468772 ns/iter (± 34263) 0.99
es/lexer/mootools 2943459 ns/iter (± 12490) 2909139 ns/iter (± 21785) 1.01
es/lexer/underscore 521192 ns/iter (± 1575) 539605 ns/iter (± 2509) 0.97
es/lexer/three 16034195 ns/iter (± 278863) 16434830 ns/iter (± 74050) 0.98
es/lexer/yui 2883930 ns/iter (± 14874) 2882127 ns/iter (± 30924) 1.00
es/lexer/cal-com 13102589 ns/iter (± 29622) 13321421 ns/iter (± 77940) 0.98
es/lexer/typescript 91030338 ns/iter (± 281894) 93038819 ns/iter (± 430638) 0.98
es/parser/colors 23426 ns/iter (± 117) 23821 ns/iter (± 57) 0.98
es/parser/angular 12436912 ns/iter (± 199609) 12657830 ns/iter (± 137891) 0.98
es/parser/backbone 1837345 ns/iter (± 22427) 1843644 ns/iter (± 8282) 1.00
es/parser/jquery 10152342 ns/iter (± 68470) 10367822 ns/iter (± 68835) 0.98
es/parser/jquery mobile 15232232 ns/iter (± 94607) 15447456 ns/iter (± 110555) 0.99
es/parser/mootools 7894225 ns/iter (± 133839) 8031705 ns/iter (± 36525) 0.98
es/parser/underscore 1604871 ns/iter (± 6154) 1631969 ns/iter (± 7648) 0.98
es/parser/three 44907720 ns/iter (± 612858) 44682682 ns/iter (± 459280) 1.01
es/parser/yui 7510838 ns/iter (± 43268) 7511590 ns/iter (± 42707) 1.00
es/parser/cal-com 39138120 ns/iter (± 358779) 42652886 ns/iter (± 582888) 0.92
es/parser/typescript 270060428 ns/iter (± 688433) 275328989 ns/iter (± 1178923) 0.98
es/preset-env/usage/builtin_type 134992 ns/iter (± 33375) 135625 ns/iter (± 33539) 1.00
es/preset-env/usage/property 16471 ns/iter (± 96) 16270 ns/iter (± 210) 1.01
es/resolver/typescript 109498620 ns/iter (± 2601643) 99528628 ns/iter (± 2182235) 1.10
es/fixer/typescript 88414745 ns/iter (± 4427929) 81536542 ns/iter (± 3514439) 1.08
es/hygiene/typescript 205070702 ns/iter (± 2222072) 181858324 ns/iter (± 3727808) 1.13
es/resolver_with_hygiene/typescript 341406730 ns/iter (± 3201739) 315159181 ns/iter (± 4308516) 1.08
es/visitor/base-perf/module_clone 56740 ns/iter (± 528) 56688 ns/iter (± 1544) 1.00
es/visitor/base-perf/fold_empty 59981 ns/iter (± 719) 59996 ns/iter (± 890) 1.00
es/visitor/base-perf/fold_noop_impl_all 59977 ns/iter (± 422) 60096 ns/iter (± 717) 1.00
es/visitor/base-perf/fold_noop_impl_vec 59944 ns/iter (± 314) 59636 ns/iter (± 307) 1.01
es/visitor/base-perf/boxing_boxed_clone 60 ns/iter (± 0) 59 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 47 ns/iter (± 0) 47 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 109 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed 80 ns/iter (± 0) 81 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 2582 ns/iter (± 10) 2565 ns/iter (± 10) 1.01
es/base/parallel/resolver/typescript 2442378562 ns/iter (± 180396665) 2436122717 ns/iter (± 104087410) 1.00
es/base/parallel/hygiene/typescript 3435136332 ns/iter (± 53731001) 3202408734 ns/iter (± 53785826) 1.07
babelify-only 490100 ns/iter (± 8892) 497921 ns/iter (± 2463) 0.98
parse_and_babelify_angular 39977301 ns/iter (± 2093467) 41707222 ns/iter (± 662078) 0.96
parse_and_babelify_backbone 4354402 ns/iter (± 140298) 4363187 ns/iter (± 77923) 1.00
parse_and_babelify_jquery 28239574 ns/iter (± 285335) 28518612 ns/iter (± 182521) 0.99
parse_and_babelify_jquery_mobile 51146058 ns/iter (± 834379) 49986921 ns/iter (± 932465) 1.02
parse_and_babelify_mootools 25631561 ns/iter (± 255560) 26525056 ns/iter (± 750054) 0.97
parse_and_babelify_underscore 3667919 ns/iter (± 16147) 3694386 ns/iter (± 9614) 0.99
parse_and_babelify_yui 23449832 ns/iter (± 223276) 24189822 ns/iter (± 1177250) 0.97
html/minify/document/css_spec 45289935 ns/iter (± 156115) 46562394 ns/iter (± 2169388) 0.97
html/minify/document/github 18274309 ns/iter (± 23456) 18187164 ns/iter (± 56942) 1.00
html/minify/document/stackoverflow 16580111 ns/iter (± 230515) 16709717 ns/iter (± 593363) 0.99
html/minify/document_fragment/css_spec 43873100 ns/iter (± 63900) 45785442 ns/iter (± 313295) 0.96
html/minify/document_fragment/github 17911039 ns/iter (± 22782) 17979810 ns/iter (± 254235) 1.00
html/minify/document_fragment/stackoverflow 16265635 ns/iter (± 14847) 16297047 ns/iter (± 67967) 1.00
html/document/visitor/compare/clone 166954 ns/iter (± 1561) 166699 ns/iter (± 2270) 1.00
html/document/visitor/compare/visit_mut_span 182278 ns/iter (± 2945) 184474 ns/iter (± 878) 0.99
html/document/visitor/compare/visit_mut_span_panic 190867 ns/iter (± 7363) 193579 ns/iter (± 9127) 0.99
html/document/visitor/compare/fold_span 227234 ns/iter (± 616) 231725 ns/iter (± 1260) 0.98
html/document/visitor/compare/fold_span_panic 281008 ns/iter (± 939) 279346 ns/iter (± 880) 1.01
html/document_fragment/visitor/compare/clone 167005 ns/iter (± 948) 167530 ns/iter (± 1006) 1.00
html/document_fragment/visitor/compare/visit_mut_span 182419 ns/iter (± 1323) 183778 ns/iter (± 1173) 0.99
html/document_fragment/visitor/compare/visit_mut_span_panic 187169 ns/iter (± 1082) 189919 ns/iter (± 608) 0.99
html/document_fragment/visitor/compare/fold_span 228960 ns/iter (± 1618) 233322 ns/iter (± 954) 0.98
html/document_fragment/visitor/compare/fold_span_panic 277331 ns/iter (± 572) 286141 ns/iter (± 1177) 0.97
html/lexer/css_2021_spec 12895190 ns/iter (± 214953) 13081368 ns/iter (± 25015) 0.99
html/lexer/github_com_17_05_2022 4921691 ns/iter (± 12304) 5003399 ns/iter (± 20141) 0.98
html/lexer/stackoverflow_com_17_05_2022 4684767 ns/iter (± 9282) 4734435 ns/iter (± 14171) 0.99
html/parser/parser_document/css_2021_spec 25457245 ns/iter (± 103314) 25826317 ns/iter (± 1332461) 0.99
html/parser/parser_document/github_com_17_05_2022 8486059 ns/iter (± 27318) 8473348 ns/iter (± 56281) 1.00
html/parser/parser_document/stackoverflow_com_17_05_2022 7412278 ns/iter (± 16997) 7421874 ns/iter (± 11470) 1.00
html/parser/parser_document_fragment/css_2021_spec 25121061 ns/iter (± 261376) 25715673 ns/iter (± 125714) 0.98
html/parser/parser_document_fragment/github_com_17_05_2022 8434238 ns/iter (± 24915) 8399949 ns/iter (± 19419) 1.00
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7321335 ns/iter (± 14924) 7381717 ns/iter (± 15317) 0.99

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

Please sign in to comment.