242 Commits

Author SHA1 Message Date
LongYinan
2ceecf6ea1
chore(napi): Promise and ThreadsafeFunction::call_async don't require tokio (#2998) 2025-11-07 15:10:31 +08:00
github-actions[bot]
0db7ceb47d
chore: release (#2913)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-24 09:47:01 +08:00
khj809
694db41895
feat(napi-derive): add discriminant_case to allow changing case of discriminant (#2960) 2025-10-23 10:25:17 +08:00
LongYinan
637e3e7a34
chore(napi): bump rust-version (#2966) 2025-10-21 00:12:39 +08:00
renovate[bot]
7ea726b485
fix(deps): update rust crate ctor to v0.6.0 (#2951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-08 21:37:00 +00:00
github-actions[bot]
2cb9c17e1c
chore: release (#2893)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-08 15:02:06 +08:00
github-actions[bot]
93ad5ab916
chore: release (#2882)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-16 17:07:19 +08:00
github-actions[bot]
264a8797c8
chore: release v3.2.3 (#2866) 2025-08-13 10:13:04 -07:00
LongYinan
cdfef770e3
fix(napi): link issue on cargo test --features noop (#2872) 2025-08-13 10:08:09 -07:00
renovate[bot]
3cf39a7005
fix(deps): update rust crate ctor to v0.5.0 (#2865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 17:59:10 +00:00
github-actions[bot]
fa5fa53a76
chore: release (#2858)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-09 23:05:46 +08:00
github-actions[bot]
ce1fdbcdeb
chore: release (#2848)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 20:21:05 +08:00
github-actions[bot]
fa9d578d3b
chore: release (#2843)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-07 23:39:50 +08:00
Mikaël Francoeur
83389a186b
feat(napi): add ScopeGenerator trait (#2831)
* add lifetime to iterator

* Add ScopedIterator

* fix type gen

* Clippy fix

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-08-07 21:44:01 +08:00
Mikaël Francoeur
88fca29e3b
feat: make generator an iterator (#2784)
* make the generator an iterator

* add JSDoc for generators

* prevent naming conflicts

* add JSDoc struct

* update snapshot

* clippy

* Update typedef

* update fmt

* Apply code review

* test compatible

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-08-07 08:03:37 +00:00
github-actions[bot]
a40e2368e6
chore: release (#2814)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-30 11:56:41 +08:00
github-actions[bot]
da45fc2d30
chore(napi): release v3.1.2 (#2795)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 18:02:31 +08:00
github-actions[bot]
03805d1d3a
chore: release (#2788)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-21 16:12:40 +08:00
LongYinan
1ca2bad43f
feat(napi): provide ScopedTask to resolve JsValue with lifetime (#2786) 2025-07-21 13:55:44 +08:00
LongYinan
c657665a01
ci: pin release-plz action 2025-07-21 10:39:48 +08:00
LongYinan
a9dc138aa0
Release independent packages
- napi@3.0.0
- napi-derive@3.0.0
- napi-sys@3.0.0
2025-07-17 17:40:38 +08:00
LongYinan
b5fa1ff688
Release independent packages
- napi@3.0.0-beta.12
- napi-derive@3.0.0-beta.12
2025-07-04 22:50:28 +08:00
LongYinan
7e34e30b66
feat!(napi): create function from #[napi] fn (#2757) 2025-07-02 16:54:31 +08:00
LongYinan
caf0400090
Release independent packages
- napi@3.0.0-beta.11
- napi-derive@3.0.0-beta.11
2025-06-30 17:12:39 +08:00
LongYinan
3898211b3a
Release independent packages
- napi@3.0.0-beta.10
- napi-derive@3.0.0-beta.10
2025-06-25 16:06:28 +08:00
LongYinan
8c3db48686
style: run clippy on nightly Rust (#2744) 2025-06-25 13:55:11 +08:00
LongYinan
b40aaa8d71
Release independent packages
- napi@3.0.0-beta.9
- napi-derive@3.0.0-beta.9
2025-06-24 16:33:32 +08:00
LongYinan
668b53e849
Release independent packages
- napi@3.0.0-beta.8
- napi-derive@3.0.0-beta.8
2025-06-08 21:44:17 +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
LongYinan
8256b9515e
Release independent packages
- napi@3.0.0-beta.6
- napi-derive@3.0.0-beta.6
- napi-build@3.0.0-beta.0
2025-06-04 18:24:11 +08:00
LongYinan
a8d39e98df
Release independent packages
- napi@3.0.0-beta.5
- napi-derive@3.0.0-beta.5
2025-06-04 17:07:12 +08:00
liuyi
5a17b88636
fix: revalidate shared libs if type def not found (#2689) 2025-06-04 15:05:24 +08:00
LongYinan
375b32b2b1
chore: clippy fix 2025-06-03 20:18:57 +08:00
LongYinan
9dd929db4a
chore: update napi-derive-backend version in napi-derive 2025-06-03 19:41:59 +08:00
LongYinan
2f64f200da
Release independent packages
- napi@3.0.0-beta.4
- napi-derive@3.0.0-beta.4
2025-06-03 19:25:47 +08:00
liuyi
d874a46647
fix: type generation for shared libs (#2684) 2025-06-03 19:19:29 +08:00
LongYinan
6fd2f0d962
Release independent packages
- napi@3.0.0-beta.3
- napi-sys@3.0.0-alpha.2
- napi-derive@3.0.0-beta.3
2025-05-29 23:14:41 +08:00
LongYinan
abf041542c
Release independent packages
- napi@3.0.0-beta.2
- napi-derive@3.0.0-beta.2
2025-05-22 20:04:41 +08:00
LongYinan
62a1051589
Release independent packages
- napi@3.0.0-beta.1
- napi-derive@3.0.0-beta.1
2025-05-19 19:53:20 +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
0dd473d52b
style(napi-derive): clippy fix (#2647) 2025-05-18 16:08:28 +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
bbe3666233
Release independent packages
- napi@3.0.0-beta.0
- napi-derive@3.0.0-beta.0
- napi-build@2.2.0
2025-05-16 22:51:58 +08:00
LongYinan
21982a1508
feat(napi-derive): auto invalid type gen (#2638) 2025-05-16 22:30:27 +08:00
LongYinan
5d360e89fc
chore(cli): remove outdated WASI_REGISTER_TMP_PATH (#2633) 2025-05-14 15:24:33 +08:00
LongYinan
8cd752db86
feat(napi): support #[napi(module_exports)] (#2631) 2025-05-13 17:47:52 +08:00
LongYinan
ff2c64b35d
chore: clippy fix (#2545) 2025-04-04 13:52:49 +08:00
LongYinan
2b27a42893
Release independent packages
- napi@3.0.0-alpha.32
- napi-derive@3.0.0-alpha.29
2025-03-17 00:11:41 +08:00
CPunisher
511b0da174
fix(napi-derive): add object_from_js and object_to_js support for enum (#2489) 2025-03-03 15:06:20 +08:00