{ "name": "life-k-line", "private": true, "version": "1.0.0", "type": "module", "scripts": { "dev": "concurrently -n server,client -c blue,green \"npm run dev:server\" \"npm run dev:client\"", "dev:client": "vite", "dev:server": "node server/index.js", "build": "vite build", "preview": "vite preview", "start": "node server/index.js", "generate-content": "node scripts/generate-content.js", "import-content": "node scripts/import-content.js", "seed-cases": "node scripts/seed-cases.js", "seed-knowledge": "node scripts/seed-knowledge.js", "test-apis": "node test-apis.js" }, "dependencies": { "bcryptjs": "^2.4.3", "better-sqlite3": "^12.5.0", "cookie-parser": "^1.4.6", "dotenv": "^16.4.5", "express": "^4.19.2", "framer-motion": "^12.23.26", "html2canvas": "^1.4.1", "ics": "^3.8.1", "jsonwebtoken": "^9.0.2", "lucide-react": "^0.561.0", "lunar-javascript": "^1.7.7", "nanoid": "^5.0.7", "node-cron": "^3.0.3", "node-fetch": "^3.3.2", "nodemailer": "^6.9.8", "qrcode.react": "^4.2.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-helmet-async": "^2.0.5", "react-router-dom": "^7.10.1", "recharts": "^2.12.7" }, "devDependencies": { "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", "@vitejs/plugin-react": "^4.2.1", "autoprefixer": "^10.4.19", "concurrently": "^9.0.1", "postcss": "^8.4.38", "rollup-plugin-visualizer": "^6.0.5", "tailwindcss": "^3.4.3", "typescript": "^5.2.2", "vite": "^5.2.0" } }