Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
766c264
fix: replace withdrawn SQLite 3.52.0 with stable 3.51.3
MatheusBaldi Mar 13, 2026
7f4d920
forked TryGhost/node-sqlite3 branch master to gms1/node-sqlite3 branc…
gms1 Mar 20, 2026
40acd70
git ignore
gms1 Mar 20, 2026
c45aeb4
changed npm package to @homeofthings scope
gms1 Mar 20, 2026
32eca27
npm publishing via ci and trusted publisher
gms1 Mar 20, 2026
7d4c26b
fixed badges
gms1 Mar 20, 2026
67e27dd
fixed badges
gms1 Mar 20, 2026
35f9413
fixed badges
gms1 Mar 20, 2026
a3e2554
Merge branch 'pr-1858'
gms1 Mar 20, 2026
98f3a53
fixed npm version badge
gms1 Mar 20, 2026
2139e8e
fixed changelog
gms1 Mar 20, 2026
008327d
6.1.0
gms1 Mar 20, 2026
dc302eb
ci fixed
gms1 Mar 20, 2026
7a1e985
6.2.0
gms1 Mar 20, 2026
38c9d63
Revert "6.2.0"
gms1 Mar 20, 2026
c131bea
Revert "6.1.0"
gms1 Mar 20, 2026
11a2f64
6.1.0
gms1 Mar 20, 2026
5ed15f1
ci: updated microsoft/setup-msbuild to version 2
gms1 Mar 20, 2026
6153915
fixed ci version check
gms1 Mar 20, 2026
c17caad
linting and benchmark
gms1 Mar 22, 2026
9e7b42c
enforce linting via ci workflow
gms1 Mar 22, 2026
ad4be33
use the lockfile inside ci workflow
gms1 Mar 22, 2026
08ed986
refactored benchmarks
gms1 Mar 27, 2026
e8a03a3
improved documentation
gms1 Mar 28, 2026
70e8673
fixed undefined behavior
gms1 Mar 28, 2026
3d34230
Merge pull request #2 from gms1/fix/null-pointer-empty-blob
gms1 Mar 28, 2026
c0a8604
6.1.1
gms1 Mar 28, 2026
48e95e8
fix exception handling
gms1 Mar 28, 2026
859747d
Merge pull request #3 from gms1/fix/exception-handling
gms1 Mar 28, 2026
67353fe
hardening
gms1 Mar 28, 2026
d76c462
remove -fcf-protection from non-x86 builds
gms1 Mar 28, 2026
d4e7a84
Merge pull request #4 from gms1/feature/hardening
gms1 Mar 28, 2026
0cf28e4
6.2.0
gms1 Mar 28, 2026
e8b60a2
promise api
gms1 Mar 28, 2026
de1adc9
added API documentation
gms1 Mar 28, 2026
e65ae16
memory bank
gms1 Mar 28, 2026
6d09418
Merge pull request #5 from gms1/feature/promise-api
gms1 Mar 29, 2026
d855c81
memory bank update
gms1 Mar 29, 2026
696709f
update docs
gms1 Apr 4, 2026
92b9bb7
git ignore
gms1 Apr 4, 2026
a39e22b
fix potential crash during shutdown
gms1 Apr 4, 2026
fa937a7
Merge pull request #6 from gms1/fix/potential_crash
gms1 Apr 4, 2026
8b2f124
upgrade dependencies
gms1 Apr 5, 2026
5034be3
memory-bank
gms1 Apr 10, 2026
11eeb58
fix queue processing deadlock
gms1 Apr 10, 2026
ed9972c
Merge pull request #7 from gms1/fix/queue-processing-deadlock
gms1 Apr 10, 2026
0d007a3
6.3.0
gms1 Apr 10, 2026
c7a7368
Set package ecosystem to 'yarn' in dependabot config
gms1 Apr 10, 2026
50b7c2b
Bump axios from 1.14.0 to 1.15.0
dependabot[bot] Apr 10, 2026
cd7b817
Merge pull request #8 from gms1/dependabot/npm_and_yarn/axios-1.15.0
gms1 Apr 10, 2026
91e5a38
Potential fix for code scanning alert no. 4: Workflow does not contai…
gms1 Apr 10, 2026
04539b6
Merge pull request #9 from gms1/alert-autofix-4
gms1 Apr 10, 2026
49288d3
memory bank
gms1 Apr 10, 2026
702e8b0
fixed new promise api not included in npm package
gms1 Apr 11, 2026
81a57f7
6.3.1
gms1 Apr 11, 2026
cf85619
documented transaction isolation behavior
gms1 Apr 11, 2026
2bce512
document the need for finalizing prepared statements before closing t…
gms1 Apr 11, 2026
e0fd517
fixed benchmark
gms1 Apr 11, 2026
8c94cc1
renamed benchmark to benchmark-internal
gms1 Apr 11, 2026
cce7442
benchmark for comparing event loop utilization for different sqlite d…
gms1 Apr 11, 2026
0667846
benchmark for simulating long running queries
gms1 Apr 12, 2026
7fc5a66
Merge pull request #10 from gms1/feature/event-loop-utilization-bench…
gms1 Apr 12, 2026
da4b989
document benchmark
gms1 Apr 12, 2026
191e0df
document the history of this project
gms1 Apr 12, 2026
62be25b
document the history of this project
gms1 Apr 12, 2026
ac973b8
document the history of this project
gms1 Apr 12, 2026
6a1ebfb
Bump follow-redirects in the npm_and_yarn group across 1 directory
dependabot[bot] Apr 15, 2026
59eadeb
Merge pull request #11 from gms1/dependabot/npm_and_yarn/npm_and_yarn…
gms1 Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# EditorConfig is awesome: https://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

# Matches multiple files with the same settings
[*.js;*.ts]
indent_size = 4

[*.json]
indent_size = 2

[*.yml]
indent_size = 2

[*.md]
trim_trailing_whitespace = false
indent_size = 2

[*.sql]
indent_size = 2

# C/C++ files
[*.cc]
indent_size = 2
indent_style = tab
max_line_length = 100

[*.h]
indent_size = 2
indent_style = tab
max_line_length = 100

# Makefile and GYP files use tabs
[{Makefile,*.gyp}]
indent_style = tab

# Dockerfiles
[Dockerfile]
indent_size = 2

# YAML files
[*.yaml]
indent_size = 2
13 changes: 0 additions & 13 deletions .eslintrc.js

This file was deleted.

4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Mark SQLite database files as binary to prevent line ending conversions
*.db binary
*.sqlite binary
*.sqlite3 binary
3 changes: 1 addition & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ General guidelines for contributing to node-sqlite3

## Install Help

If you've landed here due to a failed install of `node-sqlite3` then feel free to create a [new issue](https://github.com/tryghost/node-sqlite3/issues/new) to ask for help. The most likely problem is that we do not yet provide pre-built binaries for your particular platform and so the `node-sqlite3` install attempted a source compile but failed because you are missing the [dependencies for node-gyp](https://github.com/nodejs/node-gyp#installation). Provide as much detail on your problem as possible and we'll try to help. Include:
If you've landed here due to a failed install of `node-sqlite3` then feel free to create a [new issue](https://github.com/gms1/node-sqlite3/issues/new) to ask for help. The most likely problem is that we do not yet provide pre-built binaries for your particular platform and so the `node-sqlite3` install attempted a source compile but failed because you are missing the [dependencies for node-gyp](https://github.com/nodejs/node-gyp#installation). Provide as much detail on your problem as possible and we'll try to help. Include:

- Logs of failed install (preferably from running `npm install sqlite3 --loglevel=info`)
- Version of `node-sqlite3` you tried to install
- Node version you are running
- Operating system and architecture you are running, e.g. `Windows 7 64 bit`.

The release process is documented in the wiki: https://github.com/TryGhost/node-sqlite3/wiki/Release-process
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 📖 API documentation
url: https://github.com/TryGhost/node-sqlite3/wiki/API
url: https://github.com/gms1/node-sqlite3/wiki/API
about: Documentation for the `node-sqlite3` API
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "yarn" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
82 changes: 75 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,61 @@ on:
pull_request:
push:
branches:
- master
- main
tags:
- '*'
permissions:
contents: read
env:
FORCE_COLOR: 1
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
verify-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Verify tag version matches package.json
run: |
# Check if we're running on a tag
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
# Extract tag name from GITHUB_REF (e.g., refs/tags/v6.0.2 -> v6.0.2)
TAG_NAME="${GITHUB_REF#refs/tags/}"
# Remove 'v' prefix if present to get the version number
TAG_VERSION="${TAG_NAME#v}"

# Get version from package.json
PACKAGE_VERSION=$(node -p "require('./package.json').version")

echo "Tag version: $TAG_VERSION"
echo "Package version: $PACKAGE_VERSION"

if [ "$TAG_VERSION" != "$PACKAGE_VERSION" ]; then
echo "ERROR: Tag version ($TAG_VERSION) does not match package.json version ($PACKAGE_VERSION)"
echo "Please update package.json or create a new tag with the correct version"
echo "GitHub release will NOT be created."
exit 1
fi

echo "Version match verified!"
else
echo "Skipping version verification - not a tag event"
fi

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts
- name: Run lint
run: yarn lint

build:
permissions:
contents: write
needs: [verify-version, lint]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -69,13 +114,13 @@ jobs:
architecture: ${{ matrix.host }}

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3
uses: microsoft/setup-msbuild@v2
if: contains(matrix.os, 'windows')
with:
msbuild-architecture: ${{ matrix.target }}

- name: Install dependencies
run: yarn install --ignore-scripts
run: yarn install --frozen-lockfile --ignore-scripts

- name: Check Node compatibility
run: node tools/semver-check.js
Expand Down Expand Up @@ -125,6 +170,9 @@ jobs:
if: matrix.node == 24 && startsWith(github.ref, 'refs/tags/')

build-musl:
permissions:
contents: write
needs: [verify-version]
if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/')
strategy:
fail-fast: false
Expand Down Expand Up @@ -161,5 +209,25 @@ jobs:
retention-days: 7

- name: Upload binaries to GitHub Release
run: yarn install --ignore-scripts && yarn upload --upload-all ${{ github.token }}
run: yarn install --frozen-lockfile --ignore-scripts && yarn upload --upload-all ${{ github.token }}
if: startsWith(github.ref, 'refs/tags/')

publish-npm:
needs: [build, build-musl]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
registry-url: https://registry.npmjs.org

- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts

- name: Publish to npm
run: npm publish
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ local.env
setup.sh
/build-tmp-napi-v3
/build-tmp-napi-v6
/.nyc_output
*.tgz
package-lock.json
prebuilds
.vscode
.clinerules
.roomodes
/plans
/tools/temp
Loading
Loading