npm / @napi-rs/triples
@napi-rs/triples
What changed in @napi-rs/triples 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-03.
17 breaking1 new APIs and options1 tooling
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@napi-rs/triples 319 changes
Breaking changes 17
The flag is removed; use --manifest-path to point at the crate's Cargo.toml.
The flag is removed; pass Cargo flags after -- instead.
This and the listed legacy JsValue APIs are behind compat-mode; migrate to the new APIs.
Use this flag to point napi build at the crate's Cargo.toml.
Flags after -- are passed through to cargo build.
Path flags resolve relative to --cwd or process.cwd() rather than --cargo-cwd or process.cwd().
The create-npm-dir command is renamed; use create-npm-dirs.
Use this macro in place of napi::module_init.
This macro replaces #[module_exports] from compat-mode.
The macro moved to napi_derive::module_init.
The napi universal command is renamed to napi universalize.
Use binaryName instead of name for the binary name in the napi configuration.
The old nested package name field is no longer read; use napi.packageName instead.
Move the package name from napi.package.name to napi.packageName; v3 does not read the old nested field.
Use a flat targets array listing every target explicitly; the triples config has been removed.
The new CLI requires Node.js ^20.17.0 || ^22.13.0 || >=23.5.0 at build time; this does not change addon runtime support.
Rust 1.88 or newer is a prerequisite for the v3 migration.
New APIs and options 1
Enable this feature to keep using deprecated types while migrating incrementally.
Tooling 1
Committing these directories is no longer recommended; create them in CI with napi create-npm-dirs instead.