mirror of
https://github.com/Chevron7Locked/kima-hub.git
synced 2026-06-19 07:37:17 +00:00
60892c12e7
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
84 lines
2.6 KiB
JSON
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"
|
|
}
|
|
}
|