ruvnet / ruvnet/RuVector

rvdna: platform-specific native binaries not published to npm

Open
#165 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
4.5k
Forks
603
Avg merge
23h 32m
Merged PRs (30d)
59

Description

Summary

@ruvector/rvdna@0.1.1 declares five platform-specific optional dependencies in package.json, but none of them have been published to npm. This means isNativeAvailable() always returns false and the native-only functions (fastaToRvdna, readRvdna) are unusable on every platform.

Missing packages

All five are listed as optionalDependencies at version 0.1.0 but return 404 from the npm registry:

Package Status
@ruvector/rvdna-linux-x64-gnu Not published
@ruvector/rvdna-linux-arm64-gnu Not published
@ruvector/rvdna-darwin-x64 Not published
@ruvector/rvdna-darwin-arm64 Not published
@ruvector/rvdna-win32-x64-msvc Not published

Impact

  • The pure JS fallbacks for encode2bit, decode2bit, translateDna, and cosineSimilarity work fine.
  • fastaToRvdna() throws "requires native bindings" on all platforms.
  • readRvdna() throws "requires native bindings" on all platforms.
  • The .rvdna binary format is effectively inaccessible from Node.js until these are published.

Steps to reproduce

npm install @ruvector/rvdna
node -e "const r = require('@ruvector/rvdna'); console.log('native:', r.isNativeAvailable())"
# Output: native: false

Expected

npm install @ruvector/rvdna should pull in the correct platform binary (e.g. @ruvector/rvdna-linux-x64-gnu on Linux x64 glibc) and isNativeAvailable() should return true.

Environment

  • @ruvector/rvdna@0.1.1
  • Linux x86_64 (glibc), Node.js v24.13.0
  • npm 11.x

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting package.json and the five optionalDependencies, then check how the platform-specific packages are built and published to npm. Reproduce the npm install and isNativeAvailable() check from the issue, and verify that each supported platform resolves its binary and that the native functions no longer report missing bindings.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust
Domain
build-system, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.