diff --git a/.gitignore b/.gitignore index 0dec16cc..6f8e1514 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,7 @@ notebooks/.ipynb_checkpoints **/.hypothesis ## Javascript -index.node +*.node **/node_modules **/.DS_Store node/dist diff --git a/node/native.js b/node/native.js new file mode 100644 index 00000000..275f8873 --- /dev/null +++ b/node/native.js @@ -0,0 +1,26 @@ +// Copyright 2023 Lance Developers. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +let nativeLib; + +if (process.platform === "darwin" && process.arch === "arm64") { + nativeLib = require('./darwin_arm64.node') +} else if (process.platform === "linux" && process.arch === "x64") { + nativeLib = require('./linux-x64.node') +} else { + throw new Error(`vectordb: unsupported platform ${process.platform}_${process.arch}. Please file a bug report at https://github.com/lancedb/lancedb/issues`) +} + +module.exports = nativeLib + diff --git a/node/package-lock.json b/node/package-lock.json index fc9c0bbe..de82fc04 100644 --- a/node/package-lock.json +++ b/node/package-lock.json @@ -1,12 +1,12 @@ { "name": "vectordb", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "vectordb", - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "dependencies": { "@apache-arrow/ts": "^12.0.0", diff --git a/node/package.json b/node/package.json index e63644d0..2b41f498 100644 --- a/node/package.json +++ b/node/package.json @@ -1,6 +1,6 @@ { "name": "vectordb", - "version": "0.1.0", + "version": "0.1.1", "description": " Serverless, low-latency vector database for AI applications", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/node/src/index.ts b/node/src/index.ts index a6c2f062..55d65574 100644 --- a/node/src/index.ts +++ b/node/src/index.ts @@ -25,7 +25,7 @@ import { } from 'apache-arrow' // eslint-disable-next-line @typescript-eslint/no-var-requires -const { databaseNew, databaseTableNames, databaseOpenTable, tableCreate, tableSearch } = require('../index.node') +const { databaseNew, databaseTableNames, databaseOpenTable, tableCreate, tableSearch } = require('../native.js') /** * Connect to a LanceDB instance at the given URI