When I install @openwallet-foundation/[email protected], I expect to get native binary v0.3.2. Instead, I silently get v0.4.1.
This caused hours of debugging when I encountered Xcode 16 LLVM incompatibility errors. I tried downgrading the npm package, assuming older versions would have older (compatible) native binaries. They don't.
What I found:
| npm version |
Expected native |
Actual native |
| 0.4.3 |
v0.4.3 |
v0.4.6 |
| 0.3.2 |
v0.3.2 |
v0.4.1 |
| 0.3.1 |
v0.3.1 |
v0.4.1 |
| 0.3.0 |
v0.3.0 |
v0.4.1 |
The only compatible native binary (v0.3.2, built with older LLVM) is not referenced by any npm package version.
Suggestion
Either:
- Lock native version to npm version (1:1 mapping)
- Use composite versioning like
0.4.3-native0.3.2 or 0.4.3+native.0.3.2 (similar to Debian/Ubuntu packaging)
- At minimum: Don't retroactively update
binary.version in already-published npm packages
Current workaround
I had to create a pnpm patch to force native v0.3.2:
- "version": "v0.4.6",
+ "version": "v0.3.2",