Skip to content

build: migrate to napi-rs v3#64

Merged
2bndy5 merged 4 commits intomainfrom
napi-rs-v3
Jul 22, 2025
Merged

build: migrate to napi-rs v3#64
2bndy5 merged 4 commits intomainfrom
napi-rs-v3

Conversation

@2bndy5
Copy link
Member

@2bndy5 2bndy5 commented Jul 22, 2025

These are the necessary changes to the node.js bindings for napi-rs v3.

This is mostly metadata and CI changes. Any deprecated rust API has been updated, but there is no breaking changes from a user perspective.

  • bump yarn to v4.9.2
  • remove checked-in bindings/node/npm folder; this is now generated in CI.
  • update coercion to boolean types from node.js number/boolean types.
  • update CI; based on napi-rs yarn template.
  • bump npm dependencies and update yarn.lock.
  • bump cargo dependencies for entire workspace.

@2bndy5 2bndy5 added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 22, 2025
@2bndy5 2bndy5 marked this pull request as ready for review July 22, 2025 03:03
@2bndy5
Copy link
Member Author

2bndy5 commented Jul 22, 2025

Some platform support had to be removed due to the substantial changes to CI. The following failed to cross compile due to lack of adequate linker:

  • ❌ riscv64gc-unknown-linux-gnu
  • ❌ armv7-unknown-linux-musleabihf

I added freeBSD platform support, but the CI (copied from napi-rs official template repo) uses a VM to build the node.js binding with rust v1.88 (as of this writing).

From what I can tell, the CI doesn't use docker containers anymore. This was the blocker for upgrading bitfield-struct crate (which requires rust v1.83+ as of bitfield-struct v0.10.0) in the core rf24-rs dependencies.

2bndy5 added 2 commits July 21, 2025 20:57
These are the necessary changes to the node.js bindings for napi-rs v3.

This is mostly metadata and CI changes. Any deprecated rust API has been updated, but there is no breaking changes from a user perspective.

- bump yarn to v4.9.2
- remove checked in bindings/node/npm folder; this is now generated in CI.
- update coercion to boolean types from node.js number/boolean types.
- update CI; based on napi-rs yarn template
- bump npm dependencies and update yarn.lock
- bump crates.io dependencies for bindings/node crate
in which cross-compilation env is missing the proper linker
does not change MSRV
@codecov
Copy link

codecov bot commented Jul 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.63%. Comparing base (dc7695f) to head (20e5bcb).
⚠️ Report is 38 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #64   +/-   ##
=======================================
  Coverage   99.63%   99.63%           
=======================================
  Files          22       22           
  Lines        2734     2734           
=======================================
  Hits         2724     2724           
  Misses         10       10           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@2bndy5 2bndy5 merged commit 886ce08 into main Jul 22, 2025
40 checks passed
@2bndy5 2bndy5 deleted the napi-rs-v3 branch July 22, 2025 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant