[BREAKGLASS] A fast N-API-based Node.js addon wrapping sqlcipher and FTS5 segmenting APIs.
| .github/workflows | ||
| bench | ||
| deps | ||
| docker | ||
| lib | ||
| patches | ||
| src | ||
| test | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| binding.gyp | ||
| docker-prebuildify.sh | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| rust-toolchain | ||
| tsconfig.json | ||
@signalapp/sqlcipher
A fast N-API-based Node.js addon wrapping sqlcipher and Signal-specific FTS5 segmenting APIs.
Usage
import Database from '@signalapp/sqlcipher';
const db = new Database('/path/to/db');
db.exec(`
CREATE TABLE t (
a INTEGER,
b TEXT,
c BLOB
);
`);
const insert = db.prepare('INSERT INTO t (a, b, c) VALUES ($a, $b, $c)');
insert.run({ a: 1, b: 'hello', c: Buffer.from('world') });
insert.run({ a: 2, b: 'world', c: Buffer.from('hello') });
console.log(db.prepare('SELECT * FROM t').all());
Updating sqlcipher
On macOS:
cd deps/sqlcipher
export OPENSSL_PREFIX=`brew --prefix openssl`
export CFLAGS="-I $OPENSSL_PREFIX/include"
export LIBRARY_PATH="$LIBRARY_PATH:$OPENSSL_PREFIX/lib"
./update.sh v4.7.0
cd -
License
Copyright 2025 Signal Messenger, LLC.
Licensed under the AGPLv3: http://www.gnu.org/licenses/agpl-3.0.html