| { |
| "name": "react-example", |
| "private": true, |
| "version": "0.0.0", |
| "type": "module", |
| "scripts": { |
| "dev": "vite", |
| "dev:backend": "uvicorn backend.main:app --reload", |
| "build": "vite build", |
| "clean": "rm -rf dist server.cjs", |
| "lint": "tsc --noEmit", |
| "test": "vitest run && python -m pytest backend/test_backend.py", |
| "dev:legacy": "tsx server.ts", |
| "build:legacy": "vite build && esbuild server.ts --bundle --platform=node --format=cjs --packages=external --sourcemap --outfile=dist/server.cjs", |
| "start:legacy": "node dist/server.cjs" |
| }, |
| "dependencies": { |
| "@better-auth/passkey": "^1.6.11", |
| "@google/genai": "^2.4.0", |
| "@simplewebauthn/browser": "^13.3.0", |
| "@tailwindcss/vite": "^4.1.14", |
| "@types/prismjs": "^1.26.6", |
| "@vitejs/plugin-react": "^5.0.4", |
| "better-auth": "^1.6.11", |
| "dotenv": "^17.2.3", |
| "express": "^4.21.2", |
| "html2pdf.js": "^0.14.0", |
| "lucide-react": "^0.546.0", |
| "motion": "^12.23.24", |
| "prismjs": "^1.30.0", |
| "react": "^19.0.1", |
| "react-dom": "^19.0.1", |
| "react-markdown": "^10.1.0", |
| "rehype-raw": "^7.0.0", |
| "rehype-sanitize": "^6.0.0", |
| "remark-gfm": "^4.0.1", |
| "vite": "^6.2.3" |
| }, |
| "devDependencies": { |
| "@types/express": "^4.17.21", |
| "@types/node": "^22.14.0", |
| "autoprefixer": "^10.4.21", |
| "esbuild": "^0.25.0", |
| "tailwindcss": "^4.1.14", |
| "tsx": "^4.21.0", |
| "typescript": "~5.8.2", |
| "vite": "^6.2.3", |
| "vitest": "^3.0.0" |
| } |
| } |
|
|