Skip to content

Proposal: npm package version should match native binary version (or clearly indicate it) #74

@ramvi

Description

@ramvi

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:

  1. Lock native version to npm version (1:1 mapping)
  2. Use composite versioning like 0.4.3-native0.3.2 or 0.4.3+native.0.3.2 (similar to Debian/Ubuntu packaging)
  3. 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",

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions