From 293b24019b0a47541fa76e705cb41e2b369b0eb2 Mon Sep 17 00:00:00 2001 From: Luke Hagar Date: Wed, 13 Aug 2025 13:06:51 -0500 Subject: [PATCH] Refactor package.json to reorganize type dependencies and add @types/better-sqlite3; update pnpm-lock.yaml accordingly. Enhance type definitions in sqlite.ts for better type safety. --- package.json | 9 +++++---- pnpm-lock.yaml | 10 ++++++++++ src/storage/sqlite.ts | 8 ++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index d3ea3b5b..86d00f6b 100644 --- a/package.json +++ b/package.json @@ -36,10 +36,6 @@ "homepage": "https://github.com/LukeHagar/arbiter#readme", "dependencies": { "@scalar/api-reference": "^1.34.2", - "@types/cors": "^2.8.19", - "@types/express": "^5.0.3", - "@types/serve-static": "^1.15.8", - "@types/swagger-ui-express": "^4.1.8", "better-sqlite3": "^12.2.0", "body-parser": "^2.2.0", "chalk": "^5.5.0", @@ -57,9 +53,14 @@ "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.33.0", "@hono/node-server": "^1.18.2", + "@types/cors": "^2.8.19", + "@types/better-sqlite3": "^7.6.13", + "@types/express": "^5.0.3", "@types/chalk": "^2.2.4", "@types/commander": "^2.12.5", "@types/http-proxy": "^1.17.16", + "@types/serve-static": "^1.15.8", + "@types/swagger-ui-express": "^4.1.8", "@types/node": "^24.2.1", "@types/node-fetch": "^2.6.13", "@typescript-eslint/eslint-plugin": "^8.39.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37b0036d..5c4c90f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,6 +69,9 @@ importers: '@hono/node-server': specifier: ^1.18.2 version: 1.18.2(hono@4.9.1) + '@types/better-sqlite3': + specifier: ^7.6.13 + version: 7.6.13 '@types/chalk': specifier: ^2.2.4 version: 2.2.4 @@ -763,6 +766,9 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/better-sqlite3@7.6.13': + resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} + '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -3744,6 +3750,10 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@types/better-sqlite3@7.6.13': + dependencies: + '@types/node': 24.2.1 + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 diff --git a/src/storage/sqlite.ts b/src/storage/sqlite.ts index 26a949d0..e40e9624 100644 --- a/src/storage/sqlite.ts +++ b/src/storage/sqlite.ts @@ -78,10 +78,10 @@ export class SQLiteStorage implements StorageAdapter { const empty = { log: { version: '1.2', creator: { name: 'Arbiter', version: '1.0.0' }, entries: [] as any[] } }; if (!this.db) return empty; try { - const rows = this.db + const rows: Array<{ startedDateTime: string; time: number; request: string; response: string }> = this.db .prepare('SELECT startedDateTime, time, request, response FROM har_entries ORDER BY id ASC') .all(); - const entries = rows.map((r) => { + const entries = rows.map((r: { startedDateTime: string; time: number; request: string; response: string }) => { let req: any = {}; let res: any = {}; try { @@ -124,8 +124,8 @@ export class SQLiteStorage implements StorageAdapter { async getAllEndpoints(): Promise> { if (!this.db) return []; try { - const rows = this.db.prepare('SELECT path, method, data FROM endpoints').all(); - return rows.map((r) => { + const rows: Array<{ path: string; method: string; data: string }> = this.db.prepare('SELECT path, method, data FROM endpoints').all(); + return rows.map((r: { path: string; method: string; data: string }) => { let data: any = {}; try { data = JSON.parse(r.data);