Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(napi): handle panic in async block #2050

Merged
merged 1 commit into from
Apr 17, 2024

Conversation

Brooooooklyn
Copy link
Member

@Brooooooklyn Brooooooklyn commented Apr 17, 2024

Copy link
Member Author

Brooooooklyn commented Apr 17, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Brooooooklyn and the rest of your teammates on Graphite Graphite

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 34cc3c5 Previous: 3187e30 Ratio
noop#napi-rs 86442698 ops/sec (±0.12%) 85578022 ops/sec (±0.66%) 0.99
noop#JavaScript 818848149 ops/sec (±0.06%) 818928635 ops/sec (±0.27%) 1.00
Plus number#napi-rs 20144814 ops/sec (±0.15%) 18920035 ops/sec (±0.43%) 0.94
Plus number#JavaScript 813878592 ops/sec (±0.37%) 818038762 ops/sec (±0.22%) 1.01
Create buffer#napi-rs 628882 ops/sec (±13.35%) 621002 ops/sec (±13.96%) 0.99
Create buffer#JavaScript 2954606 ops/sec (±2.68%) 2964256 ops/sec (±3.16%) 1.00
createArray#createArrayJson 53520 ops/sec (±0.46%) 52184 ops/sec (±1.12%) 0.98
createArray#create array for loop 10344 ops/sec (±0.41%) 10317 ops/sec (±0.6%) 1.00
createArray#create array with serde trait 10389 ops/sec (±0.59%) 10253 ops/sec (±0.93%) 0.99
getArrayFromJs#get array from json string 23781 ops/sec (±0.56%) 23484 ops/sec (±0.55%) 0.99
getArrayFromJs#get array from serde 12686 ops/sec (±0.13%) 13230 ops/sec (±0.5%) 1.04
getArrayFromJs#get array with for loop 14824 ops/sec (±0.85%) 15889 ops/sec (±0.46%) 1.07
Get Set property#Get Set from native#u32 584947 ops/sec (±12.47%) 554022 ops/sec (±13.99%) 0.95
Get Set property#Get Set from JavaScript#u32 539847 ops/sec (±2.93%) 549140 ops/sec (±2.56%) 1.02
Get Set property#Get Set from native#string 560431 ops/sec (±11.67%) 594797 ops/sec (±2.02%) 1.06
Get Set property#Get Set from JavaScript#string 519759 ops/sec (±2%) 513098 ops/sec (±2.15%) 0.99
Async task#spawn task 26167 ops/sec (±0.41%) 25920 ops/sec (±0.45%) 0.99
Async task#ThreadSafeFunction 8753 ops/sec (±1.08%) 8821 ops/sec (±1.01%) 1.01
Async task#Tokio future to Promise 34173 ops/sec (±0.92%) 31152 ops/sec (±1.29%) 0.91
Query#query * 100 3601 ops/sec (±1.5%) 3853 ops/sec (±0.58%) 1.07
Query#query * 1 26665 ops/sec (±0.69%) 25934 ops/sec (±1.78%) 0.97

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

Verified

This commit was signed with the committer’s verified signature. The key has expired.
Brooooooklyn LongYinan
@Brooooooklyn Brooooooklyn force-pushed the 04-17-fix_napi_handle_panic_in_async_block branch 2 times, most recently from 7ca97fd to 34cc3c5 Compare April 17, 2024 15:02
@Brooooooklyn Brooooooklyn merged commit 8f5d7e5 into main Apr 17, 2024
97 of 99 checks passed
@Brooooooklyn Brooooooklyn deleted the 04-17-fix_napi_handle_panic_in_async_block branch April 17, 2024 15:34
Copy link
Member Author

Merge activity

Brooooooklyn added a commit that referenced this pull request Apr 18, 2024

Verified

This commit was signed with the committer’s verified signature. The key has expired.
Brooooooklyn LongYinan
- Close #2047
kodiakhq bot referenced this pull request in X-oss-byte/Canary-nextjs May 2, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [napi](https://togithub.com/napi-rs/napi-rs) | dependencies | minor | `2` -> `2.16.4` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (napi)</summary>

### [`v2.16.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.16.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.3...napi@2.16.4)

#### What changed

-   feat(napi): allow user defined tokio runtime by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  [#&#8203;2040](https://togithub.com/napi-rs/napi-rs/issues/2040)
-   fix(napi): handle panic in async block by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  ([https://github.com/napi-rs/napi-rs/pull/2050](https://togithub.com/napi-rs/napi-rs/pull/2050))

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.2...napi@2.16.4

### [`v2.16.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.2...napi@2.16.3)

#### What Changed

-   fix(napi-derive): bail the unexpected factory directive by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  [#&#8203;2051](https://togithub.com/napi-rs/napi-rs/issues/2051)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.4...napi-derive@2.16.3

### [`v2.16.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.1...napi@2.16.2)

##### What's Changed

-   feat(napi-derive): enhance the error messages in object validator by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2034](https://togithub.com/napi-rs/napi-rs/pull/2034)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.16.1...napi-derive@2.16.2

### [`v2.16.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.0...napi@2.16.1)

#### What's Changed

-   feat(napi-derive): add optional enum_string case conversion by [@&#8203;andrewtoth](https://togithub.com/andrewtoth) in [https://github.com/napi-rs/napi-rs/pull/1995](https://togithub.com/napi-rs/napi-rs/pull/1995)

#### New Contributors

-   [@&#8203;andrewtoth](https://togithub.com/andrewtoth) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1995](https://togithub.com/napi-rs/napi-rs/pull/1995)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.16.0...napi-derive@2.16.1

### [`v2.16.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.4...napi@2.16.0)

#### What's Changed

-   feat(napi-derive): add use_nullable attribute by [@&#8203;sup39](https://togithub.com/sup39) in [https://github.com/napi-rs/napi-rs/pull/1971](https://togithub.com/napi-rs/napi-rs/pull/1971)
-   style(napi-derive): clippy fix by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1976](https://togithub.com/napi-rs/napi-rs/pull/1976)
-   fix(napi-derive): HashMap/IndexMap and slice generated types by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1977](https://togithub.com/napi-rs/napi-rs/pull/1977)
-   fix(napi-derive): wrong dependency condition by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1980](https://togithub.com/napi-rs/napi-rs/pull/1980)

#### New Contributors

-   [@&#8203;sup39](https://togithub.com/sup39) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1971](https://togithub.com/napi-rs/napi-rs/pull/1971)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.4...napi-derive@2.16.0

### [`v2.15.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.15.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.2...napi@2.15.4)

#### What's Changed

-   fix(napi): no hard fail on ThreadsafeFunction::call_async by [@&#8203;lbarthon](https://togithub.com/lbarthon) in [https://github.com/napi-rs/napi-rs/pull/1970](https://togithub.com/napi-rs/napi-rs/pull/1970)
-   fix(napi): JsObject.add_finalizer callback being allowed to reference non-static things by [@&#8203;tomb-msft](https://togithub.com/tomb-msft) in [https://github.com/napi-rs/napi-rs/pull/1968](https://togithub.com/napi-rs/napi-rs/pull/1968)

#### New Contributors

-   [@&#8203;tomb-msft](https://togithub.com/tomb-msft) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1968](https://togithub.com/napi-rs/napi-rs/pull/1968)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.3...napi@2.15.4

### [`v2.15.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.15.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.1...napi@2.15.2)

#### What's Changed

-   feat(napi): extends the Map types interoperability by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1950](https://togithub.com/napi-rs/napi-rs/pull/1950)
-   feat(napi): accept slice as TypedArray by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1951](https://togithub.com/napi-rs/napi-rs/pull/1951)
-   style: apply clippy fix by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1953](https://togithub.com/napi-rs/napi-rs/pull/1953)
-   fix(napi): memory leak while using Reference by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1954](https://togithub.com/napi-rs/napi-rs/pull/1954)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.38...napi@2.15.2

### [`v2.15.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.15.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.0...napi@2.15.1)

#### What's Changed

-   fix(napi): Fix buffer corruption and soundness issues by [@&#8203;Janrupf](https://togithub.com/Janrupf) in [https://github.com/napi-rs/napi-rs/pull/1923](https://togithub.com/napi-rs/napi-rs/pull/1923)
-   fix(napi): in "Object::get", return null values wrapped in a "Some" by [@&#8203;jkomyno](https://togithub.com/jkomyno) in [https://github.com/napi-rs/napi-rs/pull/1934](https://togithub.com/napi-rs/napi-rs/pull/1934)

#### New Contributors

-   [@&#8203;Janrupf](https://togithub.com/Janrupf) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1923](https://togithub.com/napi-rs/napi-rs/pull/1923)
-   [@&#8203;jkomyno](https://togithub.com/jkomyno) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1934](https://togithub.com/napi-rs/napi-rs/pull/1934)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.0...napi@2.15.1

### [`v2.15.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.15.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.4...napi@2.15.0)

#### What's Changed

-   fix(napi): callback in execute_tokio_future does not need to be Send by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1917](https://togithub.com/napi-rs/napi-rs/pull/1917)
-   feat(napi): new Function/FunctionRef API by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1913](https://togithub.com/napi-rs/napi-rs/pull/1913)
-   chore(napi): delete unwrap_from_ref API because it was never work by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1915](https://togithub.com/napi-rs/napi-rs/pull/1915)
-   fix(napi): memory issue while creating external buffer on electron by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1921](https://togithub.com/napi-rs/napi-rs/pull/1921)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.14.4...napi@2.15.0

### [`v2.14.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.14.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.3...napi@2.14.4)

#### What's changed

-   fix(napi): future in block_on do not need to be send [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)   napi-rs/napi-rs@e332270

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.14.3...napi@2.14.4

### [`v2.14.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.14.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.2...napi@2.14.3)

#### What's Changed

-   fix(napi): block_on type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1911](https://togithub.com/napi-rs/napi-rs/pull/1911)
-   chore(napi): expose spawn_blocking on tokio runtime by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1912](https://togithub.com/napi-rs/napi-rs/pull/1912)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.35...napi@2.14.3

### [`v2.14.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.14.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2)

#### What's Changed

-   test(napi): decrease the worker sizes on Linux x64 musl platform by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1823](https://togithub.com/napi-rs/napi-rs/pull/1823)
-   fix(napi): apply clippy suggestions by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1878](https://togithub.com/napi-rs/napi-rs/pull/1878)
-   chore(napi): add status to error messages in AsyncWork by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1880](https://togithub.com/napi-rs/napi-rs/pull/1880)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2

### [`v2.14.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.0...napi@2.14.1)

#### What's Changed

-   fix(napi-derive): async task void output type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1795](https://togithub.com/napi-rs/napi-rs/pull/1795)
-   fix(napi-derive): async task optional output type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1796](https://togithub.com/napi-rs/napi-rs/pull/1796)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-sys@2.3.0...napi-derive@2.14.1

### [`v2.14.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.3...napi@2.14.0)

#### What's Changed

-   fix(napi-derive): throw **is not a valid identifier** when generating getters and setters by [@&#8203;yoogoc](https://togithub.com/yoogoc) in [https://github.com/napi-rs/napi-rs/pull/1701](https://togithub.com/napi-rs/napi-rs/pull/1701)
-   feat: integrate with emnapi, support **wasm32-wasi-preview1-threads** target by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1669](https://togithub.com/napi-rs/napi-rs/pull/1669)

### [`v2.13.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.13.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.2...napi@2.13.3)

#### What's Changed

-   Fix promise resolve error by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1664](https://togithub.com/napi-rs/napi-rs/pull/1664)
-   feat(napi): impl FromNapiValue for HashMap with custom hasher by [@&#8203;arucil](https://togithub.com/arucil) in [https://github.com/napi-rs/napi-rs/pull/1682](https://togithub.com/napi-rs/napi-rs/pull/1682)

#### New Contributors

-   [@&#8203;H4ad](https://togithub.com/H4ad) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1660](https://togithub.com/napi-rs/napi-rs/pull/1660)
-   [@&#8203;arucil](https://togithub.com/arucil) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1682](https://togithub.com/napi-rs/napi-rs/pull/1682)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.5...napi@2.13.3

### [`v2.13.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.13.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.1...napi@2.13.2)

#### What's Changed

-   docs(README): update platform support status by [@&#8203;kxxt](https://togithub.com/kxxt) in [https://github.com/napi-rs/napi-rs/pull/1607](https://togithub.com/napi-rs/napi-rs/pull/1607)
-   chore(deps): update dependency electron to v25 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1610](https://togithub.com/napi-rs/napi-rs/pull/1610)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1612](https://togithub.com/napi-rs/napi-rs/pull/1612)
-   chore(deps): update yarn to v3.6.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1614](https://togithub.com/napi-rs/napi-rs/pull/1614)
-   chore: remove extra #\[cfg] attribute by [@&#8203;aqrln](https://togithub.com/aqrln) in [https://github.com/napi-rs/napi-rs/pull/1616](https://togithub.com/napi-rs/napi-rs/pull/1616)
-   chore(deps): update dependency electron to v25.1.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1617](https://togithub.com/napi-rs/napi-rs/pull/1617)
-   fix(napi): impl send + sync for ThreadsafeFunction by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1622](https://togithub.com/napi-rs/napi-rs/pull/1622)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.13.1...napi@2.13.2

### [`v2.13.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.13.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.0...napi@2.13.1)

#### What's Changed

-   fix(napi): missing ValidateNapiValue for JsObject by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1606](https://togithub.com/napi-rs/napi-rs/pull/1606)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.13.0...napi@2.13.1

### [`v2.13.0`](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.12.5...napi-derive@2.13.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.7...napi@2.13.0)

### [`v2.12.7`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.12.7)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.6...napi@2.12.7)

#### What's Changed

-   chore(deps): update dependency electron to v24.1.3 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1578](https://togithub.com/napi-rs/napi-rs/pull/1578)
-   chore(deps): update yarn to v3.5.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1579](https://togithub.com/napi-rs/napi-rs/pull/1579)
-   chore(deps): update dependency electron to v24.2.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1580](https://togithub.com/napi-rs/napi-rs/pull/1580)
-   feat(cli): add --use-cross command for building with `cross` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/napi-rs/napi-rs/pull/1584](https://togithub.com/napi-rs/napi-rs/pull/1584)
-   chore(deps): update dependency [@&#8203;rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v25 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1588](https://togithub.com/napi-rs/napi-rs/pull/1588)
-   chore(deps): update dependency electron to v24.3.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1587](https://togithub.com/napi-rs/napi-rs/pull/1587)
-   chore(example): add callback return promise by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1590](https://togithub.com/napi-rs/napi-rs/pull/1590)
-   chore(deps): update dependency electron to v24.3.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1593](https://togithub.com/napi-rs/napi-rs/pull/1593)
-   feat(napi): Bigint deserialization by [@&#8203;JanisGailis](https://togithub.com/JanisGailis) in [https://github.com/napi-rs/napi-rs/pull/1592](https://togithub.com/napi-rs/napi-rs/pull/1592)

#### New Contributors

-   [@&#8203;Boshen](https://togithub.com/Boshen) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1584](https://togithub.com/napi-rs/napi-rs/pull/1584)
-   [@&#8203;JanisGailis](https://togithub.com/JanisGailis) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1592](https://togithub.com/napi-rs/napi-rs/pull/1592)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.5...napi@2.12.7

### [`v2.12.6`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.12.6)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.5...napi@2.12.6)

#### What's Changed

-   chore(napi): adds support for `Rc / Arc / Mutex` by [@&#8203;arcanis](https://togithub.com/arcanis) in [https://github.com/napi-rs/napi-rs/pull/1573](https://togithub.com/napi-rs/napi-rs/pull/1573)

#### New Contributors

-   [@&#8203;arcanis](https://togithub.com/arcanis) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1573](https://togithub.com/napi-rs/napi-rs/pull/1573)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.12.5...napi@2.12.6

### [`v2.12.5`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.5)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.4...napi@2.12.5)

#### What's Changed

-   fix(napi-derive): increase initial ref count in async fn by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1577](https://togithub.com/napi-rs/napi-rs/pull/1577)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.4...napi-derive@2.12.5

### [`v2.12.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.3...napi@2.12.4)

#### What's Changed

-   feat: clean napi-derive **noop** feature code path by [@&#8203;forehalo](https://togithub.com/forehalo) in [https://github.com/napi-rs/napi-rs/pull/1571](https://togithub.com/napi-rs/napi-rs/pull/1571)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.12.5...napi-derive@2.12.4

### [`v2.12.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.2...napi@2.12.3)

#### Core features

```rust

#[napi(string_enum)]
pub enum Status {
  Pristine,
  Loading,
  Ready,
}
```

⬇️⬇️⬇️⬇️⬇️

```ts
export const enum Status {
  Pristine = 'Pristine',
  Loading = 'Loading',
  Ready = 'Ready'
}
```

#### What's Changed

-   feat(napi-derive): add support for string enums by [@&#8203;nebarf](https://togithub.com/nebarf) in [https://github.com/napi-rs/napi-rs/pull/1551](https://togithub.com/napi-rs/napi-rs/pull/1551)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.2...napi-derive@2.12.3

### [`v2.12.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.1...napi@2.12.2)

#### What's Changed

-   fix(cli,napi-derive): backward compatible with older cli with [#&#8203;1531](https://togithub.com/napi-rs/napi-rs/issues/1531) by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1536](https://togithub.com/napi-rs/napi-rs/pull/1536)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.1...napi-derive@2.12.2

### [`v2.12.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.0...napi@2.12.1)

#### What's Changed

-   fix(cli,napi-derive): re-export types from shared crate by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1531](https://togithub.com/napi-rs/napi-rs/pull/1531)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.0...napi-derive@2.12.1

### [`v2.12.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.12.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.11.4...napi@2.12.0)

#### What's Changed

-   feat: export registers in wasm32 target by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1529](https://togithub.com/napi-rs/napi-rs/pull/1529)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.11.4...napi-derive@2.12.0

### [`v2.11.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.11.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.11.3...napi@2.11.4)

#### What's Changed

-   fix(napi):  prevent access to tsfn-raw after env's destroyed([#&#8203;1514](https://togithub.com/napi-rs/napi-rs/issues/1514)) by [@&#8203;HotQ](https://togithub.com/HotQ) in [https://github.com/napi-rs/napi-rs/pull/1515](https://togithub.com/napi-rs/napi-rs/pull/1515)

#### New Contributors

-   [@&#8203;HotQ](https://togithub.com/HotQ) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1515](https://togithub.com/napi-rs/napi-rs/pull/1515)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.11.3...napi@2.11.4

### [`v2.11.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.11.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.11.2...napi@2.11.3)

#### What's Changed

-   fix(napi): display should be implemented on error generics with `Debug` by [@&#8203;h-a-n-a](https://togithub.com/h-a-n-a) in [https://github.com/napi-rs/napi-rs/pull/1497](https://togithub.com/napi-rs/napi-rs/pull/1497)
-   feat(napi): expose `uv_run` by [@&#8203;MarkusJx](https://togithub.com/MarkusJx) in [https://github.com/napi-rs/napi-rs/pull/1499](https://togithub.com/napi-rs/napi-rs/pull/1499)
-   test(napi): tests for custom gc in worker_threads by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1505](https://togithub.com/napi-rs/napi-rs/pull/1505)
-   chore(napi): remove thread_local from dependenies by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1506](https://togithub.com/napi-rs/napi-rs/pull/1506)
-   build: add libc++ in aarch64-linux-gnu Docker by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1511](https://togithub.com/napi-rs/napi-rs/pull/1511)
-   chore: ci components upgrade by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1512](https://togithub.com/napi-rs/napi-rs/pull/1512)
-   fix(napi): panic when `Promise` callbacks trigger after Promise is dropped by [@&#8203;pose](https://togithub.com/pose) in [https://github.com/napi-rs/napi-rs/pull/1516](https://togithub.com/napi-rs/napi-rs/pull/1516)

#### New Contributors

-   [@&#8203;MarkusJx](https://togithub.com/MarkusJx) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1499](https://togithub.com/napi-rs/napi-rs/pull/1499)
-   [@&#8203;pose](https://togithub.com/pose) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1516](https://togithub.com/napi-rs/napi-rs/pull/1516)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.11.1...napi@2.11.3

### [`v2.11.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.11.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.11.1...napi@2.11.2)

#### What's Changed

-   chore(napi-derive): remove thread_local from dependenies by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1506](https://togithub.com/napi-rs/napi-rs/pull/1506)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.11.1...napi-derive@2.11.2

### [`v2.11.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.11.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.11.0...napi@2.11.1)

#### Changes

-   Part of https://github.com/napi-rs/napi-rs/releases/tag/%40napi-rs%2Fcli%402.14.8 by [@&#8203;forehalo](https://togithub.com/forehalo)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;2](https://togithub.com/2).14.8...napi-derive@2.11.1

### [`v2.11.0`](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.10.1...napi-derive@2.11.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.17...napi@2.11.0)

### [`v2.10.17`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.17)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.16...napi@2.10.17)

#### What's Changed

-   [fix(napi): impl Send Sync to External](https://togithub.com/napi-rs/napi-rs/commit/c34ccc9131ee75a9dae750b98926fbb9906d8f7c) by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.16...napi@2.10.17

### [`v2.10.16`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.16)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.15...napi@2.10.16)

#### What's Changed

-   fix(napi): dropping Error should not call sys if feature is set to noop by [@&#8203;h-a-n-a](https://togithub.com/h-a-n-a) in [https://github.com/napi-rs/napi-rs/pull/1477](https://togithub.com/napi-rs/napi-rs/pull/1477)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.15...napi@2.10.16

### [`v2.10.15`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.15)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.14...napi@2.10.15)

#### What's Changed

-   build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/napi-rs/napi-rs/pull/1472](https://togithub.com/napi-rs/napi-rs/pull/1472)
-   chore(napi): enhance the error messages while converting types failed by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1473](https://togithub.com/napi-rs/napi-rs/pull/1473)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;2](https://togithub.com/2).14.6...napi@2.10.15

### [`v2.10.14`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.14)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.13...napi@2.10.14)

#### What's Changed

-   fix(napi): run_script return type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1467](https://togithub.com/napi-rs/napi-rs/pull/1467)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.13...napi@2.10.14

### [`v2.10.13`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.13)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.12...napi@2.10.13)

#### What's Changed

-   fix(napi): also apply electron external data fallback to lowlevel APIs by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1458](https://togithub.com/napi-rs/napi-rs/pull/1458)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.12...napi@2.10.13

### [`v2.10.12`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.12)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.11...napi@2.10.12)

#### What's Changed

-   fix(napi): add missing NoExternalBuffersAllowed by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1457](https://togithub.com/napi-rs/napi-rs/pull/1457)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.11...napi@2.10.12

### [`v2.10.11`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.11)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.10...napi@2.10.11)

#### What's Changed

-   fix(napi): fallback to copy arraybuffer if zero copy is not allowed by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1455](https://togithub.com/napi-rs/napi-rs/pull/1455)

#### Background

Electron disallowed the `create_external_xxx` API since `electron@21`: https://www.electronjs.org/blog/v8-memory-cage
NAPI-RS will fallback to use `create_buffer_copy` if `napi_create_external_buffer` return the `napi_no_external_buffers_allowed` status.

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.10.10...napi@2.10.11

### [`v2.10.10`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.10.10)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.10.9...napi@2.10.10)

#### What's Changed

-   chore(napi): implement FromNapiValue for ThreadsafeFunction by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1447](https://togithub.com/napi-rs/napi-rs/pull/1447)
-   fix(napi): throw fatal error if cast return value failed by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1450](https://togithub.com/napi-rs/napi-rs/pull/1450)
-   fix(napi): add UnknownReturnValue to use in call_async scenario by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1451](https://togithub.com/napi-rs/napi-rs/pull/1451)
-   fix(napi): unhandled promise rejection while using `EitherN<Promise<..>>` by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1452](https://togithub.com/napi-rs/napi-rs/pull/1452)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;2](https://togithub.com/2).14.4...napi@2.10.10

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Canary-nextjs).
kodiakhq bot referenced this pull request in X-oss-byte/Nextjs May 3, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [napi](https://togithub.com/napi-rs/napi-rs) | dependencies | minor | `2` -> `2.16.4` |

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (napi)</summary>

### [`v2.16.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.16.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.3...napi@2.16.4)

#### What changed

-   feat(napi): allow user defined tokio runtime by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  [#&#8203;2040](https://togithub.com/napi-rs/napi-rs/issues/2040)
-   fix(napi): handle panic in async block by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  ([https://github.com/napi-rs/napi-rs/pull/2050](https://togithub.com/napi-rs/napi-rs/pull/2050))

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.2...napi@2.16.4

### [`v2.16.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.2...napi@2.16.3)

#### What Changed

-   fix(napi-derive): bail the unexpected factory directive by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  [#&#8203;2051](https://togithub.com/napi-rs/napi-rs/issues/2051)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.4...napi-derive@2.16.3

### [`v2.16.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.1...napi@2.16.2)

##### What's Changed

-   feat(napi-derive): enhance the error messages in object validator by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2034](https://togithub.com/napi-rs/napi-rs/pull/2034)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.16.1...napi-derive@2.16.2

### [`v2.16.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.16.0...napi@2.16.1)

#### What's Changed

-   feat(napi-derive): add optional enum_string case conversion by [@&#8203;andrewtoth](https://togithub.com/andrewtoth) in [https://github.com/napi-rs/napi-rs/pull/1995](https://togithub.com/napi-rs/napi-rs/pull/1995)

#### New Contributors

-   [@&#8203;andrewtoth](https://togithub.com/andrewtoth) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1995](https://togithub.com/napi-rs/napi-rs/pull/1995)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.16.0...napi-derive@2.16.1

### [`v2.16.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.16.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.4...napi@2.16.0)

#### What's Changed

-   feat(napi-derive): add use_nullable attribute by [@&#8203;sup39](https://togithub.com/sup39) in [https://github.com/napi-rs/napi-rs/pull/1971](https://togithub.com/napi-rs/napi-rs/pull/1971)
-   style(napi-derive): clippy fix by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1976](https://togithub.com/napi-rs/napi-rs/pull/1976)
-   fix(napi-derive): HashMap/IndexMap and slice generated types by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1977](https://togithub.com/napi-rs/napi-rs/pull/1977)
-   fix(napi-derive): wrong dependency condition by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1980](https://togithub.com/napi-rs/napi-rs/pull/1980)

#### New Contributors

-   [@&#8203;sup39](https://togithub.com/sup39) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1971](https://togithub.com/napi-rs/napi-rs/pull/1971)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.4...napi-derive@2.16.0

### [`v2.15.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.15.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.2...napi@2.15.4)

#### What's Changed

-   fix(napi): no hard fail on ThreadsafeFunction::call_async by [@&#8203;lbarthon](https://togithub.com/lbarthon) in [https://github.com/napi-rs/napi-rs/pull/1970](https://togithub.com/napi-rs/napi-rs/pull/1970)
-   fix(napi): JsObject.add_finalizer callback being allowed to reference non-static things by [@&#8203;tomb-msft](https://togithub.com/tomb-msft) in [https://github.com/napi-rs/napi-rs/pull/1968](https://togithub.com/napi-rs/napi-rs/pull/1968)

#### New Contributors

-   [@&#8203;tomb-msft](https://togithub.com/tomb-msft) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1968](https://togithub.com/napi-rs/napi-rs/pull/1968)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.3...napi@2.15.4

### [`v2.15.2`](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.15.1...napi-derive@2.15.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.1...napi@2.15.2)

### [`v2.15.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.15.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.15.0...napi@2.15.1)

#### What's Changed

-   fix(napi-derive): serde Number typing by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1941](https://togithub.com/napi-rs/napi-rs/pull/1941)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.15.1...napi-derive@2.15.1

### [`v2.15.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.15.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.4...napi@2.15.0)

#### What's Changed

-   feat(napi): new Function/FunctionRef API by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1913](https://togithub.com/napi-rs/napi-rs/pull/1913)
-   fix(napi-derive): JsArrayBuffer generated type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1922](https://togithub.com/napi-rs/napi-rs/pull/1922)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.6...napi-derive@2.15.0

### [`v2.14.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.3...napi@2.14.4)

#### What's Changed

-   fix(napi-derive): upgrade syn by [@&#8203;forehalo](https://togithub.com/forehalo) in [https://github.com/napi-rs/napi-rs/pull/1849](https://togithub.com/napi-rs/napi-rs/pull/1849)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.3...napi-derive@2.14.4

### [`v2.14.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.2...napi@2.14.3)

#### What's Changed

-   fix(napi-derive,cli): register function cross crates by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1848](https://togithub.com/napi-rs/napi-rs/pull/1848)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.15...napi-derive@2.14.3

### [`v2.14.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.1...napi@2.14.2)

#### What's Changed

-   fix(napi-derive): compile warning by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1820](https://togithub.com/napi-rs/napi-rs/pull/1820)
-   fix(napi): compile error for wasm32-unknown-unknown target by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1822](https://togithub.com/napi-rs/napi-rs/pull/1822)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2

### [`v2.14.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.14.0...napi@2.14.1)

#### What's Changed

-   fix(napi-derive): async task void output type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1795](https://togithub.com/napi-rs/napi-rs/pull/1795)
-   fix(napi-derive): async task optional output type by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1796](https://togithub.com/napi-rs/napi-rs/pull/1796)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-sys@2.3.0...napi-derive@2.14.1

### [`v2.14.0`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi-derive%402.14.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.3...napi@2.14.0)

#### What's Changed

-   fix(napi-derive): throw **is not a valid identifier** when generating getters and setters by [@&#8203;yoogoc](https://togithub.com/yoogoc) in [https://github.com/napi-rs/napi-rs/pull/1701](https://togithub.com/napi-rs/napi-rs/pull/1701)
-   feat: integrate with emnapi, support **wasm32-wasi-preview1-threads** target by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1669](https://togithub.com/napi-rs/napi-rs/pull/1669)

### [`v2.13.3`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.13.3)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.2...napi@2.13.3)

#### What's Changed

-   Fix promise resolve error by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1664](https://togithub.com/napi-rs/napi-rs/pull/1664)
-   feat(napi): impl FromNapiValue for HashMap with custom hasher by [@&#8203;arucil](https://togithub.com/arucil) in [https://github.com/napi-rs/napi-rs/pull/1682](https://togithub.com/napi-rs/napi-rs/pull/1682)

#### New Contributors

-   [@&#8203;H4ad](https://togithub.com/H4ad) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1660](https://togithub.com/napi-rs/napi-rs/pull/1660)
-   [@&#8203;arucil](https://togithub.com/arucil) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1682](https://togithub.com/napi-rs/napi-rs/pull/1682)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.5...napi@2.13.3

### [`v2.13.2`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.13.2)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.1...napi@2.13.2)

#### What's Changed

-   docs(README): update platform support status by [@&#8203;kxxt](https://togithub.com/kxxt) in [https://github.com/napi-rs/napi-rs/pull/1607](https://togithub.com/napi-rs/napi-rs/pull/1607)
-   chore(deps): update dependency electron to v25 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1610](https://togithub.com/napi-rs/napi-rs/pull/1610)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1612](https://togithub.com/napi-rs/napi-rs/pull/1612)
-   chore(deps): update yarn to v3.6.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1614](https://togithub.com/napi-rs/napi-rs/pull/1614)
-   chore: remove extra #\[cfg] attribute by [@&#8203;aqrln](https://togithub.com/aqrln) in [https://github.com/napi-rs/napi-rs/pull/1616](https://togithub.com/napi-rs/napi-rs/pull/1616)
-   chore(deps): update dependency electron to v25.1.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1617](https://togithub.com/napi-rs/napi-rs/pull/1617)
-   fix(napi): impl send + sync for ThreadsafeFunction by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1622](https://togithub.com/napi-rs/napi-rs/pull/1622)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.13.1...napi@2.13.2

### [`v2.13.1`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%402.13.1)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.13.0...napi@2.13.1)

##### Bug Fixes

-   **cli:** zig cross armv7 ([#&#8203;1384](https://togithub.com/napi-rs/napi-rs/issues/1384)) ([2abc946](https://togithub.com/napi-rs/napi-rs/commit/2abc94681ecc1010106ae4e2a9c076a9e964094d))

### [`v2.13.0`](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.12.5...napi-derive@2.13.0)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.7...napi@2.13.0)

### [`v2.12.7`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.12.7)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.6...napi@2.12.7)

#### What's Changed

-   chore(deps): update dependency electron to v24.1.3 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1578](https://togithub.com/napi-rs/napi-rs/pull/1578)
-   chore(deps): update yarn to v3.5.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1579](https://togithub.com/napi-rs/napi-rs/pull/1579)
-   chore(deps): update dependency electron to v24.2.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1580](https://togithub.com/napi-rs/napi-rs/pull/1580)
-   feat(cli): add --use-cross command for building with `cross` by [@&#8203;Boshen](https://togithub.com/Boshen) in [https://github.com/napi-rs/napi-rs/pull/1584](https://togithub.com/napi-rs/napi-rs/pull/1584)
-   chore(deps): update dependency [@&#8203;rollup/plugin-commonjs](https://togithub.com/rollup/plugin-commonjs) to v25 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1588](https://togithub.com/napi-rs/napi-rs/pull/1588)
-   chore(deps): update dependency electron to v24.3.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1587](https://togithub.com/napi-rs/napi-rs/pull/1587)
-   chore(example): add callback return promise by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1590](https://togithub.com/napi-rs/napi-rs/pull/1590)
-   chore(deps): update dependency electron to v24.3.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1593](https://togithub.com/napi-rs/napi-rs/pull/1593)
-   feat(napi): Bigint deserialization by [@&#8203;JanisGailis](https://togithub.com/JanisGailis) in [https://github.com/napi-rs/napi-rs/pull/1592](https://togithub.com/napi-rs/napi-rs/pull/1592)

#### New Contributors

-   [@&#8203;Boshen](https://togithub.com/Boshen) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1584](https://togithub.com/napi-rs/napi-rs/pull/1584)
-   [@&#8203;JanisGailis](https://togithub.com/JanisGailis) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1592](https://togithub.com/napi-rs/napi-rs/pull/1592)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@2.12.5...napi@2.12.7

### [`v2.12.6`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.12.6)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi@2.12.5...napi@2.12.6)

#### What's Changed

-   chore(napi): adds support for `Rc / Arc / Mutex` by [@&#8203;arcanis](https://togithub.com/arcanis) in [https://github.com/napi-rs/napi-rs/pull/1573](https://togithub.com/napi-rs/napi-rs/pull/1573)

#### New Contributors

-   [@&#8203;arcanis](https://togithub.com/arcanis) made their first contribution in [https://github.com/napi-rs/napi-rs/pull/1573](https://togithub.com/napi-rs/napi-rs/pull/1573)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.12.5...napi@2.12.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
kodiakhq bot referenced this pull request in X-oss-byte/Canary-nextjs May 6, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [napi-derive](https://togithub.com/napi-rs/napi-rs) | dependencies | patch | `2.16.3` -> `2.16.4` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (napi-derive)</summary>

### [`v2.16.4`](https://togithub.com/napi-rs/napi-rs/releases/tag/napi%402.16.4)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/napi-derive@2.16.3...napi-derive@2.16.4)

#### What changed

-   feat(napi): allow user defined tokio runtime by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  [#&#8203;2040](https://togithub.com/napi-rs/napi-rs/issues/2040)
-   fix(napi): handle panic in async block by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn)  ([https://github.com/napi-rs/napi-rs/pull/2050](https://togithub.com/napi-rs/napi-rs/pull/2050))

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.2...napi@2.16.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Canary-nextjs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Panic in async function causes returned promise to hang forever.
1 participant