mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-23 21:25:02 +00:00
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
75 lines
2 KiB
JSON
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"
|
|
}
|
|
}
|