- Add notification router (sendEmail, sendPush, sendSMS, device mgmt, prefs) - Create provider clients: Resend, Firebase Admin (FCM), Twilio - Add notification_preferences table to Drizzle schema - Create branded email templates (welcome, alert, password reset, family invite, billing) - Implement notification service with error handling and E.164 validation - Wire router into app root - Write unit tests with mocked providers (25 tests passing) - Add resend, firebase-admin, twilio dependencies
52 lines
1.3 KiB
JSON
52 lines
1.3 KiB
JSON
{
|
|
"name": "web",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"start": "vite start",
|
|
"preview": "vite preview",
|
|
"test": "vitest run",
|
|
"lint": "tsc --noEmit",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:push": "drizzle-kit push",
|
|
"db:migrate": "tsx src/server/db/migrate.ts",
|
|
"db:seed": "tsx src/server/db/seed.ts"
|
|
},
|
|
"dependencies": {
|
|
"@solidjs/meta": "^0.29.4",
|
|
"@solidjs/router": "^0.15.0",
|
|
"@solidjs/start": "2.0.0-alpha.2",
|
|
"@solidjs/vite-plugin-nitro-2": "^0.1.0",
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@trpc/client": "^10.45.2",
|
|
"@trpc/server": "^10.45.2",
|
|
"@types/three": "^0.184.1",
|
|
"@typeschema/valibot": "^0.13.4",
|
|
"bcryptjs": "^3.0.3",
|
|
"drizzle-orm": "^0.45.2",
|
|
"firebase-admin": "^13.10.0",
|
|
"jose": "^5",
|
|
"pg": "^8.21.0",
|
|
"resend": "^6.12.4",
|
|
"solid-js": "^1.9.5",
|
|
"stripe": "^22.1.1",
|
|
"tailwindcss": "^4.0.0",
|
|
"three": "^0.184.0",
|
|
"twilio": "^6.0.2",
|
|
"valibot": "^0.29.0",
|
|
"vite": "^7.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"devDependencies": {
|
|
"@types/pg": "^8.20.0",
|
|
"drizzle-kit": "^0.31.10",
|
|
"jsdom": "^29.1.1",
|
|
"tsx": "^4.22.3",
|
|
"vite-plugin-solid": "^2.11.12",
|
|
"vitest": "^4.1.5"
|
|
}
|
|
}
|