aerospike
Advanced tools
Comparing version 5.1.1 to 5.2.0
{ | ||
"name": "aerospike", | ||
"version": "5.1.1", | ||
"version": "5.2.0", | ||
"description": "Aerospike Client Library", | ||
@@ -23,3 +23,4 @@ "keywords": [ | ||
"cpu": [ | ||
"x64" | ||
"x64", | ||
"arm64" | ||
], | ||
@@ -42,3 +43,4 @@ "repository": { | ||
"preinstall": "npm install @mapbox/node-pre-gyp", | ||
"install": "node-pre-gyp install --fallback-to-build", | ||
"install": "./scripts/ssl_check.sh", | ||
"postinstall": "mkdir -p lib/binding/openssl@1 lib/binding/openssl@3", | ||
"test": "mocha", | ||
@@ -45,0 +47,0 @@ "test-noserver": "GLOBAL_CLIENT=false mocha -g '#noserver'", |
175
README.md
@@ -14,2 +14,53 @@ # Aerospike Node.js Client [![travis][travis-image]][travis-url] [![codecov][codecov-image]][codecov-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] | ||
The client is compatible with Node.js 19, 18 (LTS), 16 (LTS) and 14 (LTS). | ||
It supports the following operating systems: | ||
- RHEL 8/9 | ||
- Debian 10/11 | ||
- Ubuntu 18.04/20.04/22.04 (Focal, Jammy, Bionic) | ||
- Many Linux distributions compatible with one of the above OS releases. | ||
- macOS versions 11/12/13 are also supported. (Node.js 14 install unavailable on M1 Mac systems) | ||
The client is compatible with arm64, aarch64, and x86_64 architectures. | ||
The Aerospike Node.js client supports all Node.js [LTS | ||
releases](https://github.com/nodejs/Release#release-schedule). To download and | ||
install the latest stable version of Node.js, visit | ||
[nodejs.org](http://nodejs.org/). | ||
Install the necessary "development tools" and other libraries to build the client software. | ||
Reference various docker files in the repository under the docker directory for more information. | ||
## Installation | ||
The Aerospike Node.js client is an add-on module that uses the Aerospike C client. The installation will attempt to install the pre-built binaries including dependent C client. | ||
You can install the Aerospike Node.js client like any other Node.js module. | ||
### Primer on Node.js Modules | ||
Node.js modules are containers of JavaScript code and a `package.json`, which defines | ||
the module, its dependencies and requirements. Modules are usually installed as | ||
dependencies of other Node.js applications or modules. The modules are installed in | ||
the application's `node_modules` directory, and can be utilized within the program | ||
by requiring the module by name. | ||
### npm Registry Installations | ||
To install `aerospike` as a dependency of your project, in your project directory run: | ||
```bash | ||
npm install aerospike | ||
``` | ||
To add `aerospike` as a dependency in _package.json_, run: | ||
```bash | ||
npm install aerospike --save-dev | ||
``` | ||
To require the module in your application: | ||
```bash | ||
const Aerospike = require('aerospike') | ||
``` | ||
## Usage | ||
@@ -26,7 +77,2 @@ | ||
hosts: '192.168.33.10:3000', | ||
// Timeouts disabled, latency varies with hardware selection. Configure as needed. | ||
policies: { | ||
read : new Aerospike.WritePolicy({socketTimeout : 0, totalTimeout: 0}), | ||
write : new Aerospike.ReadPolicy({socketTimeout : 0, totalTimeout: 0}) | ||
} | ||
} | ||
@@ -50,5 +96,5 @@ | ||
exists: Aerospike.policy.exists.CREATE_OR_REPLACE, | ||
// Timeouts disabled, latency varies with hardware selection. Configure as needed. | ||
// Timeouts disabled, latency dependent on server location. Configure as needed. | ||
socketTimeout : 0, | ||
totalTimeout: 0 | ||
totalTimeout : 0 | ||
}) | ||
@@ -90,24 +136,6 @@ | ||
``` | ||
## Prerequisites | ||
The client is compatible with Node.js 10, 12 (LTS), 14 (LTS), 16 (LTS) and 18 (LTS). It | ||
supports the following operating systems: CentOS/RHEL 7/8, Debian 8/9/10/11, | ||
Ubuntu 18.04/20.04, as well as many Linux distributions compatible with one of | ||
these OS releases. macOS is also supported. The client port to Windows is a | ||
community supported project and suitable for application prototyping and | ||
development. | ||
#### RHEL/CentOS | ||
The Aerospike Node.js client supports all Node.js [LTS | ||
releases](https://github.com/nodejs/Release#release-schedule). To download and | ||
install the latest stable version of Node.js, visit | ||
[nodejs.org](http://nodejs.org/) or use the version that comes bundled with | ||
your operating system. | ||
Install the necessary "development tools" and other libraries to build the client software. | ||
Reference various docker files in the repository under the docker / directory for more information. | ||
#### CentOS/RHEL | ||
To install library prerequisites using `yum`: | ||
@@ -166,3 +194,3 @@ | ||
### macOS (Intel) | ||
### macOS | ||
@@ -174,15 +202,3 @@ Before starting with the Aerospike Nodejs Client, verify that you have the following prerequisites: | ||
### macOS (M1 Chip) | ||
Currently the C library does not support M1, so you cannot install Aerospike Nodejs Client directly on your mac, see [Issue](https://github.com/aerospike/aerospike-client-nodejs/issues/430). | ||
As a workaround, you can build your app inside of Docker before using `--platform` [option](https://docs.docker.com/engine/reference/commandline/build/). | ||
Example of a working docker-compose.yaml file looks similar to this: | ||
``` | ||
version: '2.4' | ||
services: | ||
my-node-js-app: | ||
build: . | ||
platform: linux/amd64 | ||
``` | ||
**Openssl Library** | ||
@@ -193,53 +209,34 @@ | ||
```bash | ||
$ brew install openssl | ||
$ brew link openssl --force | ||
$ unlink /usr/local/opt/openssl | ||
$ # Change the below linking based on openssl version and installation path | ||
$ ln -s /usr/local/Cellar/openssl@x/y.z/ /usr/local/opt/openssl | ||
brew install openssl | ||
unlink /usr/local/opt/openssl | ||
# Change the below linking based on openssl version and installation path | ||
ln -s /usr/local/Cellar/openssl@x/y.z/ /usr/local/opt/openssl | ||
``` | ||
For 4x client support, install openssl@1.1 version. | ||
**LIBUV Library** | ||
The example below shows how to install the LIBUV library. | ||
If you are looking upgrade switch from openssl@1 or an older version of openssl@3, add these variables to your .bashrc, .profile, or .zshrc file. | ||
```bash | ||
$ brew install libuv | ||
$ brew link libuv --force | ||
$ unlink /usr/local/opt/libuv | ||
$ # Change the below linking based on libuv version and installation path | ||
$ ln -s /usr/local/Cellar/libuv/1.44.1_1/ /usr/local/opt/libuv | ||
export PATH="/usr/local/bin/:/usr/local/opt/openssl/bin:$PATH" | ||
export LDFLAGS="-L/usr/local/opt/openssl/lib" | ||
export CPPFLAGS="-I/usr/local/opt/openssl/include" | ||
export EXT_CFLAGS="-I/usr/local/opt/openssl/include" | ||
``` | ||
## Installation | ||
The Aerospike Node.js client is an add-on module that uses the Aerospike C client. The installation will attempt to install the pre-built binaries including dependent C client. | ||
You can install the Aerospike Node.js client like any other Node.js module. | ||
### Primer on Node.js Modules | ||
Node.js modules are containers of JavaScript code and a `package.json`, which defines | ||
the module, its dependencies and requirements. Modules are usually installed as | ||
dependencies of other Node.js applications or modules. The modules are installed in | ||
the application's `node_modules` directory, and can be utilized within the program | ||
by requiring the module by name. | ||
### npm Registry Installations | ||
To install `aerospike` as a dependency of your project, in your project directory run: | ||
Afterwards, source the file that was changed and confirm the desired openssl version is installed | ||
```bash | ||
$ npm install aerospike | ||
source ~/.bashrc | ||
source ~/.profile | ||
source ~/.zshrc | ||
openssl version | ||
``` | ||
For 4x client support, install openssl@1.1 version. | ||
To add `aerospike` as a dependency in _package.json_, run: | ||
**LIBUV Library** | ||
```bash | ||
$ npm install aerospike --save-dev | ||
``` | ||
The example below shows how to install the LIBUV library. | ||
To require the module in your application: | ||
```bash | ||
const Aerospike = require('aerospike') | ||
brew install libuv | ||
unlink /usr/local/opt/libuv | ||
# Change the below linking based on libuv version and installation path | ||
ln -s /usr/local/Cellar/libuv/1.44.1_1/ /usr/local/opt/libuv | ||
``` | ||
@@ -252,5 +249,6 @@ | ||
To clone the repository use the following command: | ||
```bash | ||
git clone --recursive git@github.com:aerospike/aerospike-client-nodejs.git | ||
``` | ||
$ git clone --recursive git@github.com:aerospike/aerospike-client-nodejs.git | ||
#### Building dependancy C client | ||
@@ -260,5 +258,6 @@ | ||
Run the following commands to build the C client: | ||
```bash | ||
./scripts/build-c-client.sh | ||
``` | ||
$ ./scripts/build-c-client.sh | ||
#### Building and installing Node.js client | ||
@@ -269,3 +268,3 @@ | ||
```bash | ||
$ npm install --unsafe-perm --build-from-source | ||
npm install --unsafe-perm --build-from-source | ||
``` | ||
@@ -314,7 +313,7 @@ | ||
$ npm update | ||
npm update | ||
To run all the test cases: | ||
$ npm test | ||
npm test | ||
@@ -325,3 +324,3 @@ Note: make sure your server has TTL enabled for the `test` namespace ([Namespace Retention Configuration](https://docs.aerospike.com/server/operations/configure/namespace/retention)) to allow all tests to run correctly. | ||
$ npm run coverage | ||
npm run coverage | ||
@@ -339,2 +338,2 @@ ## Benchmarks | ||
compatible with Apache License, Version 2. Refer to individual files for | ||
details. | ||
details. |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 1 instance in 1 package
284628584
297
326
3