From 121a3dad4225431e8941d3c751c9487120e1ceff Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Sun, 25 May 2025 23:00:28 +0100 Subject: [PATCH 1/7] fix all warnings --- bench/bench_bun.js | 1 + bench/bench_bun_ffi.js | 1 + bench/bench_deno_wasm.js | 2 +- bench/bench_node.js | 1 + bench/northwind/deno_old.js | 2 +- bench/northwind/node.mjs | 2 +- deno.json | 5 +++++ package.json | 3 +++ 8 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bench/bench_bun.js b/bench/bench_bun.js index 96e1f16..a1866bb 100644 --- a/bench/bench_bun.js +++ b/bench/bench_bun.js @@ -1,3 +1,4 @@ +import process from "node:process"; import { Database } from "bun:sqlite"; // Unsafe concurrency is default. diff --git a/bench/bench_bun_ffi.js b/bench/bench_bun_ffi.js index 376c99e..d3a061c 100644 --- a/bench/bench_bun_ffi.js +++ b/bench/bench_bun_ffi.js @@ -1,3 +1,4 @@ +import process from "node:process"; import { dlopen, ptr } from "bun:ffi"; import { diff --git a/bench/bench_deno_wasm.js b/bench/bench_deno_wasm.js index 3bed502..ea35d38 100644 --- a/bench/bench_deno_wasm.js +++ b/bench/bench_deno_wasm.js @@ -1,4 +1,4 @@ -import { DB } from "https://deno.land/x/sqlite/mod.ts"; +import { DB } from "https://deno.land/x/sqlite@v3.9.1/mod.ts"; import { nextTick } from "https://deno.land/std@0.126.0/node/_next_tick.ts"; const db = new DB(":memory:"); diff --git a/bench/bench_node.js b/bench/bench_node.js index 13d9785..b3931b1 100644 --- a/bench/bench_node.js +++ b/bench/bench_node.js @@ -1,3 +1,4 @@ +import process from "node:process"; const db = require("better-sqlite3")(":memory:"); db.exec("PRAGMA auto_vacuum = none"); diff --git a/bench/northwind/deno_old.js b/bench/northwind/deno_old.js index 256a757..7f1fd3c 100644 --- a/bench/northwind/deno_old.js +++ b/bench/northwind/deno_old.js @@ -1,5 +1,5 @@ import { Database } from "https://deno.land/x/sqlite3@0.4.3/mod.ts"; -import { bench, run } from "../node_modules/mitata/src/cli.mjs"; +import { bench, run } from "../../node_modules/mitata/src/cli.mjs"; const db = new Database("./bench/northwind.sqlite"); diff --git a/bench/northwind/node.mjs b/bench/northwind/node.mjs index 0ae2728..a24dd82 100644 --- a/bench/northwind/node.mjs +++ b/bench/northwind/node.mjs @@ -1,5 +1,5 @@ import { bench, run } from "mitata"; -import { createRequire } from "module"; +import { createRequire } from "node:module"; const require = createRequire(import.meta.url); const db = require("better-sqlite3")("./bench/northwind.sqlite"); diff --git a/deno.json b/deno.json index e6f9715..99b18e9 100644 --- a/deno.json +++ b/deno.json @@ -46,5 +46,10 @@ "explicit-module-boundary-types" ] } + }, + "compilerOptions": { + "types": [ + "./node_modules/bun-types/index.d.ts" + ] } } diff --git a/package.json b/package.json index 6d2443f..216ebdf 100644 --- a/package.json +++ b/package.json @@ -23,5 +23,8 @@ "dependencies": { "better-sqlite3": "^7.6.2", "mitata": "^0.1.6" + }, + "devDependencies": { + "bun-types": "^1.2.14" } } From 606ffe86fabce8d207690133f2ff67bcc626efc5 Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Sun, 25 May 2025 23:02:32 +0100 Subject: [PATCH 2/7] lint bench --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 90045b0..9a9f7d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: run: deno fmt --check --ignore=sqlite - name: Lint - run: deno lint --ignore=sqlite,bench + run: deno lint --ignore=sqlite - name: Check run: deno check src/ test/ scripts/ mod.ts From d1861c1d714de3dbd5707e3a1f0933f01d5df5fa Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Mon, 26 May 2025 07:58:17 +0100 Subject: [PATCH 3/7] Remove sqlite ignore flag from lint step in CI workflow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a9f7d3..bf425ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: run: deno fmt --check --ignore=sqlite - name: Lint - run: deno lint --ignore=sqlite + run: deno lint - name: Check run: deno check src/ test/ scripts/ mod.ts From 342d6943bbc9666a8e53786517c859ba25d8ab0b Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Mon, 26 May 2025 07:58:55 +0100 Subject: [PATCH 4/7] Remove sqlite from deno fmt ignore list in CI workflow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf425ac..597f7ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: deno-version: "v2.x" - name: Check Formatting - run: deno fmt --check --ignore=sqlite + run: deno fmt --check - name: Lint run: deno lint From 67b66ec65e23ee70029a082693cfee6a871b187a Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Mon, 26 May 2025 08:03:18 +0100 Subject: [PATCH 5/7] ignore sqlite3 dir from deno lsp --- deno.json | 1 + 1 file changed, 1 insertion(+) diff --git a/deno.json b/deno.json index 99b18e9..c491e27 100644 --- a/deno.json +++ b/deno.json @@ -7,6 +7,7 @@ "exclude": [ "sqlite", + "sqlite3", "scripts" ], From 8850d7a2ce7641b92115de97b9de1d87de574c9d Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Mon, 26 May 2025 08:07:00 +0100 Subject: [PATCH 6/7] ignore sqlite3 dir from deno lsp --- deno.json | 7 ------- src/statement.ts | 28 +++++++++++++++++++++++----- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/deno.json b/deno.json index c491e27..ee130fb 100644 --- a/deno.json +++ b/deno.json @@ -7,7 +7,6 @@ "exclude": [ "sqlite", - "sqlite3", "scripts" ], @@ -28,12 +27,6 @@ "bench-bun:northwind": "bun run bench/northwind/bun.js" }, - "fmt": { - "exclude": [ - "sqlite" - ] - }, - "lint": { "exclude": ["bench"], "rules": { diff --git a/src/statement.ts b/src/statement.ts index e1df083..d768c61 100644 --- a/src/statement.ts +++ b/src/statement.ts @@ -468,7 +468,13 @@ export class Statement> { )(getColumn); let status = sqlite3_step(handle); while (status === SQLITE3_ROW) { - result.push(getRowArray(handle, this.int64 ?? this.db.int64, this.parseJson ?? this.db.parseJson)); + result.push( + getRowArray( + handle, + this.int64 ?? this.db.int64, + this.parseJson ?? this.db.parseJson, + ), + ); status = sqlite3_step(handle); } if (status !== SQLITE3_DONE) { @@ -501,7 +507,13 @@ export class Statement> { )(getColumn); let status = sqlite3_step(handle); while (status === SQLITE3_ROW) { - result.push(getRowArray(handle, this.int64 ?? this.db.int64, this.parseJson ?? this.db.parseJson)); + result.push( + getRowArray( + handle, + this.int64 ?? this.db.int64, + this.parseJson ?? this.db.parseJson, + ), + ); status = sqlite3_step(handle); } if (!this.#hasNoArgs && !this.#bound && params.length) { @@ -514,9 +526,15 @@ export class Statement> { return result as T[]; } - #rowObjectFn: ((h: Deno.PointerValue, int64: boolean, parseJson: boolean) => any) | undefined; + #rowObjectFn: + | ((h: Deno.PointerValue, int64: boolean, parseJson: boolean) => any) + | undefined; - getRowObject(): (h: Deno.PointerValue, int64: boolean, parseJson: boolean) => any { + getRowObject(): ( + h: Deno.PointerValue, + int64: boolean, + parseJson: boolean, + ) => any { if (!this.#rowObjectFn || !this.#unsafeConcurrency) { const columnNames = this.columnNames(); const getRowObject = new Function( @@ -733,7 +751,7 @@ export class Statement> { /** Iterate over resultant rows from query. */ *iter(...params: RestBindParameters): IterableIterator { - this.#begin(); + this.#begin(); this.#bindAll(params); const getRowObject = this.getRowObject(); const int64 = this.int64 ?? this.db.int64; From 7bc4f08226b33706d00ead8680f2948913374990 Mon Sep 17 00:00:00 2001 From: Nbiba Bedis Date: Mon, 26 May 2025 09:02:40 +0100 Subject: [PATCH 7/7] Trigger CI