- Add @sentry/sveltekit: server-side init in hooks.server.ts, client-side in hooks.client.ts; opt-in via PUBLIC_GLITCHTIP_DSN env var; handleError wired up - Add Umami analytics: script tag in +layout.svelte (opt-in via PUBLIC_UMAMI_WEBSITE_ID); track book_view, chapter_read, audio_played events via window.umami?.track - Presign audio endpoint now auto-triggers Kokoro TTS generation when audio is missing (404 → POST /api/audio → return 202); AudioPlayer handles 202 status - Fix listAudioCache: was querying non-existent audio_cache collection; now projects from audio_jobs where status='done' - Add Feedback nav link (desktop + mobile + footer) pointing to feedback.libnovel.cc - Admin scrape page: add full catalogue scrape button; fix retryTask for catalogue kind; show retry button for all failed/cancelled tasks regardless of kind
39 lines
1021 B
JSON
39 lines
1021 B
JSON
{
|
|
"name": "ui",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
|
|
},
|
|
"devDependencies": {
|
|
"@sveltejs/adapter-auto": "^7.0.0",
|
|
"@sveltejs/adapter-node": "^5.5.4",
|
|
"@sveltejs/kit": "^2.50.2",
|
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
"@tailwindcss/vite": "^4.2.1",
|
|
"@types/node": "^25.3.3",
|
|
"clsx": "^2.1.1",
|
|
"svelte": "^5.51.0",
|
|
"svelte-check": "^4.4.2",
|
|
"tailwind-merge": "^3.5.0",
|
|
"tailwindcss": "^4.2.1",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^7.3.1"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1005.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.1005.0",
|
|
"@sentry/sveltekit": "^10.45.0",
|
|
"cropperjs": "^1.6.2",
|
|
"ioredis": "^5.3.2",
|
|
"marked": "^17.0.3",
|
|
"pocketbase": "^0.26.8"
|
|
}
|
|
}
|