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.

This commit is contained in:
Luke Hagar
2025-08-13 13:06:51 -05:00
parent 6907af2e78
commit 293b24019b
3 changed files with 19 additions and 8 deletions

View File

@@ -36,10 +36,6 @@
"homepage": "https://github.com/LukeHagar/arbiter#readme", "homepage": "https://github.com/LukeHagar/arbiter#readme",
"dependencies": { "dependencies": {
"@scalar/api-reference": "^1.34.2", "@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", "better-sqlite3": "^12.2.0",
"body-parser": "^2.2.0", "body-parser": "^2.2.0",
"chalk": "^5.5.0", "chalk": "^5.5.0",
@@ -57,9 +53,14 @@
"@eslint/eslintrc": "^3.3.1", "@eslint/eslintrc": "^3.3.1",
"@eslint/js": "^9.33.0", "@eslint/js": "^9.33.0",
"@hono/node-server": "^1.18.2", "@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/chalk": "^2.2.4",
"@types/commander": "^2.12.5", "@types/commander": "^2.12.5",
"@types/http-proxy": "^1.17.16", "@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": "^24.2.1",
"@types/node-fetch": "^2.6.13", "@types/node-fetch": "^2.6.13",
"@typescript-eslint/eslint-plugin": "^8.39.1", "@typescript-eslint/eslint-plugin": "^8.39.1",

10
pnpm-lock.yaml generated
View File

@@ -69,6 +69,9 @@ importers:
'@hono/node-server': '@hono/node-server':
specifier: ^1.18.2 specifier: ^1.18.2
version: 1.18.2(hono@4.9.1) version: 1.18.2(hono@4.9.1)
'@types/better-sqlite3':
specifier: ^7.6.13
version: 7.6.13
'@types/chalk': '@types/chalk':
specifier: ^2.2.4 specifier: ^2.2.4
version: 2.2.4 version: 2.2.4
@@ -763,6 +766,9 @@ packages:
'@tsconfig/node16@1.0.4': '@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 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': '@types/body-parser@1.19.6':
resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==}
@@ -3744,6 +3750,10 @@ snapshots:
'@tsconfig/node16@1.0.4': {} '@tsconfig/node16@1.0.4': {}
'@types/better-sqlite3@7.6.13':
dependencies:
'@types/node': 24.2.1
'@types/body-parser@1.19.6': '@types/body-parser@1.19.6':
dependencies: dependencies:
'@types/connect': 3.4.38 '@types/connect': 3.4.38

View File

@@ -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[] } }; const empty = { log: { version: '1.2', creator: { name: 'Arbiter', version: '1.0.0' }, entries: [] as any[] } };
if (!this.db) return empty; if (!this.db) return empty;
try { 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') .prepare('SELECT startedDateTime, time, request, response FROM har_entries ORDER BY id ASC')
.all(); .all();
const entries = rows.map((r) => { const entries = rows.map((r: { startedDateTime: string; time: number; request: string; response: string }) => {
let req: any = {}; let req: any = {};
let res: any = {}; let res: any = {};
try { try {
@@ -124,8 +124,8 @@ export class SQLiteStorage implements StorageAdapter {
async getAllEndpoints(): Promise<Array<{ path: string; method: string; data: any }>> { async getAllEndpoints(): Promise<Array<{ path: string; method: string; data: any }>> {
if (!this.db) return []; if (!this.db) return [];
try { try {
const rows = this.db.prepare('SELECT path, method, data FROM endpoints').all(); const rows: Array<{ path: string; method: string; data: string }> = this.db.prepare('SELECT path, method, data FROM endpoints').all();
return rows.map((r) => { return rows.map((r: { path: string; method: string; data: string }) => {
let data: any = {}; let data: any = {};
try { try {
data = JSON.parse(r.data); data = JSON.parse(r.data);