Skip to content

Commit

Permalink
fix(es/module): Don't create absolute paths for jsc.paths on Windows (
Browse files Browse the repository at this point in the history
#7892)

**Related issue:**

 - Closes #7806
  • Loading branch information
kdy1 authored Aug 30, 2023
1 parent 766d3e8 commit 5fbc251
Show file tree
Hide file tree
Showing 14 changed files with 232 additions and 61 deletions.
112 changes: 56 additions & 56 deletions bindings/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion bindings/binding_core_node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ tracing-chrome = "0.5.0"
tracing-futures = "0.2.5"
tracing-subscriber = { version = "0.3.9", features = ["env-filter"] }

swc_core = { version = "0.81.5", features = [
swc_core = { version = "0.82.6", features = [
"allocator_node",
"ecma_ast",
"ecma_ast_serde",
Expand Down
2 changes: 1 addition & 1 deletion bindings/binding_core_wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ anyhow = "1.0.66"
getrandom = { version = "0.2.10", features = ["js"] }
serde = { version = "1", features = ["derive"] }
serde-wasm-bindgen = "0.4.5"
swc_core = { version = "0.81.5", features = [
swc_core = { version = "0.82.6", features = [
"ecma_ast_serde",
"binding_macro_wasm",
"ecma_transforms",
Expand Down
2 changes: 1 addition & 1 deletion bindings/swc_cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ relative-path = "1.6.1"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["unbounded_depth"] }
sourcemap = "6.2.2"
swc_core = { version = "0.81.5", features = [
swc_core = { version = "0.82.6", features = [
"trace_macro",
"common_concurrent",
"base_concurrent",
Expand Down
18 changes: 16 additions & 2 deletions crates/swc/src/config/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ use std::{
usize,
};

use anyhow::{bail, Error};
use anyhow::{bail, Context, Error};
use dashmap::DashMap;
use either::Either;
use indexmap::IndexMap;
Expand Down Expand Up @@ -1958,10 +1958,24 @@ fn default_env_name() -> String {
}
}

fn build_resolver(base_url: PathBuf, paths: CompiledPaths) -> Box<SwcImportResolver> {
fn build_resolver(mut base_url: PathBuf, paths: CompiledPaths) -> Box<SwcImportResolver> {
static CACHE: Lazy<DashMap<(PathBuf, CompiledPaths), SwcImportResolver, ARandomState>> =
Lazy::new(Default::default);

// On Windows, we need to normalize path as UNC path.
if cfg!(target_os = "windows") {
base_url = base_url
.canonicalize()
.with_context(|| {
format!(
"failed to canonicalize jsc.baseUrl(`{}`)\nThis is required on Windows \
because of UNC path.",
base_url.display()
)
})
.unwrap();
}

if let Some(cached) = CACHE.get(&(base_url.clone(), paths.clone())) {
return Box::new((*cached).clone());
}
Expand Down
Loading

1 comment on commit 5fbc251

@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: 5fbc251 Previous: 8db968a Ratio
es/full/bugs-1 295534 ns/iter (± 10332) 289587 ns/iter (± 8574) 1.02
es/full/minify/libraries/antd 1287433065 ns/iter (± 16011923) 1307477861 ns/iter (± 14777675) 0.98
es/full/minify/libraries/d3 271526459 ns/iter (± 4067750) 271250776 ns/iter (± 3773463) 1.00
es/full/minify/libraries/echarts 1032901563 ns/iter (± 3348705) 1037081860 ns/iter (± 5370837) 1.00
es/full/minify/libraries/jquery 83648079 ns/iter (± 90505) 83329372 ns/iter (± 148904) 1.00
es/full/minify/libraries/lodash 96563634 ns/iter (± 312015) 96864275 ns/iter (± 256435) 1.00
es/full/minify/libraries/moment 49404532 ns/iter (± 54777) 49311457 ns/iter (± 76661) 1.00
es/full/minify/libraries/react 17853802 ns/iter (± 51558) 17904183 ns/iter (± 42696) 1.00
es/full/minify/libraries/terser 216185706 ns/iter (± 635810) 215382555 ns/iter (± 473389) 1.00
es/full/minify/libraries/three 379960294 ns/iter (± 1571916) 381401157 ns/iter (± 4094636) 1.00
es/full/minify/libraries/typescript 2610700544 ns/iter (± 7598975) 2617597398 ns/iter (± 10208844) 1.00
es/full/minify/libraries/victory 550248145 ns/iter (± 1962749) 562203434 ns/iter (± 4807051) 0.98
es/full/minify/libraries/vue 117798819 ns/iter (± 237267) 117887359 ns/iter (± 284349) 1.00
es/full/codegen/es3 33671 ns/iter (± 169) 34940 ns/iter (± 76) 0.96
es/full/codegen/es5 33527 ns/iter (± 64) 34886 ns/iter (± 88) 0.96
es/full/codegen/es2015 33579 ns/iter (± 69) 34987 ns/iter (± 130) 0.96
es/full/codegen/es2016 33598 ns/iter (± 70) 34972 ns/iter (± 152) 0.96
es/full/codegen/es2017 33622 ns/iter (± 96) 35097 ns/iter (± 82) 0.96
es/full/codegen/es2018 33582 ns/iter (± 112) 35018 ns/iter (± 147) 0.96
es/full/codegen/es2019 33652 ns/iter (± 130) 34918 ns/iter (± 83) 0.96
es/full/codegen/es2020 33609 ns/iter (± 103) 34927 ns/iter (± 140) 0.96
es/full/all/es3 168654423 ns/iter (± 1645465) 171439564 ns/iter (± 1323992) 0.98
es/full/all/es5 160793169 ns/iter (± 1749270) 163324140 ns/iter (± 958337) 0.98
es/full/all/es2015 120402864 ns/iter (± 700880) 121943894 ns/iter (± 730798) 0.99
es/full/all/es2016 118775327 ns/iter (± 1149100) 121238720 ns/iter (± 783695) 0.98
es/full/all/es2017 118051257 ns/iter (± 799823) 120031820 ns/iter (± 572314) 0.98
es/full/all/es2018 117049071 ns/iter (± 786136) 118231755 ns/iter (± 738093) 0.99
es/full/all/es2019 115904265 ns/iter (± 496237) 117527678 ns/iter (± 292078) 0.99
es/full/all/es2020 110990147 ns/iter (± 565794) 112782526 ns/iter (± 384914) 0.98
es/full/parser 490378 ns/iter (± 5878) 498673 ns/iter (± 6036) 0.98
es/full/base/fixer 17887 ns/iter (± 43) 18329 ns/iter (± 89) 0.98
es/full/base/resolver_and_hygiene 79193 ns/iter (± 130) 80975 ns/iter (± 153) 0.98
serialization of serde 293 ns/iter (± 0) 279 ns/iter (± 0) 1.05
css/minify/libraries/bootstrap 28778211 ns/iter (± 145085) 29235806 ns/iter (± 82142) 0.98
css/visitor/compare/clone 1620359 ns/iter (± 2372) 1616969 ns/iter (± 2615) 1.00
css/visitor/compare/visit_mut_span 1740846 ns/iter (± 4192) 1751052 ns/iter (± 2290) 0.99
css/visitor/compare/visit_mut_span_panic 1814951 ns/iter (± 3513) 1829270 ns/iter (± 4554) 0.99
css/visitor/compare/fold_span 2539796 ns/iter (± 8938) 2545057 ns/iter (± 5153) 1.00
css/visitor/compare/fold_span_panic 2735037 ns/iter (± 6445) 2750558 ns/iter (± 7230) 0.99
css/lexer/bootstrap_5_1_3 4463322 ns/iter (± 27183) 4525500 ns/iter (± 2657) 0.99
css/lexer/foundation_6_7_4 3749572 ns/iter (± 1780) 3808307 ns/iter (± 4212) 0.98
css/lexer/tailwind_3_1_1 711613 ns/iter (± 805) 721185 ns/iter (± 1147) 0.99
css/parser/bootstrap_5_1_3 18759974 ns/iter (± 58896) 19413869 ns/iter (± 41114) 0.97
css/parser/foundation_6_7_4 14982478 ns/iter (± 15846) 15369993 ns/iter (± 102350) 0.97
css/parser/tailwind_3_1_1 2925712 ns/iter (± 4243) 2985325 ns/iter (± 13871) 0.98
es/codegen/colors 732574 ns/iter (± 399654) 732611 ns/iter (± 398111) 1.00
es/codegen/large 3145990 ns/iter (± 1673982) 3115710 ns/iter (± 1640400) 1.01
es/codegen/with-parser/colors 45524 ns/iter (± 452) 45102 ns/iter (± 523) 1.01
es/codegen/with-parser/large 483446 ns/iter (± 811) 483670 ns/iter (± 1453) 1.00
es/minify/libraries/antd 1121835368 ns/iter (± 15930869) 1125297877 ns/iter (± 9385319) 1.00
es/minify/libraries/d3 236087351 ns/iter (± 304199) 237257710 ns/iter (± 635245) 1.00
es/minify/libraries/echarts 881780668 ns/iter (± 4054764) 888334156 ns/iter (± 6011628) 0.99
es/minify/libraries/jquery 72765552 ns/iter (± 181108) 72979823 ns/iter (± 369390) 1.00
es/minify/libraries/lodash 86375360 ns/iter (± 115158) 86362206 ns/iter (± 235520) 1.00
es/minify/libraries/moment 43261510 ns/iter (± 53240) 43260398 ns/iter (± 74805) 1.00
es/minify/libraries/react 15975849 ns/iter (± 37718) 15919936 ns/iter (± 55180) 1.00
es/minify/libraries/terser 182095544 ns/iter (± 397633) 184416417 ns/iter (± 709909) 0.99
es/minify/libraries/three 313701193 ns/iter (± 840488) 317637269 ns/iter (± 1348713) 0.99
es/minify/libraries/typescript 2161518137 ns/iter (± 14609210) 2218603398 ns/iter (± 10102966) 0.97
es/minify/libraries/victory 464037943 ns/iter (± 1132512) 466636885 ns/iter (± 1138608) 0.99
es/minify/libraries/vue 105099313 ns/iter (± 156711) 105641780 ns/iter (± 217258) 0.99
es/visitor/compare/clone 1921050 ns/iter (± 7979) 1913896 ns/iter (± 4654) 1.00
es/visitor/compare/visit_mut_span 2267698 ns/iter (± 3669) 2264193 ns/iter (± 6331) 1.00
es/visitor/compare/visit_mut_span_panic 2303286 ns/iter (± 4166) 2295227 ns/iter (± 1571) 1.00
es/visitor/compare/fold_span 3311467 ns/iter (± 6122) 3312648 ns/iter (± 6625) 1.00
es/visitor/compare/fold_span_panic 3459298 ns/iter (± 6616) 3450762 ns/iter (± 6672) 1.00
es/lexer/colors 13192 ns/iter (± 68) 12849 ns/iter (± 25) 1.03
es/lexer/angular 6144332 ns/iter (± 5007) 6008034 ns/iter (± 20138) 1.02
es/lexer/backbone 787060 ns/iter (± 951) 777837 ns/iter (± 1571) 1.01
es/lexer/jquery 4515129 ns/iter (± 7456) 4405178 ns/iter (± 14138) 1.02
es/lexer/jquery mobile 6914362 ns/iter (± 92929) 6702589 ns/iter (± 11719) 1.03
es/lexer/mootools 3574646 ns/iter (± 16840) 3494670 ns/iter (± 7183) 1.02
es/lexer/underscore 666026 ns/iter (± 2298) 650313 ns/iter (± 3521) 1.02
es/lexer/three 21404097 ns/iter (± 24478) 20978090 ns/iter (± 62703) 1.02
es/lexer/yui 3821840 ns/iter (± 5845) 3753358 ns/iter (± 28118) 1.02
es/parser/colors 27962 ns/iter (± 25) 26720 ns/iter (± 308) 1.05
es/parser/angular 13508891 ns/iter (± 72995) 13273712 ns/iter (± 113613) 1.02
es/parser/backbone 2004527 ns/iter (± 10208) 1944602 ns/iter (± 26214) 1.03
es/parser/jquery 10944260 ns/iter (± 33683) 10607668 ns/iter (± 53661) 1.03
es/parser/jquery mobile 16802240 ns/iter (± 43343) 16542508 ns/iter (± 122488) 1.02
es/parser/mootools 8410119 ns/iter (± 17581) 8259020 ns/iter (± 19023) 1.02
es/parser/underscore 1730216 ns/iter (± 9897) 1701377 ns/iter (± 23374) 1.02
es/parser/three 46656503 ns/iter (± 137422) 46212831 ns/iter (± 216611) 1.01
es/parser/yui 8285310 ns/iter (± 35543) 8107859 ns/iter (± 68626) 1.02
es/preset-env/usage/builtin_type 136133 ns/iter (± 32353) 136757 ns/iter (± 32693) 1.00
es/preset-env/usage/property 16668 ns/iter (± 64) 17025 ns/iter (± 103) 0.98
es/resolver/typescript 87912566 ns/iter (± 1113024) 87640517 ns/iter (± 848250) 1.00
es/fixer/typescript 62782523 ns/iter (± 849147) 62679504 ns/iter (± 310006) 1.00
es/hygiene/typescript 130930640 ns/iter (± 1036139) 129548015 ns/iter (± 741274) 1.01
es/resolver_with_hygiene/typescript 244577299 ns/iter (± 3081418) 241110678 ns/iter (± 750974) 1.01
es/visitor/base-perf/module_clone 60293 ns/iter (± 270) 60313 ns/iter (± 676) 1.00
es/visitor/base-perf/fold_empty 64018 ns/iter (± 142) 64412 ns/iter (± 387) 0.99
es/visitor/base-perf/fold_noop_impl_all 65133 ns/iter (± 342) 64461 ns/iter (± 221) 1.01
es/visitor/base-perf/fold_noop_impl_vec 65442 ns/iter (± 1244) 64530 ns/iter (± 782) 1.01
es/visitor/base-perf/boxing_boxed_clone 57 ns/iter (± 0) 56 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_unboxed_clone 39 ns/iter (± 0) 40 ns/iter (± 0) 0.97
es/visitor/base-perf/boxing_boxed 108 ns/iter (± 0) 107 ns/iter (± 0) 1.01
es/visitor/base-perf/boxing_unboxed 76 ns/iter (± 0) 77 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_empty 0 ns/iter (± 0) 0 ns/iter (± 0) NaN
es/visitor/base-perf/visit_contains_this 2529 ns/iter (± 10) 2526 ns/iter (± 23) 1.00
es/base/parallel/resolver/typescript 4514136434 ns/iter (± 269342311) 3622641874 ns/iter (± 287796129) 1.25
es/base/parallel/hygiene/typescript 1435466786 ns/iter (± 19927319) 1445046034 ns/iter (± 17075492) 0.99
misc/visitors/time-complexity/time 5 132 ns/iter (± 6) 134 ns/iter (± 8) 0.99
misc/visitors/time-complexity/time 10 389 ns/iter (± 6) 393 ns/iter (± 2) 0.99
misc/visitors/time-complexity/time 15 680 ns/iter (± 9) 694 ns/iter (± 20) 0.98
misc/visitors/time-complexity/time 20 1065 ns/iter (± 14) 1052 ns/iter (± 5) 1.01
misc/visitors/time-complexity/time 40 3562 ns/iter (± 8) 4189 ns/iter (± 12) 0.85
misc/visitors/time-complexity/time 60 7334 ns/iter (± 21) 7345 ns/iter (± 54) 1.00
es/full-target/es2016 230731 ns/iter (± 704) 230774 ns/iter (± 1006) 1.00
es/full-target/es2017 219821 ns/iter (± 375) 218817 ns/iter (± 1039) 1.00
es/full-target/es2018 208305 ns/iter (± 360) 208454 ns/iter (± 1356) 1.00
es2020_nullish_coalescing 70736 ns/iter (± 212) 69998 ns/iter (± 382) 1.01
es2020_optional_chaining 82369 ns/iter (± 391) 81878 ns/iter (± 441) 1.01
es2022_class_properties 117415 ns/iter (± 923) 114499 ns/iter (± 437) 1.03
es2018_object_rest_spread 76277 ns/iter (± 310) 74621 ns/iter (± 466) 1.02
es2019_optional_catch_binding 66597 ns/iter (± 351) 65082 ns/iter (± 257) 1.02
es2017_async_to_generator 66249 ns/iter (± 270) 64465 ns/iter (± 394) 1.03
es2016_exponentiation 67415 ns/iter (± 279) 65744 ns/iter (± 294) 1.03
es2015_arrow 73051 ns/iter (± 330) 72143 ns/iter (± 455) 1.01
es2015_block_scoped_fn 70936 ns/iter (± 261) 69468 ns/iter (± 501) 1.02
es2015_block_scoping 125584 ns/iter (± 419) 123690 ns/iter (± 1072) 1.02

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

Please sign in to comment.