Files
thbd-portal/package.json
T
ogrechkoandClaude Sonnet 5 579528edf7 Initial commit: thbd-portal, duplicated from elmi-portal
Rebranded for Thunderbird Portal (THBD): numbering prefix EL->TH, all
"ELMI"/"ЭЛМИ" UI strings genericized, ELMI's real contract templates and
company legal/bank details removed (not applicable to this company), fresh
VAPID keypair and encryption key, fresh single-migration schema history.
Same architecture as elmi-portal: Web Push notifications, unread-chat app
badge, cookie-session auth.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gh2UXUQUVBWroWEnn1FLFG
2026-08-31 16:33:30 +00:00

50 lines
1.3 KiB
JSON

{
"name": "thbd-portal",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p ${PORT:-8088}",
"lint": "eslint",
"db:generate": "drizzle-kit generate",
"db:migrate": "drizzle-kit migrate",
"bootstrap-admin": "tsx scripts/bootstrap-admin.ts"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.116.0",
"argon2": "^0.45.1",
"better-sqlite3": "^12.11.1",
"docxtemplater": "^3.66.4",
"drizzle-orm": "^0.45.2",
"framer-motion": "^12.4.7",
"html-to-text": "^10.0.0",
"imapflow": "^1.6.6",
"lucide-react": "^0.545.0",
"mailparser": "^3.9.15",
"next": "16.2.12",
"pdf-parse": "^2.4.5",
"pizzip": "^3.2.0",
"react": "19.2.4",
"react-dom": "19.2.4",
"web-push": "^3.6.7",
"xlsx": "^0.18.5",
"zod": "^4.4.3"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.1.16",
"@types/better-sqlite3": "^7.6.13",
"@types/mailparser": "^3.4.6",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/web-push": "^3.6.4",
"drizzle-kit": "^0.31.10",
"eslint": "^9",
"eslint-config-next": "16.2.12",
"tailwindcss": "^4.1.16",
"tsx": "^4.23.1",
"typescript": "^5"
}
}