{ "name": "craftvia", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "check:guards": "tsx scripts/check-module-guards.ts", "prebuild": "tsx scripts/check-module-guards.ts", "build": "next build", "start": "next start", "lint": "eslint", "test": "tsx scripts/run-tests.ts", "gate": "prisma generate && tsc --noEmit && npm run lint && npm run build && npm run test", "worker:mail": "tsx scripts/mail-worker.ts", "worker:backup": "tsx scripts/backup-worker.ts", "brand:icons": "tsx scripts/generate-brand-icons.ts", "worker:craftvia": "tsx scripts/craftvia-worker.ts" }, "dependencies": { "@anthropic-ai/sdk": "^0.115.0", "@aws-sdk/client-s3": "^3.1103.0", "@base-ui/react": "^1.6.0", "@dnd-kit/core": "^6.3.1", "@node-rs/argon2": "^2.0.2", "@prisma/adapter-pg": "^7.8.0", "@prisma/client": "^7.8.0", "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.3", "bullmq": "^6.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dotenv": "^17.4.2", "ioredis": "^5.11.1", "leaflet": "^1.9.4", "lucide-react": "^1.23.0", "next": "16.2.12", "next-auth": "5.0.0-beta.32", "next-intl": "^4.13.1", "nodemailer": "^8.0.11", "otplib": "^13.4.1", "playwright-core": "^1.63.0", "qrcode": "^1.5.4", "react": "19.2.4", "react-dom": "19.2.4", "shadcn": "^4.12.0", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0", "zod": "^4.4.3" }, "devDependencies": { "@tailwindcss/postcss": "^4", "@types/leaflet": "^1.9.22", "@types/node": "^20", "@types/nodemailer": "^8.0.1", "@types/qrcode": "^1.5.6", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "16.2.12", "prisma": "7.8.0", "tailwindcss": "^4", "tsx": "^4.22.4", "typescript": "^5" }, "overrides": { "postcss": "^8.5.25", "sharp": "^0.35.3", "valibot": "^1.4.2" } }