Skip to content

fix(package.json): wrong Windows optionalDependency name for sqlite-vec + missing linux-arm64 #224

@ilepn

Description

@ilepn

Bug

package.json line 53 declares sqlite-vec-win32-x64 in optionalDependencies, but this package does not exist on npm (returns 404). The correct package name is sqlite-vec-windows-x64.

Additionally, sqlite-vec-linux-arm64 is missing from optionalDependencies (sqlite-vec's own package.json declares all 5 platforms).

Root Cause

The sqlite-vec npm package maps Node.js's process.platform value win32windows in its platformPackageName() function (index.cjs:29-32):

function platformPackageName(platform, arch) {
  const os = platform === "win32" ? "windows" : platform;
  return `${BASE_PACKAGE_NAME}-${os}-${arch}`;
}

So the published npm packages are:

Package Status
sqlite-vec-darwin-arm64 ✅ exists
sqlite-vec-darwin-x64 ✅ exists
sqlite-vec-linux-arm64 ✅ exists
sqlite-vec-linux-x64 ✅ exists
sqlite-vec-windows-x64 ✅ exists
sqlite-vec-win32-x64 does not exist

Impact

On Windows x64, npm install / bun install emits:

npm warn 404 GET https://registry.npmjs.org/sqlite-vec-win32-x64 - Not Found
npm warn 404 sqlite-vec-win32-x64@^0.1.7-alpha.2 is not in this registry.

Today this doesn't break vector search because sqlite-vec (the direct dependency at line 45) has its own correct optionalDependencies that transitively install sqlite-vec-windows-x64. However:

  1. The 404 warning is confusing to users
  2. If sqlite-vec ever changes its dependency strategy, qmd's Windows vector search would silently break
  3. The linux-arm64 platform is entirely missing from qmd's optional deps

Reproduction

npm install @tobilu/qmd
# Observe: "npm warn 404 ... sqlite-vec-win32-x64"

Verification that the correct package works:

$ npm view sqlite-vec-win32-x64 2>&1 | head -1
# npm error code E404

$ npm view sqlite-vec-windows-x64 version
# 0.1.7-alpha.2

$ node -e "const sv = require('sqlite-vec'); console.log(sv.getLoadablePath())"
# C:\...\node_modules\sqlite-vec-windows-x64\vec0.dll

Fix

  "optionalDependencies": {
    "sqlite-vec-darwin-arm64": "^0.1.7-alpha.2",
    "sqlite-vec-darwin-x64": "^0.1.7-alpha.2",
+   "sqlite-vec-linux-arm64": "^0.1.7-alpha.2",
    "sqlite-vec-linux-x64": "^0.1.7-alpha.2",
-   "sqlite-vec-win32-x64": "^0.1.7-alpha.2"
+   "sqlite-vec-windows-x64": "^0.1.7-alpha.2"
  },

Environment

  • Windows 11 x64, Node.js v25.6.1
  • @tobilu/qmd v1.0.7
  • sqlite-vec v0.1.7-alpha.2

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions