Node bindings to the DuckDB C API, plus a friendly API for using DuckDB in Node applications.
- @duckdb/node-api
- @duckdb/node-bindings
- @duckdb/node-bindings-darwin-arm64
- @duckdb/node-bindings-darwin-x64
- @duckdb/node-bindings-linux-arm64
- @duckdb/node-bindings-linux-x64
- @duckdb/node-bindings-win32-x64
- @duckdb/node-api
- @duckdb/node-bindings
- @duckdb/node-bindings-darwin-arm64
- @duckdb/node-bindings-darwin-x64
- @duckdb/node-bindings-linux-arm64
- @duckdb/node-bindings-linux-x64
- @duckdb/node-bindings-win32-x64
- Install pnpm
pnpm install
cd bindings
pnpm run build
pnpm test
cd api
pnpm run build
pnpm test
cd api
pnpm bench
Change version in:
api/pkgs/@duckdb/node-api/package.json
bindings/pkgs/@duckdb/node-bindings/package.json
bindings/pkgs/@duckdb/node-bindings-darwin-arm64/package.json
bindings/pkgs/@duckdb/node-bindings-darwin-x64/package.json
bindings/pkgs/@duckdb/node-bindings-linux-arm64/package.json
bindings/pkgs/@duckdb/node-bindings-linux-x64/package.json
bindings/pkgs/@duckdb/node-bindings-win32-x64/package.json
Change version in:
bindings/scripts/fetch_libduckdb_linux_aarch64.py
bindings/scripts/fetch_libduckdb_linux_amd64.py
bindings/scripts/fetch_libduckdb_osx_universal.py
bindings/scripts/fetch_libduckdb_windows_amd64.py
bindings/test/constants.test.ts
Also change DuckDB version in package versions.
node scripts/checkFunctionSignatures.mjs [writeFiles]
Checks for differences between the function signatures in duckdb.h
and those declared in duckdb.d.ts
and implemented in duckdb_node_bindings.cpp
.
Optionally outputs JSON files that can be diff'd.
Useful when upgrading the DuckDB version to detect changes to the C API.
- Update package versions (as above).
- Use the workflow dispatch for the DuckDB Node Bindings & API GitHub action.
- Select all initially-unchecked checkboxes to build on all platforms and publish all packages.
- Uncheck "Publish Dry Run" to actually publish.