From d34c36e7c0c475fae784f64b4e249662231b0a35 Mon Sep 17 00:00:00 2001 From: Erik Arvidsson Date: Tue, 20 Oct 2026 08:45:14 +0000 Subject: [PATCH] chore: drop the Bun support claim and its CI job Bun does not load this addon. It refuses any file named better_sqlite3.node ("'better-sqlite3' is not yet supported in Bun"), and a renamed copy built for Bun's ABI (137) fails with undefined V8 symbols: Bun 1.3.5's V8 API layer lacks about 30 of the functions the addon uses, among them FunctionTemplate::InstanceTemplate, Function::Call, the Exception constructors and weak handles. The test-bun job still passed because `bun run test` runs mocha through its `#!/usr/bin/env node` shebang, so the tests ran under Node. Remove the claim from the README, the bun engine from package.json, the Bun troubleshooting section and the test-bun job. --- .github/workflows/build.yml | 42 ------------------------------------- README.md | 2 +- docs/troubleshooting.md | 10 --------- package.json | 3 +-- 4 files changed, 2 insertions(+), 55 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12db924a..c3d8a6ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,48 +101,6 @@ jobs: echo "SELECT 'wrapper test';" | node shell.js node shell.js --version - test-bun: - strategy: - matrix: - os: - - ubuntu-22.04 - - macos-15 - - macos-15-intel - bun: - - 1.3.5 - name: Testing Bun ${{ matrix.bun }} on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 - with: - bun-version: ${{ matrix.bun }} - - if: ${{ startsWith(matrix.os, 'macos') }} - run: brew install python-setuptools icu4c - - if: ${{ !startsWith(matrix.os, 'macos') }} - run: python3 -m pip install setuptools - - if: ${{ startsWith(matrix.os, 'ubuntu') }} - run: | - sudo apt update - sudo apt install -y gcc-10 g++-10 libreadline-dev libncurses5-dev libicu-dev - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10 - - run: bun install --ignore-scripts - - run: bun run build-debug - - run: bun run test - - run: bun run build-release - - name: Test shell wrapper (Windows) - if: ${{ startsWith(matrix.os, 'windows') }} - shell: powershell - run: | - echo "SELECT 'wrapper test';" | bun shell.js - bun shell.js --version - - name: Test shell wrapper (Unix) - if: ${{ !startsWith(matrix.os, 'windows') }} - shell: bash - run: | - echo "SELECT 'wrapper test';" | bun shell.js - bun shell.js --version - publish: if: ${{ github.event_name == 'release' }} name: Publishing to NPM diff --git a/README.md b/README.md index 5389b638..8dae7c78 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,6 @@ So far the changes are: * Build the [bedrock](https://sqlite.org/src/timeline?r=bedrock) branch of SQLite to enable [`begin concurrent`](https://www.sqlite.org/src/doc/begin-concurrent/doc/begin_concurrent.md). * Create a shell too, so we can debug db files created -* Supports both Node.js (22.x, 24.x) and Bun (>=1.1.0) runtimes +* Supports Node.js 22.x and 24.x Other changes will be likely be made over time. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 1d49fcad..1197f34d 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -38,16 +38,6 @@ If you still have issues, try these steps: 1. Delete your `$HOME/.node-gyp` directory 1. Run `npm install` -## Bun - -If you're using Bun and encounter issues: - -1. Ensure you're using Bun 1.1.0 or later -2. Try rebuilding: `bun run build-release` -3. Check that prebuilt binaries are available for your platform - -Note: Bun uses the same native module system as Node.js, so most Node.js troubleshooting steps apply. - ## Still stuck? Browse [previous installation issues](https://github.com/WiseLibs/better-sqlite3/issues?q=is%3Aissue). diff --git a/package.json b/package.json index 1da250a1..8119afcf 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,7 @@ "shell.js" ], "engines": { - "node": "22.x || 24.x", - "bun": ">=1.1.0" + "node": "22.x || 24.x" }, "types": "lib/index.d.ts", "dependencies": {