{ "name": "claw-email-webapp", "version": "0.1.0", "private": true, "type": "module", "scripts": { "dev": "tsx src/server/index.ts", "dev:web": "vite --config src/web/vite.config.ts --host 0.0.0.0", "build": "vite build --config src/web/vite.config.ts && esbuild src/server/index.ts --bundle --platform=node --target=node22 --format=esm --outfile=dist/server/index.js --packages=external", "build:cloudflare": "vite build --config src/web/vite.config.ts", "deploy": "npm run build:cloudflare && npx wrangler deploy", "cf:deploy": "npm run deploy", "cf:migrate": "npx wrangler d1 migrations apply DB --remote", "start": "node dist/server/index.js", "typecheck": "tsc -p tsconfig.json --noEmit" }, "cloudflare": { "bindings": { "DB": { "description": "D1 database used to store managed mailboxes, synced mail metadata, attachment metadata, and Claw runtime settings." }, "ADMIN_PASSWORD": { "description": "Admin password required by every `/api/*` request. Set a strong random value before using the deployed app." } } }, "dependencies": { "@clawemail/node-sdk": "^0.2.4", "@fastify/static": "^8.1.1", "@supabase/supabase-js": "^2.108.2", "@vitejs/plugin-react": "^5.1.1", "better-sqlite3": "^12.5.0", "dotenv": "^17.2.3", "fastify": "^5.6.2", "react": "^19.2.3", "react-dom": "^19.2.3", "tweetnacl": "^1.0.3", "vite": "^7.2.7", "ws": "^8.20.0", "zod": "^4.2.1" }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", "@types/node": "^25.5.0", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "esbuild": "^0.27.4", "pg": "^8.21.0", "tsx": "^4.21.0", "typescript": "^5.9.3" } }