{ "name": "deafgain-website", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "concurrently \"vite\" \"tsx watch server.ts\"", "build": "ROLLUP_SKIP_NODE_RESOLVE=true tsc -b && vite build", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "@types/express": "^5.0.0", "@types/react-router-dom": "^5.3.3", "@types/react-simple-maps": "^3.0.6", "@upstash/redis": "^1.28.4", "@vitejs/plugin-react": "^4.5.0", "autoprefixer": "^10.4.20", "dotenv": "^16.4.7", "express": "^4.21.2", "framer-motion": "^11.13.5", "next": "^15.3.2", "nodemailer": "^6.9.9", "postcss": "^8.4.49", "react": "^19.0.0", "react-dom": "^19.0.0", "react-icons": "^5.4.0", "react-intersection-observer": "^9.13.1", "react-router-dom": "^7.6.1", "react-simple-maps": "4.0.0-beta.6", "redis": "^5.1.0", "tailwindcss": "^3.4.16", "vite": "^6.3.5" }, "devDependencies": { "@eslint/js": "^9.15.0", "@types/node": "^22.10.1", "@types/nodemailer": "^6.4.14", "@types/react": "^19.0.1", "@types/react-dom": "^19.0.2", "concurrently": "^9.1.2", "eslint": "^9.15.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", "globals": "^15.13.0", "ts-node": "^10.9.2", "tsx": "^4.19.4", "typescript": "~5.7.2", "typescript-eslint": "^8.18.0" }, "packageManager": "pnpm@9.14.2" }