ruvector/npm/wasm/package.json
rUv eefcc5322b feat: Add multi-platform GitHub Actions workflow for native module builds
Phase 2: Multi-Platform Native Builds

This commit adds comprehensive GitHub Actions CI/CD for building native
NAPI modules across all major platforms:

 Features:
- GitHub Actions workflow with 5-platform matrix build:
  - Linux (x64, ARM64)
  - macOS (x64 Intel, ARM64 Apple Silicon)
  - Windows (x64)
- Parallel builds complete in 7-10 minutes
- Automated artifact uploads and publishing
- Platform-specific npm packages with smart detection

📦 Package Structure:
- @ruvector/core - Main package with platform detection
- @ruvector/core-{platform} - Platform-specific binaries
- Smart loader with automatic platform selection
- Optional dependencies ensure minimal install size

🔧 Developer Tools:
- scripts/publish-platforms.js - Automated publishing
- Comprehensive TypeScript definitions
- Smoke tests for each platform
- Local build support with napi build

📚 Documentation:
- docs/BUILD_PROCESS.md - Complete build guide
- docs/PHASE2_MULTIPLATFORM_COMPLETE.md - Phase summary
- README for @ruvector/core package
- Troubleshooting and cross-compilation guides

🚀 Publishing Workflow:
1. Tag release (git tag v0.1.1)
2. Push to GitHub
3. CI builds all platforms
4. Publishes platform packages
5. Publishes main packages

Next: Phase 3 - WASM support with architectural refactoring

🤖 Generated with Claude Code
2025-11-21 13:19:13 +00:00

75 lines
2 KiB
JSON

{
"name": "@ruvector/wasm",
"version": "0.1.1",
"description": "WebAssembly bindings for Ruvector - High-performance vector database for browsers and Node.js",
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"browser": {
"import": "./dist/browser.mjs",
"require": "./dist/browser.js"
},
"node": {
"import": "./dist/node.mjs",
"require": "./dist/node.js"
},
"default": "./dist/index.js"
},
"./browser": {
"types": "./dist/browser.d.ts",
"import": "./dist/browser.mjs",
"require": "./dist/browser.js"
},
"./node": {
"types": "./dist/node.d.ts",
"import": "./dist/node.mjs",
"require": "./dist/node.js"
}
},
"files": [
"dist",
"pkg",
"pkg-node",
"README.md",
"LICENSE"
],
"scripts": {
"build:wasm": "npm run build:wasm:bundler && npm run build:wasm:node",
"build:wasm:bundler": "cd ../../crates/ruvector-wasm && wasm-pack build --target bundler --out-dir ../../npm/wasm/pkg",
"build:wasm:node": "cd ../../crates/ruvector-wasm && wasm-pack build --target nodejs --out-dir ../../npm/wasm/pkg-node",
"build:ts": "tsc && tsc -p tsconfig.esm.json",
"build": "npm run build:wasm && npm run build:ts",
"test": "node --test dist/index.test.js",
"prepublishOnly": "npm run build"
},
"keywords": [
"vector",
"database",
"wasm",
"webassembly",
"embeddings",
"similarity-search",
"machine-learning",
"ai",
"browser",
"rust"
],
"author": "Ruvector Team",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/wasm"
},
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"homepage": "https://github.com/ruvnet/ruvector#readme",
"devDependencies": {
"@types/node": "^20.19.25",
"typescript": "^5.9.3"
}
}