Commit graph

2486 commits

Author SHA1 Message Date
liuyi
c9f5ee14b7
fast patches for napi/cli 3.0-alpha (#1553)
* fix(cli): use new napi config field

* fix(cli): avoid using node experimental feature to read self version

* fix(cli): correct linker environment

* fix(cli): missing wasi register env

* fix(cli): remove useless linker preset
2023-04-06 19:21:06 +08:00
forehal
5daf558ead
chore: publish
- @napi-rs/cli@3.0.0-alpha.1
 - @napi-rs/triples@2.0.0-alpha.1
2023-04-06 15:35:37 +08:00
forehal
e4c4a5fe5d
fix(cli): missing shebang prefix in cli entries 2023-04-06 15:34:07 +08:00
forehal
7c9a4bae2d
fix(triples): wrong raw triple in some eabi targets 2023-04-06 14:37:47 +08:00
forehal
54ddf13c6a
chore: remove useless scripts 2023-04-06 14:35:56 +08:00
forehal
885d03d3ad chore: publish
- @napi-rs/cli@3.0.0-alpha.0
 - @napi-rs/triples@2.0.0-alpha.0
2023-04-06 11:06:13 +08:00
forehal
a781a4f27e feat(cli): brand new cli tool with both cli and programmatical usage (#1492)
BREAKING CHANGE: requires node >= 16 and some cli options have been renamed
2023-04-06 11:04:53 +08:00
Francesco Benedetto
7c4dc2a2bd
feat(napi-derive-backend, napi-derive): add support for string enums (#1551) 2023-04-03 14:10:58 +08:00
Markus
71e44be73d
fix(napi): access violation in property getter/setter closure (#1552)
Signed-off-by: Markus <28785953+MarkusJx@users.noreply.github.com>
2023-04-03 11:12:07 +08:00
LongYinan
f4f179c714
build: update Node.js version in alpine.Dockerfile 2023-03-31 14:19:05 +08:00
Suyan
ea7e75ee74
chore: fix js binding template style (#1550)
Signed-off-by: suyanhanx <suyanhanx@gmail.com>
2023-03-30 20:30:26 +08:00
LongYinan
a8f1310e4d
Release independent packages
napi@2.12.2
2023-03-30 13:49:53 +08:00
LongYinan
0a6b214505
fix(napi): free buffer in current thread if env is available (#1549) 2023-03-30 12:55:54 +08:00
LongYinan
a0b6e2b263
fix(napi): use ptr::copy to create TypedArray in electron fallback mode (#1548) 2023-03-29 14:03:32 +08:00
Bo
0a0aa36c28
test(napi): update test case for checking electron renderer crash (#1547)
(cherry picked from commit d22598dbb1082de8ac712de954cd5616c838a48d)
2023-03-29 12:53:57 +08:00
Bo
d8cfcfdfda
fix(napi): ensure that napi_call_threadsafe_function cannot be called after abort (#1533)
* refactor(napi): reduce boilerplate code for accessing `aborted` lock

* refactor: ensure that `napi_call_threadsafe_function` cannot be called after abort

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-03-28 20:54:55 +08:00
Bo
e47c13f177
fix(napi): check if the tokio runtime exists when registering the module
And recreate it if it does not exist.

In windows, electron renderer process will crash if:
1. Import some NAPI module that enable `tokio-rt` flag in renderer process.
2. Reload the page.
3. Call a function imported from that NAPI module.

Because the tokio runtime will be dropped when reloading the page, and won't create again, but currently we assume that the runtime must exist in tokio-based `within_runtime_if_available`.
This will cause some panic like this:

```
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', napi-rs\crates\napi\src\tokio_runtime.rs:72:42
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Renderer process crashed: crashed, exitCode: -529697949
    at EventEmitter.<anonymous> (napi-rs\examples\napi\electron.js:33:9)
    at EventEmitter.emit (node:events:525:35)
```
2023-03-28 12:03:00 +08:00
LongYinan
a956d51a9a
Release independent packages
napi@2.12.1
2023-03-23 15:35:25 +08:00
Gabriel Francisco
3983be23f5
fix(napi): big numbers losing precision on serde_json::Value (#1538)
* fix(napi): big numbers losing precision on serde_json::Value

* fix(napi): add feature flags for bigint on number conversion

* chore(napi): change MAX_SAFE_INT to constant and convert big numbers to string when bigint is not available

* chore(napi): change how the check for safe integer range is made
2023-03-23 13:34:34 +08:00
LongYinan
2e865cad29
Release independent packages
napi-derive@2.12.2
2023-03-22 18:03:28 +08:00
LongYinan
b896b90795
chore: publish
- @napi-rs/cli@2.15.2
2023-03-22 18:02:55 +08:00
LongYinan
5398b16238
fix(cli,napi-derive): backward compatible with older cli with #1531 (#1536) 2023-03-22 17:35:55 +08:00
LongYinan
2f4d9d4447
Release independent packages
napi-derive@2.12.1
2023-03-21 18:50:44 +08:00
LongYinan
8a086b67d6
chore: publish
- @napi-rs/cli@2.15.1
2023-03-21 18:49:47 +08:00
LongYinan
0f0837f5ca
fix(cli): dts pipe (#1532) 2023-03-21 18:47:43 +08:00
LongYinan
3d48d4464b
fix(cli,napi-derive): re-export types from shared crate (#1531)
* fix(cli,napi-derive): re-export types from shared crate

* chore: publish

 - @napi-rs/cli@2.15.1-alpha.0

* Clippy fix

* Fix memory testing
2023-03-21 18:12:52 +08:00
LongYinan
3b831f42f5
Release independent packages
napi@2.12.0

napi-derive@2.12.0
2023-03-21 13:39:58 +08:00
LongYinan
0d951cb3d9
chore: publish
- @napi-rs/cli@2.15.0
2023-03-21 13:38:58 +08:00
Victor Teo
aee742f185
feat(napi): property getter and setter with closure (#1526)
* getter with closure with segment fault

* fix getter closure pointer

* add setter

* Cleanup API

* Add test for `create_function_from_closure`

* Fix compile error

* Fix flaky test title

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-03-21 11:22:07 +08:00
LongYinan
550ef7c3cc
feat: export registers in wasm32 target (#1529) 2023-03-20 18:42:27 +08:00
LongYinan
5605bdf7fc
fix(napi): ThreadsafeFunctionHandle never being dropped (#1530) 2023-03-20 18:01:09 +08:00
Francesco Benedetto
c8bd8924e2
fix(cli): export non const enums when generating typedefs (#1527)
* fix(cli): export non const enums when generating typedefs

* Make --const-enum as a build flag

---------

Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-03-20 14:19:18 +08:00
LongYinan
d255a0a575
chore: decrease timeout in tsfn test 2023-03-20 11:59:53 +08:00
Bo
a6e1ff471c
fix(napi): use weak arc for passing thread_finalize_data (#1525)
* fix(napi): use weak arc for passing thread_finalize_data

* fix: try to fix test of tsfn_return_promise_timeout
2023-03-20 11:56:54 +08:00
LongYinan
347e81b3cc
chore(napi): upgrade bitflags to v2 (#1518) 2023-03-16 11:23:03 +08:00
LongYinan
73db80311a
Release independent packages
napi@2.11.4
2023-03-14 21:41:01 +08:00
HotQ
0af728a601
fix(napi): prevent access to tsfn-raw after tsfn finalized(#1514) (#1515) 2023-03-14 21:31:52 +08:00
LongYinan
c1072462a5
Release independent packages
napi@2.11.3

napi-derive@2.11.2
2023-03-14 15:37:34 +08:00
Alberto Pose
ffc4980d52
fix(napi): panic when Promise callbacks trigger after Promise is dropped (#1469) (#1516)
Co-authored-by: Alberto Pose <albepose@amazon.com>
2023-03-14 15:32:17 +08:00
LongYinan
894f082429
build: fix alpine zig image 2023-03-12 19:23:25 +08:00
LongYinan
1ff67418c7
build: fix alpine zig image 2023-03-12 18:56:08 +08:00
LongYinan
f2d3804506
ci: cancel-in-progress duplicated job 2023-03-12 18:31:13 +08:00
LongYinan
ef26f6a56e
build: libc++-dev still need to be installed 2023-03-12 18:27:12 +08:00
LongYinan
60dea3d6d0
chore: ci components upgrade (#1512) 2023-03-12 18:24:48 +08:00
LongYinan
0904dc5d43
build: fix Docker build context 2023-03-12 17:50:38 +08:00
LongYinan
1867c9f476
build: add libc++ in aarch64-linux-gnu Docker (#1511) 2023-03-12 17:25:53 +08:00
LongYinan
7e2ab566d4
build: upgrade toolchain in Docker 2023-03-12 16:13:32 +08:00
LongYinan
96959e6425
chore(napi): remove thread_local from dependenies (#1506) 2023-03-05 19:49:52 +08:00
LongYinan
3bd3c9cc08
test(napi): tests for custom gc in worker_threads (#1505) 2023-03-05 16:51:06 +08:00
Markus
86cfbca33e
feat(napi): expose uv_run (#1499)
Signed-off-by: MarkusJx <28785953+MarkusJx@users.noreply.github.com>
2023-02-27 17:31:03 +08:00