package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "mailboxes",
"version": "0.2.1",
"private": true,
"description": "Self-hosted email client with an AI agent — send, receive, search and draft replies from your own domain, running entirely on Cloudflare Workers (D1 + R2 + Workers AI).",
"license": "AGPL-3.0-only",
"author": "Doforu",
"repository": {
"type": "git",
"url": "git+https://github.com/doforu-labs/Mailboxes.git"
},
"bugs": {
"url": "https://github.com/doforu-labs/Mailboxes/issues"
},
"homepage": "https://github.com/doforu-labs/Mailboxes#readme",
"keywords": [
"email",
"self-hosted",
"cloudflare-workers",
"ai-agent",
"d1",
"r2",
"react-router",
"hono"
],
"engines": {
"node": ">=20"
},
"type": "module",
"cloudflare": {
"label": "Mailboxes",
"products": [
"Workers",
"D1",
"R2",
"Workers AI"
]
},
"scripts": {
"build": "react-router build && node scripts/inject-deploy-guard.mjs",
"cf-typegen": "wrangler types",
"db:create": "wrangler d1 create mailboxes-db",
"db:migrate": "wrangler d1 migrations apply DB --remote",
"db:migrate:local": "wrangler d1 migrations apply DB --local",
"db:preview": "wrangler d1 migrations apply DB --preview",
"deploy": "npm run build && wrangler d1 migrations apply DB --remote && wrangler deploy",
"deploy:full": "npm run build && wrangler deploy && wrangler d1 migrations apply DB --remote",
"postinstall": "npx --yes patch-package",
"predev": "npx --yes patch-package",
"dev": "react-router dev",
"preview": "npm run build && vite preview",
"setup": "node scripts/setup.mjs",
"test": "node --experimental-test-module-mocks --import tsx --test 'workers/**/*.test.ts'",
"typecheck": "npm run cf-typegen && react-router typegen && tsc -b"
},
"dependencies": {
"@cloudflare/kumo": "^1.13.0",
"@phosphor-icons/react": "^2.1.10",
"@tanstack/react-query": "^5.99.0",
"@tiptap/extension-color": "3.32.0",
"@tiptap/extension-highlight": "3.32.0",
"@tiptap/extension-image": "3.32.0",
"@tiptap/extension-link": "3.32.0",
"@tiptap/extension-text-align": "3.32.0",
"@tiptap/extension-text-style": "3.32.0",
"@tiptap/extension-underline": "3.32.0",
"@tiptap/react": "3.32.0",
"@tiptap/starter-kit": "3.32.0",
"dompurify": "^3.3.3",
"drizzle-orm": "^0.45.1",
"hono": "^4.7.11",
"i18next": "^26.4.2",
"i18next-browser-languagedetector": "^8.2.1",
"isbot": "^5.1.27",
"lucide-react": "^1.24.0",
"playwright": "^1.61.1",
"postal-mime": "^2.6.1",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-i18next": "^17.0.15",
"react-router": "^7.18.4",
"sonner": "^2.0.7",
"zod": "^3.25.76",
"zustand": "^5.0.12"
},
"overrides": {
"@cloudflare/kumo": {
"zod": "$zod"
},
"braces": "^3.0.3",
"micromatch": "^4.0.8",
"@tiptap/core": "3.32.0",
"@tiptap/pm": "3.32.0",
"@tiptap/extensions": "3.32.0",
"@tiptap/extension-blockquote": "3.32.0",
"@tiptap/extension-bold": "3.32.0",
"@tiptap/extension-bubble-menu": "3.32.0",
"@tiptap/extension-bullet-list": "3.32.0",
"@tiptap/extension-code": "3.32.0",
"@tiptap/extension-code-block": "3.32.0",
"@tiptap/extension-document": "3.32.0",
"@tiptap/extension-dropcursor": "3.32.0",
"@tiptap/extension-floating-menu": "3.32.0",
"@tiptap/extension-gapcursor": "3.32.0",
"@tiptap/extension-hard-break": "3.32.0",
"@tiptap/extension-heading": "3.32.0",
"@tiptap/extension-horizontal-rule": "3.32.0",
"@tiptap/extension-italic": "3.32.0",
"@tiptap/extension-list": "3.32.0",
"@tiptap/extension-list-item": "3.32.0",
"@tiptap/extension-list-keymap": "3.32.0",
"@tiptap/extension-ordered-list": "3.32.0",
"@tiptap/extension-paragraph": "3.32.0",
"@tiptap/extension-strike": "3.32.0",
"@tiptap/extension-text": "3.32.0"
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.64.0",
"@cloudflare/workers-types": "^5.20261019.1",
"@playwright/test": "^1.61.1",
"@react-router/dev": "^7.18.4",
"@react-router/node": "^7.18.4",
"@tailwindcss/vite": "^4.1.4",
"@types/dompurify": "^3.0.5",
"@types/node": "^20.19.37",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"patch-package": "^8.0.1",
"tailwindcss": "^4.3.2",
"tsx": "^4.23.0",
"typescript": "^5.8.3",
"vite": "^6.3.3",
"vite-tsconfig-paths": "^5.1.4",
"wrangler": "^4.151.2"
}
}