{ "name": "kita-planer", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build && node scripts/prepare-standalone.mjs", "build:prod": "prisma generate && next build && node scripts/prepare-standalone.mjs", "start": "next start", "start:prod": "sh .next/standalone/scripts/start-production.sh", "lint": "eslint", "prisma:generate": "prisma generate", "prisma:migrate": "prisma migrate dev", "prisma:studio": "prisma studio", "db:seed": "prisma db seed", "db:seed:reset": "prisma db seed -- --reset", "db:migrate:deploy": "prisma migrate deploy", "test:security": "node --test tests/security.test.cjs", "db:provision-runtime": "node scripts/provision-runtime-role.mjs", "uploads:backfill": "tsx scripts/backfill-attachment-sizes.ts", "uploads:cleanup": "tsx scripts/cleanup-attachments.ts", "test:security:http": "node tests/security-http.cjs", "test:staff": "tsx --test tests/staff-calculations.test.ts", "test:staff:integration": "tsx --test tests/staff-service.test.ts", "test:alarms": "tsx --experimental-test-module-mocks --test tests/notdienst-alarm.test.ts", "test:parent-flows": "tsx --test tests/parent-flows.test.ts", "test:parent-flows:integration": "tsx --experimental-test-module-mocks --test tests/parent-flows.integration.test.ts", "test:family-absence": "tsx --test tests/absence-policy.test.ts", "test:family-absence:integration": "tsx --experimental-test-module-mocks --test tests/family-absence-flows.integration.test.ts" }, "prisma": { "seed": "tsx prisma/seed.ts" }, "dependencies": { "@hookform/resolvers": "^5.2.2", "@prisma/client": "^6.19.3", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", "@react-email/components": "^1.0.12", "@react-email/render": "^2.0.8", "bcryptjs": "^3.0.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^4.1.0", "lucide-react": "^1.14.0", "next": "^16.4.0", "next-auth": "^5.0.0-beta.32", "next-themes": "^0.4.6", "react": "19.2.4", "react-dom": "19.2.4", "react-hook-form": "^7.75.0", "react-markdown": "^10.1.0", "remark-gfm": "^4.0.1", "resend": "^6.12.3", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "zod": "^4.4.2" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/bcryptjs": "^2.4.6", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "^16.4.0", "prisma": "^6.19.3", "tailwindcss": "^4", "tsx": "^4.21.0", "typescript": "^5" }, "overrides": { "@prisma/config": { "deepmerge-ts": "8.0.0" }, "tsx": { "esbuild": "^0.28.1" } } }