413 Commits

Author SHA1 Message Date
LongYinan
3dce1533fd
test(napi): add fixture for re-export complex class (#2733) 2025-06-24 16:31:26 +08:00
LongYinan
1486b1f174
test(napi): add complex pub type fixture (#2732) 2025-06-24 15:37:43 +08:00
LongYinan
a773f8d438
fix(napi): prevent panic in ThreadsafeFunctionHandle::drop if ThreadsafeFunction::create fail (#2731) 2025-06-24 15:01:08 +08:00
renovate[bot]
99d2930f7d
chore(deps): update dependency @oxc-node/core to ^0.0.29 (#2718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 19:55:55 +00:00
renovate[bot]
c63d5acbcf
chore(deps): update dependency sinon to v21 (#2715) 2025-06-13 09:39:10 -07:00
Kevin Deng
e7af6608fc
fix(cli): wasm url in binding files (#2710) 2025-06-11 12:03:32 -07:00
LongYinan
e9835c4e75
chore(cli): link npm cli issues in native binding load errors (#2707)
* chore(cli): link npm cli issues in native binding load errors

* run fmt
2025-06-11 12:02:19 -07:00
renovate[bot]
a48b6b1fc9
chore(deps): update dependency @oxc-node/core to ^0.0.28 (#2702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 08:21:20 +00:00
LongYinan
54935e34fa
fix(napi-derive): panic while creating type definition when Rust comment contains escape syntax (#2701) 2025-06-08 18:25:09 +08:00
LongYinan
814bc79412
fix(napi-derive): using js_name generating wrong type defs (#2700)
This commit introduces two main changes:

1.  Refactors the variable names used during the creation of
    `NapiStruct` in `crates/macro/src/parser/mod.rs`. The goal is to
    make the source of `NapiStruct.name` (the Rust identifier) and
    `NapiStruct.js_name` (the JavaScript name, potentially from a
    `#[napi(js_name = "...")]` attribute) more explicit. This change
    is primarily for code readability and maintainability. The core
    logic remains the same.

2.  Adds a new test case to `examples/napi` to specifically verify
    the behavior of `#[napi(js_name = "...")]` on structs. This
    includes:
    - A new Rust struct `OriginalRustNameForJsNamedStruct` in
      `examples/napi/src/class.rs` decorated with
      `#[napi(js_name = "MyJsNamedClass")]`.
    - Corresponding tests in `examples/napi/__tests__/values.spec.ts`
      that check for correct class instantiation, method calls, and
      type alias generation (`OriginalRustNameForJsNamedStruct` as an
      alias for `MyJsNamedClass`).

Note: I encountered some issues running the full build and tests for the example due to pre-commit hooks in the testing environment that I couldn't bypass. However, I believe the changes are correct based on static analysis and focused checks.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-08 17:14:57 +08:00
Hana
e31b898a35
feat(napi): support setting error_status of ThreadsafeFunctionBuilder (#2695) 2025-06-06 16:27:52 +08:00
Hana
0a90c8a8f2
feat(napi): support build_threadsafe_function variant with error status (#2694) 2025-06-05 21:35:18 +08:00
LongYinan
a79f9846b6
fix(cli): dtsHeader option merge orders 2025-06-03 19:59:52 +08:00
LongYinan
4629423a5f
chore: update tests fixture 2025-06-03 19:53:48 +08:00
liuyi
d874a46647
fix: type generation for shared libs (#2684) 2025-06-03 19:19:29 +08:00
LongYinan
d5a16483c5
fix(napi-derive): Either<f64, u32> should generate number ts type (#2683) 2025-06-02 23:53:14 +08:00
Hana
f4731bb566
feat!(napi): support custom tsfn result error code (#2672) 2025-06-02 22:47:50 +08:00
LongYinan
b93bdfd3eb
test: stress test on aarch64 linux gnu platform (#2662)
* test: stress test on aarch64 linux gnu platform

* remove configs in yarnrc

* clippy
2025-06-02 22:45:01 +08:00
Cong-Cong Pan
9173e8eb28
feat!(napi): define propertes support symbol as name (#2673)
* feat: define properties support symbol as name

* fix

* fix
2025-05-30 23:37:19 +08:00
LongYinan
3a720f09cf
feat(sys): sync Node-API version changes (#2661)
* feat(sys): sync Node-API version changes

* upgrade electron

* move node_api_create_buffer_from_arraybuffer to experimental
2025-05-25 00:48:56 +08:00
LongYinan
f8fab45de7
feat(napi): serialize BigInt to serde::Value (#2659) 2025-05-24 23:18:40 +08:00
LongYinan
3c5f22001b
fix(napi): wrong error status in ThreadsafeFunction callback (#2656) 2025-05-22 17:24:46 +08:00
LongYinan
7182db3a81
feat(napi): EscapableHandleScope API (#2652) 2025-05-19 19:52:21 +08:00
LongYinan
92b094e487
feat(napi): new handle scope API (#2650) 2025-05-18 23:16:40 +08:00
LongYinan
18816c710c
refactor!(napi): move JsObjectValue into bindgen_runtime (#2649) 2025-05-18 22:29:45 +08:00
LongYinan
a9c8ae0f99
fix(napi-derive): disallow JsValue assign to napi class as a field (#2648) 2025-05-18 21:04:30 +08:00
LongYinan
74f349c180
fix(napi): reuse issue on AbortSignal (#2646)
- Close https://github.com/napi-rs/napi-rs/issues/2141
2025-05-18 15:57:10 +08:00
LongYinan
b1fb82dade
fix!(napi): unsound issues in Error (#2644)
- Close https://github.com/napi-rs/napi-rs/issues/1640
2025-05-17 22:44:24 +08:00
LongYinan
4407678a25
fix(napi-derive): #[cfg_attr(feature = "xxx", napi)] (#2640) 2025-05-17 20:37:36 +08:00
LongYinan
8e481c1eba
style: clippy fix (#2639) 2025-05-16 22:24:11 +08:00
LongYinan
ce990542b9
fix(napi): module_exports binding (#2632) 2025-05-13 19:54:25 +08:00
LongYinan
8cd752db86
feat(napi): support #[napi(module_exports)] (#2631) 2025-05-13 17:47:52 +08:00
LongYinan
7a972425b8
fix(napi): nested Either and Promise validate logic (#2625)
- Close https://github.com/napi-rs/napi-rs/issues/2578
2025-05-12 00:33:14 +08:00
LongYinan
653212ac7a
fix(napi): unused warning on JsString::from_raw (#2622)
* fix(napi): unused warning on JsString::from_raw

* Fix compile
2025-05-11 22:18:47 +08:00
LongYinan
9de545e7a2
refactor!(napi): add lifetime to Object (#2619) 2025-05-11 19:51:29 +08:00
LongYinan
813c51e16a
refactor!(napi): move depracated types behind compat-mode feature flag (#2612) 2025-05-07 22:34:26 +08:00
LongYinan
23e9de2caa
refactor!(napi): add lifetime to Unkonwn (#2611)
Remove JsUnknown
2025-05-07 22:32:24 +08:00
LongYinan
ed9ca20daa
refactor!(napi): add lifetime for JsSymbol (#2610) 2025-05-07 20:12:19 +08:00
LongYinan
8f852442cf
test: fix bun test runner (#2607) 2025-05-07 00:06:07 +08:00
LongYinan
95832ff168
refactor!(napi): introduce JsValue and JsObjectValue trait (#2606)
Add lifetime for JsGlobal JsTimeout and JSON
2025-05-06 23:45:37 +08:00
LongYinan
bcf5e14aa8
feat(napi): add from_napi_value for Ref<T: FromNapiValue> (#2603) 2025-05-05 23:38:46 +08:00
LongYinan
55bed7e3fb
test(example): join all threads before return (#2600) 2025-05-05 14:30:53 +08:00
LongYinan
674d7c7b56
refactor!(napi): add lifetime to Array (#2599) 2025-05-05 14:16:53 +08:00
renovate[bot]
407a400ca0
chore(deps): update dependency @oxc-node/core to ^0.0.27 (#2595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-03 16:17:48 +00:00
renovate[bot]
4baae8dfb2
chore(deps): update dependency @oxc-node/core to ^0.0.25 (#2588)
* chore(deps): update dependency @oxc-node/core to ^0.0.25

* Update oxnode

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-05-03 08:55:22 +00:00
renovate[bot]
69a092eb43
chore(deps): update dependency electron to v36 (#2577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-03 15:51:53 +08:00
renovate[bot]
a495e55e84
chore(deps): update dependency @oxc-node/core to ^0.0.24 (#2576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 17:00:37 +00:00
Cong-Cong Pan
0ce726d9c7
feat(napi): serde value ref to napi_value (#2550)
* perf: convert serde value ref to napi_value

* chore: add test case

* fix: snapshot
2025-04-10 16:17:59 +08:00
renovate[bot]
9edd39a037
chore(deps): update dependency @oxc-node/core to ^0.0.23 (#2552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 03:13:17 +00:00
LongYinan
ff2c64b35d
chore: clippy fix (#2545) 2025-04-04 13:52:49 +08:00