Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
73b7333
sqlite3: enable 'SQLITE_ENABLE_DBSTAT_VTAB=1' (#1281)
kewde Apr 19, 2020
926fb95
release: 4.2.0 (#1309)
kewde Apr 20, 2020
18c37ae
Simplify binding.gyp
mohd-akram Apr 20, 2020
afa2207
release: 4.2.0 [publish binary]
kewde Apr 21, 2020
0ffea2d
Merge branch 'master' into napi
kewde Apr 27, 2020
cc4b598
prebuilt: add Node 14.x
kewde Apr 27, 2020
1752f42
bug: yarn 2 pnp issues (#1313)
regevbr Apr 27, 2020
34d6283
Merge branch 'mohd-akram-napi'
kewde Apr 27, 2020
5c3c682
release: bump version to 5.0.0
kewde Apr 27, 2020
024bd4f
trace: don't require throw to add trace info for verbose (#1317)
mmghv Apr 28, 2020
dbb3739
release: update changelog 5.0.0
kewde Apr 28, 2020
1690479
ci: remove permission setting (#1319)
kewde May 4, 2020
c1c3c75
prebuilt: add electron 7.2 (#1324)
mtgto May 10, 2020
c196b05
release: 5.0.0 [publish binary]
kewde May 14, 2020
034c05f
prebuilt: re-enable Node 10 [publish binary]
kewde Jun 2, 2020
b3793f2
sqlite3: upgrade to 3.32.3 (#1351)
kewde Jul 2, 2020
be71925
build: Install files to be deployed (#1352)
rzr Jul 2, 2020
29debf3
bug: bad comparison of c string (#1347)
mtgto Jul 2, 2020
6e250c6
Update mention of bundled SQLite version to 3.32.2
ErisDS Jul 9, 2020
c9caae4
Fix worker threads crash (#1367)
mohd-akram Sep 6, 2020
e87dfa4
Fix segfaults (#1368)
mohd-akram Sep 6, 2020
6967909
fix: broken link to MapBox site (#1369)
profnandaa Sep 6, 2020
833f5cc
release: 5.0.1 (#1366) [publish binary]
kewde Sep 9, 2020
2aae3a5
sqlite3: add v3.34 (SHA256 bf6db7fae37d51754737747aaaf413b4d6b3b5fbac…
kewde Jan 8, 2021
0eba2cd
Rebuild binaries before publishing (#1426)
nickrum Feb 14, 2021
ddbbe91
release: attempt to build the NAPI v6 binaries for v5.0.1 [publish bi…
kewde Feb 15, 2021
28d70d6
release: v5.0.2 [publish binary]
kewde Feb 15, 2021
60a022c
napi: temporarily disable v6 (see issue #1444)
kewde Feb 15, 2021
3fb3715
Update node-gyp and node-pre-gyp (#1441)
inukshuk Mar 9, 2021
593c9d4
bug: fix segfault of invalid toString() object (#1450)
kewde Mar 9, 2021
eb7708a
security: tar update
kewde Oct 8, 2021
f53c9ba
Remove `.eslintrc.js` from `.gitignore`
rhansen Dec 3, 2020
4b715ff
Upgrade `eslint` dev dependency
rhansen Dec 3, 2020
c273576
ESLint config: Permit ECMAScript 2017 syntax and globals
rhansen Dec 3, 2020
8c23ffb
ESLint config: Enable `mocha` env for files in `test/`
rhansen Dec 3, 2020
d4c56d4
Run `npx eslint --fix .` to auto-fix lint issues
rhansen Aug 30, 2021
bc5d794
update sqlite3 from 3.34.0 to 3.36.0 (#1476)
Glowin Oct 8, 2021
918052b
sqlite3: enable math functions (#1507)
kewde Oct 10, 2021
8cb9853
Reordered dependencies in `package.json`
daniellockyer Apr 12, 2022
b4e1238
Updated `mocha` dependency to v9
daniellockyer Apr 12, 2022
c80ef79
Enabled Renovate to manage dependencies
daniellockyer Apr 12, 2022
794773e
Updated bundled SQLite to v3.38.2
daniellockyer Apr 12, 2022
6ba5797
Removed `SQLITE_ENABLE_JSON1` option
daniellockyer Apr 12, 2022
a6c893e
Revert "napi: temporarily disable v6"
daniellockyer Apr 12, 2022
987eda3
Removed S3-specific dependencies and template file
daniellockyer Apr 12, 2022
b403819
Updated ignore files
daniellockyer Apr 12, 2022
982f46e
Added testing via GitHub Actions
daniellockyer Apr 12, 2022
7c85933
Updated repository links in `package.json`
daniellockyer Apr 12, 2022
859b95b
Updated `node-gyp` to v8.x
daniellockyer Apr 12, 2022
d9e7d8b
Fixed building on MacOS Monterey 12.3
daniellockyer Apr 12, 2022
8e63848
Updated Windows CI runner to `windows-latest`
daniellockyer Apr 12, 2022
11c988c
Fixed Windows build architecture in CI
daniellockyer Apr 12, 2022
8db96d4
Replaced Python extraction script with JS (#1570)
xPaw Apr 12, 2022
f39b10d
Added missing Node versions to CI
daniellockyer Apr 12, 2022
b58d341
Downgraded `mocha` and `eslint`
daniellockyer Apr 12, 2022
0eb4a0f
Deleted Travis and Appveyor configs
daniellockyer Apr 12, 2022
a597383
Updated badges in README
daniellockyer Apr 12, 2022
71bbdea
Pinned dev dependencies (#1558)
renovate[bot] Apr 12, 2022
b4b3c3a
Deleted `scripts/` directory
daniellockyer Apr 13, 2022
7f744a1
Added prebuilt binaries via GitHub Releases
daniellockyer Apr 12, 2022
bc978c7
Fixed CI step wording
daniellockyer Apr 13, 2022
a21d41f
Fixed uploading binaries to commit artifacts
daniellockyer Apr 13, 2022
426930f
Enabled CI to run when pushing tags
daniellockyer Apr 13, 2022
e3df365
Updated README
daniellockyer Apr 13, 2022
76b6c56
Altered README header
daniellockyer Apr 13, 2022
0e2235a
Altered wording in README
daniellockyer Apr 13, 2022
08d6319
Fixed link to API docs
daniellockyer Apr 13, 2022
9d05c55
Fixed up more README nits
daniellockyer Apr 13, 2022
33d0656
Modernised Usage example in README
daniellockyer Apr 13, 2022
b05f459
Added note about GitHub Releases to CHANGELOG.md
daniellockyer Apr 13, 2022
e5a24fd
Deleted `examples/` folder
daniellockyer Apr 13, 2022
573784b
v5.0.3
daniellockyer Apr 13, 2022
03be5a5
Added `workflow_dispatch` trigger to CI
daniellockyer Apr 14, 2022
57f7ee9
Deleted unused Docker files
daniellockyer Apr 14, 2022
290d34f
Added `{libc}` to binary target name
daniellockyer Apr 14, 2022
122d2b8
Added prebuilt Linux ARM64 binaries to CI
daniellockyer Apr 14, 2022
8b2cdd9
Added musl x64 builds to CI
daniellockyer Apr 14, 2022
aec82c3
Added CI step to print out glibc compatibility
daniellockyer Apr 15, 2022
c5ed10b
Removed `console.log` from test
daniellockyer Apr 15, 2022
b2934e9
Fixed deprecated use of `new Buffer` in tests
daniellockyer Apr 15, 2022
74a2e31
Fixed syntax of bash if statement
daniellockyer Apr 16, 2022
241d710
Fixed prebuilt binary compatibility with older glibc
daniellockyer Apr 17, 2022
73da410
Fixed prebuilt binary compatibility with musl and ARM64 systems
daniellockyer Apr 17, 2022
8ccb907
Fixed CI uploading binaries from QEMU builds
daniellockyer Apr 18, 2022
31ea32b
v5.0.4
daniellockyer Apr 18, 2022
9ca129e
Updated README.md
ErisDS Apr 18, 2022
d4b5063
Switched to file allowlist for NPM publishing
daniellockyer Apr 18, 2022
cdee679
Deleted unused files
daniellockyer Apr 18, 2022
ee4e410
Replaced Makefile with NPM scripts
daniellockyer Apr 20, 2022
a779446
Moved glibc check inside Linux check
daniellockyer Apr 21, 2022
0e23302
Fixed GCC preinclude always present in build
daniellockyer Apr 21, 2022
8d80acf
Inlined Renovate config into `package.json`
daniellockyer Apr 22, 2022
77b1153
Moved CONTRIBUTING.md to `.github/`
daniellockyer Apr 22, 2022
8d0d0fe
Fixed capitalization of Mapbox
daniellockyer Apr 22, 2022
b3d858e
v5.0.5
daniellockyer Apr 22, 2022
ff8568b
Added Node 18 to CI
daniellockyer Apr 22, 2022
22ec429
Updated bundled SQLite to v3.38.3
daniellockyer Apr 27, 2022
199ebeb
v5.0.6
daniellockyer Apr 27, 2022
1ed91fa
Updated CONTRIBUTING.md
daniellockyer Apr 27, 2022
454f416
Improved CI workflow
daniellockyer Apr 27, 2022
6388cac
Added issue templates
daniellockyer Apr 28, 2022
0895b3b
Updated link to docs about Extensions
daniellockyer Apr 28, 2022
a235752
Added `host` architecture concept to CI
daniellockyer Apr 28, 2022
f924bbb
Refactored lib code to let/const
daniellockyer Apr 30, 2022
fcac520
Switched to libuv mutexes
daniellockyer Apr 30, 2022
94af94a
Fixed variable naming
daniellockyer Apr 30, 2022
216e935
Added benchmark for `.each` and `.all`
daniellockyer Apr 30, 2022
5063367
Improved performance by fetching column names once
daniellockyer Apr 30, 2022
9a1b172
Updated bundled SQLite to v3.38.4
daniellockyer May 5, 2022
b431b31
v5.0.7
daniellockyer May 5, 2022
5bf4af9
Update docker/setup-buildx-action action to v2
renovate-bot May 5, 2022
87e7228
Revert "Improved performance by fetching column names once"
daniellockyer May 6, 2022
7c0b46f
v5.0.8
daniellockyer May 6, 2022
c070c5d
Update docker/setup-qemu-action action to v2
renovate-bot May 5, 2022
efee5f0
Fixed method declarations conforming with Node-API default (#1510)
alexanderfloh May 21, 2022
4d31c19
Fixed propagation of async hook IDs through callbacks (#1511)
alexanderfloh May 24, 2022
6deff3c
Updated SQLCipher CPPFLAGS location (#1613)
frovere May 26, 2022
1cd51ea
Updated README.md
daniellockyer May 26, 2022
bbdb2ef
Updated bundled SQLite to v3.39.1
daniellockyer Jul 14, 2022
1523d9e
v5.0.9
daniellockyer Jul 14, 2022
7df0f8c
Addressed CodeQL warnings (#1614)
bpasero Jul 14, 2022
efab48f
Merged release branch into `main`
daniellockyer Jul 14, 2022
097ca62
Updated bundled SQLite to v3.39.2
daniellockyer Jul 22, 2022
d0e0633
v5.0.10
daniellockyer Jul 22, 2022
d3608c9
Moved `benchmark/` folder into `tools/`
daniellockyer Jul 24, 2022
8ffdf39
Restored compatibility for Alpine 3.15
daniellockyer Jul 24, 2022
753edd6
Deleted CHANGELOG.md
daniellockyer Jul 31, 2022
61194ec
v5.0.11
daniellockyer Jul 31, 2022
1bcbf70
Added support for setting SQLite limits
paulfitz Jul 31, 2022
ffda15f
Added library types file
bpasero Jul 31, 2022
a6e3e4a
Moved types file to `lib/`
daniellockyer Jul 31, 2022
e0542d5
Added `package-lock.json` to `.gitignore`
JoelEinbinder Aug 5, 2022
81b6718
Updated bundled SQLite to v3.39.3
daniellockyer Sep 5, 2022
f0090b8
Added `.configure('limit', ...` to library type file
daniellockyer Sep 5, 2022
c366ef9
Fixed remaining method declarations (#1633)
alexanderfloh Sep 8, 2022
572f05e
Fixed importing `sqlite3#verbose` using destructuring syntax (#1632)
mahdi-farnia Sep 8, 2022
97cc584
Added yarn.lock to gitignore
daniellockyer Sep 13, 2022
946a3f6
Added ability to receive updates from `sqlite3_update_hook`
soukand Dec 25, 2019
9e9079d
Updated types file
daniellockyer Sep 14, 2022
9290d8c
v5.1.0
daniellockyer Sep 14, 2022
ec154ab
Added Darwin ARM64 prebuilt binaries
daniellockyer May 19, 2022
ea71343
Added Darwin ARM64 to prebuilt binaries list in README
daniellockyer Sep 15, 2022
c4fca9f
v5.1.1
daniellockyer Sep 15, 2022
7aa29fe
Updated bundled SQLite to v3.39.4
daniellockyer Oct 2, 2022
1980f10
v5.1.2
daniellockyer Oct 3, 2022
aec0d31
Updated bundled SQLite to v3.40.0
daniellockyer Dec 12, 2022
5c94f75
v5.1.3
daniellockyer Dec 12, 2022
8fd18a3
Extracted function checking code into macro
daniellockyer Dec 12, 2022
af8e567
Renamed `master` references to `main`
daniellockyer Dec 12, 2022
57ce2d4
Fixed glib compatibility by downgrading to Ubuntu 20
daniellockyer Dec 12, 2022
aeafe25
Revert "Renamed `master` references to `main`"
daniellockyer Dec 12, 2022
6f6318e
v5.1.4
daniellockyer Dec 12, 2022
8978e4e
Merge remote-tracking branch 'upstream/master' into grist-main
paulfitz Jan 25, 2023
b9d8102
eliminate custom build and test steps
paulfitz Jan 25, 2023
ad20673
trim the number of node versions tested relative to upstream
paulfitz Jan 25, 2023
9e71bd8
update version
paulfitz Jan 26, 2023
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
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module.exports = {
"extends": "eslint:recommended",
"env": {
"es2017": true,
"node": true
},
"rules": {
Expand All @@ -9,4 +10,4 @@ module.exports = {
"semi": ["error", "always"],
"no-cond-assign": ["error", "always"]
}
}
};
14 changes: 14 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Contributing

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:

- 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
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: 🐛 Bug report
description: Report a reproducible issue
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## Welcome 👋
Thank you for taking the time to fill out a bug report 🙂

The more information you provide, the easier & quicker it is for us to diagnose the problem.

Please search the existing issues and recent releases to make sure your problem hasn't already been solved.
- type: textarea
id: summary
attributes:
label: Issue Summary
description: Explain what's wrong
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Also tell us, what did you expect to happen?
placeholder: |
1. This is the first step...
2. This is the second step, etc.
validations:
required: true
- type: input
id: version
attributes:
label: Version
description: What version of `node-sqlite3` are you using?
validations:
required: true
- type: input
id: node
attributes:
label: Node.js Version
validations:
required: true
- type: input
id: os
attributes:
label: How did you install the library?
description: Provide details of your operating system and architecture
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 📖 API documentation
url: https://github.com/TryGhost/node-sqlite3/wiki/API
about: Documentation for the `node-sqlite3` API
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: ✨ Feature request
description: Request a desired feature
labels: ["feature request"]
body:
- type: markdown
attributes:
value: |
## Welcome 👋
Thank you for taking the time to fill out a feature request

The more information you provide, the easier it is for us to understand your use case.
- type: textarea
id: summary
attributes:
label: Summary
description: Explain your use case. How would this improve your life?
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Proposed implementation
description: Give an API proposal. How would the feature work?
placeholder: |
The Database class has a new function called...
validations:
required: true
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/install_problem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: ⚙️ Installation problem
description: Report an issue installing the library
labels: ["install problem"]
body:
- type: markdown
attributes:
value: |
## Welcome 👋
Thank you for taking the time to fill out a report with installing 🙂

The more information you provide, the easier & quicker it is for us to diagnose the problem.

Please search the existing issues and recent releases to make sure your problem hasn't already been solved.
- type: textarea
id: summary
attributes:
label: Issue Summary
description: Explain what's wrong
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant logs or output
placeholder: |
Error when installing `sqlite3` due to...
validations:
required: true
- type: input
id: version
attributes:
label: Version
description: What version of `node-sqlite3` are you using?
validations:
required: true
- type: input
id: node
attributes:
label: Node.js Version
validations:
required: true
- type: input
id: os
attributes:
label: How did you install the library?
description: Provide details of your operating system and architecture
validations:
required: true
171 changes: 171 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
name: CI
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
- grist-main
- grist-main-dev
tags:
- '*'
env:
FORCE_COLOR: 1
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-20.04
- windows-latest
host:
- x64
target:
- x64
node:
- 14
- 16
- 18
include:
- os: windows-latest
node: 16
host: x86
target: x86
# This is a self-hosted runner, github doesn't have this architecture yet.
- os: macos-m1
node: 16
host: arm64
target: arm64
name: ${{ matrix.os }} (node=${{ matrix.node }}, host=${{ matrix.host }}, target=${{ matrix.target }})
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
architecture: ${{ matrix.host }}

- name: Add yarn (self-hosted)
if: matrix.os == 'macos-m1'
run: npm install -g yarn

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

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

- name: Add env vars
shell: bash
run: |
echo "V=1" >> $GITHUB_ENV

if [ "${{ matrix.target }}" = "x86" ]; then
echo "TARGET=ia32" >> $GITHUB_ENV
else
echo "TARGET=${{ matrix.target }}" >> $GITHUB_ENV
fi

- name: Add Linux env vars
if: contains(matrix.os, 'ubuntu')
run: |
echo "CFLAGS=${CFLAGS:-} -include ../src/gcc-preinclude.h" >> $GITHUB_ENV
echo "CXXFLAGS=${CXXFLAGS:-} -include ../src/gcc-preinclude.h" >> $GITHUB_ENV

- name: Configure build
run: yarn node-pre-gyp configure --target_arch=${{ env.TARGET }}

- name: Build binaries
run: yarn node-pre-gyp build --target_arch=${{ env.TARGET }}

- name: Print binary info
if: contains(matrix.os, 'ubuntu')
run: |
ldd lib/binding/*/node_sqlite3.node
echo "---"
nm lib/binding/*/node_sqlite3.node | grep "GLIBC_" | c++filt || true
echo "---"
file lib/binding/napi-v*/*

- name: Run tests
run: yarn test

- name: Package prebuilt binaries
run: yarn node-pre-gyp package --target_arch=${{ env.TARGET }}

- name: Upload binaries to commit artifacts
uses: actions/upload-artifact@v3
if: matrix.node == 16
with:
name: prebuilt-binaries
path: build/stage/*/*
retention-days: 7

- name: Upload binaries to GitHub Release
run: yarn node-pre-gyp-github publish
if: matrix.node == 16 && startsWith(github.ref, 'refs/tags/')
env:
NODE_PRE_GYP_GITHUB_TOKEN: ${{ github.token }}
build-qemu:
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/')
strategy:
fail-fast: false
matrix:
node:
- 16
target:
- linux/arm64
variant:
- bullseye
- alpine3.15
include:
# musl x64 builds
- target: linux/amd64
variant: alpine3.15
node: 16
name: ${{ matrix.variant }} (node=${{ matrix.node }}, target=${{ matrix.target }})
steps:
- uses: actions/checkout@v3

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Build binaries and test
run: |
docker buildx build \
--file ./tools/BinaryBuilder.Dockerfile \
--load \
--tag sqlite-builder \
--platform ${{ matrix.target }} \
--no-cache \
--build-arg VARIANT=${{ matrix.variant }} \
--build-arg NODE_VERSION=${{ matrix.node }} \
.
CONTAINER_ID=$(docker create -it sqlite-builder)
docker cp $CONTAINER_ID:/usr/src/build/build/ ./build

- name: Upload binaries to commit artifacts
uses: actions/upload-artifact@v3
if: matrix.node == 16
with:
name: prebuilt-binaries
path: build/stage/*/*
retention-days: 7

- name: Upload binaries to GitHub Release
run: yarn install --ignore-scripts && yarn node-pre-gyp-github publish
if: matrix.node == 16 && startsWith(github.ref, 'refs/tags/')
env:
NODE_PRE_GYP_GITHUB_TOKEN: ${{ github.token }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ test/nw/app.nw
.dtps
local.env
.mason
.eslintrc.js
setup.sh
/build-tmp-napi-v3
/build-tmp-napi-v6
*.tgz
package-lock.json
yarn.lock
20 changes: 0 additions & 20 deletions .npmignore

This file was deleted.

Loading