Files
kima-hub/backend/package.json
T
Your Name 60892c12e7 fix: multi-container docker-compose proxy, audiobookshelf sync bugs, add sync button
Fixes #158 -- fresh docker-compose install shows login instead of setup
wizard because Next.js rewrites were compiled with 127.0.0.1:3006 baked
in. Added NEXT_PUBLIC_BACKEND_URL as a Dockerfile build arg, defaulting
to http://backend:3006 in docker-compose.yml so the frontend container
proxies to the backend service correctly.

Audiobookshelf sync fixes:
- syncAudiobook returns boolean; skipped books no longer count as synced
- Sync notification now surfaces failed/skipped counts
- downloadCover has 10s fetch timeout (was unbounded)
- book.size changed to book.media?.size for audio-only size

Added sync button on audiobooks page so users can trigger a sync without
going through settings or the enrichment system.

Bump to v1.7.2
2026-03-18 13:50:18 -05:00

84 lines
2.6 KiB
JSON

{
"name": "kima-backend",
"version": "1.7.2",
"description": "Kima backend API server",
"license": "GPL-3.0",
"repository": {
"type": "git",
"url": "https://github.com/Chevron7Locked/kima-hub.git"
},
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc",
"start": "node dist/index.js",
"db:migrate": "prisma migrate deploy",
"db:studio": "prisma studio",
"seed:user": "tsx seeds/createUser.ts",
"typecheck": "tsc --noEmit",
"test": "jest",
"test:smoke": "tsx scripts/smoke.ts",
"sync": "tsx src/workers/sync.ts",
"create:testuser": "tsx scripts/create-test-user.ts",
"generate:vocabulary": "tsx scripts/generateVibeVocabulary.ts"
},
"dependencies": {
"@bull-board/api": "^6.20.3",
"@bull-board/express": "^6.20.3",
"@ffmpeg-installer/ffmpeg": "^1.1.0",
"@prisma/client": "^5.22.0",
"@types/fluent-ffmpeg": "^2.1.28",
"@types/node-cron": "^3.0.11",
"@types/qrcode": "^1.5.6",
"@types/speakeasy": "^2.0.10",
"axios": "^1.13.6",
"bcrypt": "^6.0.0",
"bullmq": "^5.70.1",
"connect-redis": "^7.1.0",
"cors": "^2.8.5",
"date-fns": "^4.1.0",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-rate-limit": "^8.2.1",
"express-session": "^1.17.3",
"fast-xml-parser": "^5.4.1",
"ffmpeg-static": "^5.2.0",
"fluent-ffmpeg": "^2.1.3",
"fuzzball": "^2.2.3",
"helmet": "^7.1.0",
"ioredis": "^5.10.0",
"jsonwebtoken": "^9.0.2",
"multer": "^2.1.0",
"music-metadata": "^11.10.0",
"node-cron": "^4.2.1",
"p-limit": "^7.2.0",
"p-queue": "^9.0.0",
"podcast-index-api": "^1.1.10",
"prom-client": "^15.1.3",
"qrcode": "^1.5.4",
"redis": "^4.6.10",
"rss-parser": "^3.13.0",
"sharp": "^0.34.5",
"speakeasy": "^2.0.0",
"typed-emitter": "^2.1.0",
"umap-js": "^1.4.0",
"zod": "^3.22.4"
},
"devDependencies": {
"@types/bcrypt": "^5.0.2",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.21",
"@types/express-session": "^1.17.10",
"@types/jest": "^30.0.0",
"@types/jsonwebtoken": "^9.0.10",
"@types/multer": "^2.0.0",
"@types/node": "^20.10.4",
"@types/supertest": "^7.2.0",
"jest": "^30.2.0",
"prisma": "^5.22.0",
"supertest": "^7.2.2",
"ts-jest": "^29.4.6",
"tsx": "^4.7.0",
"typescript": "^5.3.3"
}
}