diff --git a/Cargo.lock b/Cargo.lock index d1b9717a61cf..3ab9cb21e452 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2762,14 +2762,14 @@ dependencies = [ [[package]] name = "napi" -version = "3.0.0-beta.6" +version = "3.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0d1af803835267849e6816cc15ae1d53370e6bf8e1c721363ad50ca2ae1637" +checksum = "c502f122fc89e92c6222810b3144411c6f945da5aa3b713ddfad3bdcae7c9bb4" dependencies = [ "anyhow", "bitflags 2.9.1", "ctor", - "napi-build", + "napi-build 2.2.1", "napi-sys", "nohash-hasher", "rustc-hash 2.1.1", @@ -2778,6 +2778,12 @@ dependencies = [ "tokio", ] +[[package]] +name = "napi-build" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44e0e3177307063d3e7e55b7dd7b648cca9d7f46daa35422c0d98cc2bf48c2c1" + [[package]] name = "napi-build" version = "3.0.0-beta.0" @@ -2786,9 +2792,9 @@ checksum = "42908a235da4c4a18c481eb5a8bb38570daa18581a68c508ca8efab662e38bc6" [[package]] name = "napi-derive" -version = "3.0.0-beta.6" +version = "3.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c48e8ab579e603cb66e0f9048303d25fca9f4275f421c0af150a40080bd299d" +checksum = "fcf1e732a67e934b069d6d527251d6288753a36840572abe132a7aed9e77f0bc" dependencies = [ "convert_case 0.8.0", "ctor", @@ -2800,9 +2806,9 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "2.0.0-beta.6" +version = "2.0.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a767a2d3aa9fe20f7032b9e90912e8061224dc48fcfd5a3e8716dbef8ba39a5" +checksum = "462b775ba74791c98989fadc46c4bb2ec53016427be4d420d31c4bbaab34b308" dependencies = [ "convert_case 0.8.0", "proc-macro2", @@ -4534,7 +4540,7 @@ dependencies = [ "glob", "heck 0.5.0", "napi", - "napi-build", + "napi-build 3.0.0-beta.0", "napi-derive", "once_cell", "ropey", diff --git a/Cargo.toml b/Cargo.toml index e341475bbb47..e2ccb9f8ffa5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -90,9 +90,9 @@ xxhash-rust = { version = "0.8.14" } sftrace-setup = { version = "0.1.0" } # Pinned -napi = { version = "3.0.0-beta.5" } +napi = { version = "3.0.0-beta.8" } napi-build = { version = "3.0.0-beta.0" } -napi-derive = { version = "3.0.0-beta.5" } +napi-derive = { version = "3.0.0-beta.8" } # Serialize and Deserialize inventory = { version = "0.3.17" } diff --git a/crates/node_binding/src/resolver.rs b/crates/node_binding/src/resolver.rs index 8bfab897fc34..942ca01e7e09 100644 --- a/crates/node_binding/src/resolver.rs +++ b/crates/node_binding/src/resolver.rs @@ -80,7 +80,10 @@ impl JsResolver { Either::::A(ResourceData::from(resource).into()), ), Ok(rspack_core::ResolveResult::Ignored) => Ok(Either::B(false)), - Err(err) => Err(napi::Error::from_reason(format!("{err:?}"))), + Err(err) => Err(napi::Error::new( + ErrorCode::Napi(napi::Status::GenericFailure), + format!("{err:?}"), + )), } }, || {}, diff --git a/crates/node_binding/src/utils.rs b/crates/node_binding/src/utils.rs index cf70853a6d01..8739bdb752af 100644 --- a/crates/node_binding/src/utils.rs +++ b/crates/node_binding/src/utils.rs @@ -12,12 +12,13 @@ pub fn callbackify( ) -> Result<(), ErrorCode> where R: 'static + ToNapiValue, - F: 'static + Send + Future>, + F: 'static + Send + Future>, { let mut call_js_back = Some(Box::new(call_js_back)); let tsfn = f .build_threadsafe_function::() + .error_status::() .callee_handled::() .max_queue_size::<1>() .weak::() diff --git a/deny.toml b/deny.toml index 9ef203119e36..a2d30676ccaf 100644 --- a/deny.toml +++ b/deny.toml @@ -233,6 +233,7 @@ skip = [ { crate = "thiserror", reason = "external dependency"}, { crate = "thiserror-impl", reason = "external dependency"}, { crate = "unicode-width", reason = "external dependency"}, + { crate = "napi-build", reason = "external dependency"}, { crate = "windows-targets", reason = "external dependency"}, { crate = "windows_aarch64_gnullvm", reason = "external dependency"}, { crate = "windows_aarch64_msvc", reason = "external dependency"},