Skip to content

Commit 4e0d240

Browse files
authoredFeb 10, 2024
build(plugin): Update wasmer to v4.2.5 (#8624)
**Description:** This is required to update rustc.
1 parent 361c9db commit 4e0d240

File tree

14 files changed

+843
-850
lines changed

14 files changed

+843
-850
lines changed
 

‎Cargo.lock

+185-251
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎bindings/Cargo.lock

+8-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎bindings/Cargo.toml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
[workspace]
22
members = [
3-
"binding_core_node",
4-
"binding_core_wasm",
5-
"binding_minifier_node",
6-
"binding_minifier_wasm",
7-
"swc_cli",
3+
"binding_core_node",
4+
"binding_core_wasm",
5+
"binding_minifier_node",
6+
"binding_minifier_wasm",
7+
"swc_cli",
88
]
9+
resolver = "2"
910

1011
[profile.release]
1112
# lto = true

‎bindings/binding_core_node/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,4 @@ swc_core = { version = "0.90.6", features = [
6565
"base_concurrent",
6666
] }
6767
swc_malloc = "0.5.10"
68+
tokio = { version = "1.36.0", features = ["rt", "rt-multi-thread"] }

‎bindings/binding_core_node/src/transform.rs

+89-76
Original file line numberDiff line numberDiff line change
@@ -50,40 +50,45 @@ impl Task for TransformTask {
5050

5151
let error_format = options.experimental.error_format.unwrap_or_default();
5252

53-
try_with(
54-
self.c.cm.clone(),
55-
!options.config.error.filename.into_bool(),
56-
error_format,
57-
|handler| {
58-
self.c.run(|| match &self.input {
59-
Input::Program(ref s) => {
60-
let program: Program =
61-
deserialize_json(s).expect("failed to deserialize Program");
62-
// TODO: Source map
63-
self.c.process_js(handler, program, &options)
64-
}
65-
66-
Input::File(ref path) => {
67-
let fm = self.c.cm.load_file(path).context("failed to load file")?;
68-
self.c.process_js_file(fm, handler, &options)
69-
}
70-
71-
Input::Source { src } => {
72-
let fm = self.c.cm.new_source_file(
73-
if options.filename.is_empty() {
74-
FileName::Anon
75-
} else {
76-
FileName::Real(options.filename.clone().into())
77-
},
78-
src.to_string(),
79-
);
80-
81-
self.c.process_js_file(fm, handler, &options)
82-
}
83-
})
84-
},
85-
)
86-
.convert_err()
53+
tokio::runtime::Runtime::new()
54+
.unwrap()
55+
.block_on(async move {
56+
try_with(
57+
self.c.cm.clone(),
58+
!options.config.error.filename.into_bool(),
59+
error_format,
60+
|handler| {
61+
self.c.run(|| match &self.input {
62+
Input::Program(ref s) => {
63+
let program: Program =
64+
deserialize_json(s).expect("failed to deserialize Program");
65+
// TODO: Source map
66+
self.c.process_js(handler, program, &options)
67+
}
68+
69+
Input::File(ref path) => {
70+
let fm =
71+
self.c.cm.load_file(path).context("failed to load file")?;
72+
self.c.process_js_file(fm, handler, &options)
73+
}
74+
75+
Input::Source { src } => {
76+
let fm = self.c.cm.new_source_file(
77+
if options.filename.is_empty() {
78+
FileName::Anon
79+
} else {
80+
FileName::Real(options.filename.clone().into())
81+
},
82+
src.to_string(),
83+
);
84+
85+
self.c.process_js_file(fm, handler, &options)
86+
}
87+
})
88+
},
89+
)
90+
})
91+
.convert_err()
8792
}
8893

8994
fn resolve(&mut self, _env: Env, result: Self::Output) -> napi::Result<Self::JsValue> {
@@ -137,31 +142,35 @@ pub fn transform_sync(s: String, is_module: bool, opts: Buffer) -> napi::Result<
137142

138143
let error_format = options.experimental.error_format.unwrap_or_default();
139144

140-
try_with(
141-
c.cm.clone(),
142-
!options.config.error.filename.into_bool(),
143-
error_format,
144-
|handler| {
145-
c.run(|| {
146-
if is_module {
147-
let program: Program =
148-
deserialize_json(s.as_str()).context("failed to deserialize Program")?;
149-
c.process_js(handler, program, &options)
150-
} else {
151-
let fm = c.cm.new_source_file(
152-
if options.filename.is_empty() {
153-
FileName::Anon
145+
tokio::runtime::Runtime::new()
146+
.unwrap()
147+
.block_on(async move {
148+
try_with(
149+
c.cm.clone(),
150+
!options.config.error.filename.into_bool(),
151+
error_format,
152+
|handler| {
153+
c.run(|| {
154+
if is_module {
155+
let program: Program = deserialize_json(s.as_str())
156+
.context("failed to deserialize Program")?;
157+
c.process_js(handler, program, &options)
154158
} else {
155-
FileName::Real(options.filename.clone().into())
156-
},
157-
s,
158-
);
159-
c.process_js_file(fm, handler, &options)
160-
}
161-
})
162-
},
163-
)
164-
.convert_err()
159+
let fm = c.cm.new_source_file(
160+
if options.filename.is_empty() {
161+
FileName::Anon
162+
} else {
163+
FileName::Real(options.filename.clone().into())
164+
},
165+
s,
166+
);
167+
c.process_js_file(fm, handler, &options)
168+
}
169+
})
170+
},
171+
)
172+
})
173+
.convert_err()
165174
}
166175

167176
#[napi]
@@ -203,22 +212,26 @@ pub fn transform_file_sync(
203212

204213
let error_format = options.experimental.error_format.unwrap_or_default();
205214

206-
try_with(
207-
c.cm.clone(),
208-
!options.config.error.filename.into_bool(),
209-
error_format,
210-
|handler| {
211-
c.run(|| {
212-
if is_module {
213-
let program: Program =
214-
deserialize_json(s.as_str()).context("failed to deserialize Program")?;
215-
c.process_js(handler, program, &options)
216-
} else {
217-
let fm = c.cm.load_file(Path::new(&s)).expect("failed to load file");
218-
c.process_js_file(fm, handler, &options)
219-
}
220-
})
221-
},
222-
)
223-
.convert_err()
215+
tokio::runtime::Runtime::new()
216+
.unwrap()
217+
.block_on(async move {
218+
try_with(
219+
c.cm.clone(),
220+
!options.config.error.filename.into_bool(),
221+
error_format,
222+
|handler| {
223+
c.run(|| {
224+
if is_module {
225+
let program: Program = deserialize_json(s.as_str())
226+
.context("failed to deserialize Program")?;
227+
c.process_js(handler, program, &options)
228+
} else {
229+
let fm = c.cm.load_file(Path::new(&s)).expect("failed to load file");
230+
c.process_js_file(fm, handler, &options)
231+
}
232+
})
233+
},
234+
)
235+
})
236+
.convert_err()
224237
}

‎crates/binding_macros/Cargo.toml

+7-8
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,13 @@ swc_ecma_transforms = { optional = true, version = "0.229.3", path = "../swc_ecm
4040
swc_ecma_visit = { optional = true, version = "0.98.2", path = "../swc_ecma_visit" }
4141

4242
# Optional deps for the wasm binding macro
43-
anyhow = { optional = true, version = "1.0.71" }
43+
anyhow = { optional = true, version = "1.0.71" }
4444
console_error_panic_hook = { optional = true, version = "0.1.7" }
45-
js-sys = { optional = true, version = "0.3.59" }
46-
once_cell = { optional = true, version = "1.18.0" }
47-
serde = { optional = true, version = "1", features = ["derive"] }
48-
serde-wasm-bindgen = { optional = true, version = "0.4.5" }
49-
# https://github.com/wasmerio/wasmer/blob/77898a7767eb7057834fdc1a80b239e6b68cf44e/lib/wasix/Cargo.toml#L92
50-
wasm-bindgen = { optional = true, version = "=0.2.84", features = [
45+
js-sys = { optional = true, version = "0.3.59" }
46+
once_cell = { optional = true, version = "1.18.0" }
47+
serde = { optional = true, version = "1", features = ["derive"] }
48+
serde-wasm-bindgen = { optional = true, version = "0.4.5" }
49+
wasm-bindgen = { optional = true, version = "0.2.91", features = [
5150
"enable-interning",
5251
] }
53-
wasm-bindgen-futures = { optional = true, version = "=0.4.34" }
52+
wasm-bindgen-futures = { optional = true, version = "0.4.41" }

‎crates/swc_plugin_runner/Cargo.toml

+4-6
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ plugin_transform_host_native = [
2929
"wasmer-wasix/host-threads",
3030
"wasmer-compiler-cranelift/default",
3131
]
32-
plugin_transform_host_native_shared_runtime = [
33-
"tokio",
34-
"wasmer-wasix/webc_runner",
35-
]
32+
plugin_transform_host_native_shared_runtime = ["tokio"]
3633

3734
# Supports a cache allow to store compiled bytecode into filesystem location.
3835
# This feature implies in-memory cache support. This is not supported on wasm32 target.
@@ -58,8 +55,8 @@ serde = { version = "1.0.126", features = ["derive"] }
5855
serde_json = "1.0.64"
5956
tokio = { version = "1", default-features = false, optional = true }
6057
tracing = "0.1.37"
61-
wasmer = { version = "4.0.0", default-features = false }
62-
wasmer-wasix = { version = "0.9.0", default-features = false }
58+
wasmer = { version = "4.2.5", default-features = false }
59+
wasmer-wasix = { version = "0.18.0", default-features = false }
6360

6461
swc_common = { version = "0.33.17", path = "../swc_common", features = [
6562
"concurrent",
@@ -88,6 +85,7 @@ swc_ecma_parser = { version = "0.143.3", path = "../swc_ecma_parser" }
8885
swc_ecma_visit = { version = "0.98.2", path = "../swc_ecma_visit" }
8986
swc_malloc = { version = "0.5.10", path = "../swc_malloc" }
9087
testing = { version = "0.35.18", path = "../testing" }
88+
tokio = { version = "1", features = ["rt"] }
9189

9290
[[bench]]
9391
harness = false

‎crates/swc_plugin_runner/src/wasix_runtime.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub fn build_wasi_runtime(
5858
use wasmer_wasix::{
5959
runtime::{
6060
module_cache::{ModuleCache, SharedCache},
61-
package_loader::BuiltinPackageLoader,
61+
package_loader::UnsupportedPackageLoader,
6262
resolver::MultiSource,
6363
task_manager::tokio::TokioTaskManager,
6464
},
@@ -68,9 +68,9 @@ pub fn build_wasi_runtime(
6868
let cache =
6969
SharedCache::default().with_fallback(wasmer_wasix::runtime::module_cache::in_memory());
7070

71-
let dummy_loader = BuiltinPackageLoader::new_with_client(".", Arc::new(StubHttpClient));
71+
let dummy_loader = UnsupportedPackageLoader;
7272
let rt = PluggableRuntime {
73-
rt: Arc::new(TokioTaskManager::shared()),
73+
rt: Arc::new(TokioTaskManager::default()),
7474
networking: Arc::new(virtual_net::UnsupportedVirtualNetworking::default()),
7575
engine: Some(ENGINE.lock().clone()),
7676
tty: None,

0 commit comments

Comments
 (0)
Please sign in to comment.