Support for deno
I'm not sure if this is a better-sqlite3 issue or a deno issue but I thought it might be of interest and of course I'd be grateful for help.
With a minimal node20 test project this index.mjs run with node index.mjs after node install better-sqlite3 works as expected:
port sqlite from 'better-sqlite3'
const db = sqlite()
console.log(db)
while this near-equivalent test_better_sqlite3.js file run with deno run -A test_better_sqlite3.js fails (errors below):
import sqlite from "npm:better-sqlite3"
const db = sqlite()
console.log(db)
The error output is:
error: Uncaught (in promise) Error: Could not locate the bindings file. Tried:
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/build/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/build/Debug/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/build/Release/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/out/Debug/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/Debug/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/out/Release/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/Release/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/build/default/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/compiled/20.11.1/linux/x64/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/addon-build/release/install-root/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/addon-build/debug/install-root/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/addon-build/default/install-root/better_sqlite3.node
→ /home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/lib/binding/node-v108-linux-x64/better_sqlite3.node
at bindings (file:///home/bkerin/.cache/deno/npm/registry.npmjs.org/bindings/1.5.0/bindings.js:126:9)
at new Database (file:///home/bkerin/.cache/deno/npm/registry.npmjs.org/better-sqlite3/11.0.0/lib/database.js:48:64)
at Database (file:///home/bkerin/.cache/deno/npm/registry.npmjs.org/better-sqlite3/11.0.0/lib/database.js:11:10)
at file:///home/bkerin/projects/cell_electric_meter/web_server/test_better_sqlite3.js:3:12
Ideas?
Looks like I'm far from the first person to hit this but it appears to still not work as of deno 1.44.2
https://github.com/WiseLibs/better-sqlite3/issues/1034
@JoshuaWise do you want to support different runtimes, like bun and deno?
Still not working. In a build with Deno and Nuxt 3 Content, I get this error:
{...}/.deno/bin/deno: symbol lookup error: {...}/node_modules/.deno/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: node_module_register
Using Deno v2.3.3.