Skip to content

whyour/node-sqlite3

 
 

Repository files navigation

node-sqlite3

Mainly used for my another project - Qinglong

What is the different between TryGhost/node-sqlite3?

The following architecture is supported:

  1. alpine: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x,linux/386
  2. debian: linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x
  3. Mac: arm/x64
  4. windows: ia32/x64

How to use

{
  "sqlite3": "git+https://github.com/whyour/node-sqlite3.git",
}

Documentation

https://github.com/TryGhost/node-sqlite3

Alpine legacy-host compatibility

Alpine prebuilds define SQLITE_MUSL_LEGACY_IO=1. The bundled SQLite Unix VFS then uses its existing lseek plus read/write fallback instead of musl's pread/pwrite wrappers. This keeps the module usable when an older host seccomp profile rejects pwritev2 with EPERM.

Linux builds that use the bundled SQLite are linked with -Bsymbolic. This is required on Node.js builds that already load a system libsqlite3 (including Alpine Node.js 24), so the addon's SQLite calls cannot be interposed by that system library. External SQLite builds are unchanged.

Prebuild toolchains

Published binaries keep the napi-v6 ABI; the Node.js version used to compile them does not become a runtime requirement. Release CI uses Node.js 24 where an official image exists, Node.js 22 for glibc ARMv7, and Node.js 18 with node-gyp 10 for glibc s390x. Alpine builds use the Node.js package from the floating python:3.11-alpine image and currently require Node.js 24.

About

node-sqlite3 fork with Alpine support

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages

  • PLpgSQL 65.8%
  • JavaScript 17.0%
  • C++ 16.0%
  • Dockerfile 0.5%
  • Python 0.3%
  • Makefile 0.2%
  • Other 0.2%