{ "name": "xinghen-course-workshop", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "concurrently -n web,server -c blue,cyan \"vite\" \"tsx watch server/index.ts\"", "build": "tsc -b && vite build", "start": "tsx server/index.ts", "check": "tsc -b --pretty false", "db:migrate": "tsx server/migrate.ts" }, "dependencies": { "@fastify/cors": "^10.0.2", "@fastify/multipart": "^9.0.3", "@fastify/static": "^8.1.1", "fastify": "^5.2.1", "lucide-react": "^0.468.0", "pg": "^8.13.1", "react": "^19.0.0", "react-dom": "^19.0.0", "react-router-dom": "^7.1.1", "tsx": "^4.19.2", "zod": "^3.24.1" }, "devDependencies": { "@types/node": "^22.10.2", "@types/pg": "^8.11.10", "@types/react": "^19.0.2", "@types/react-dom": "^19.0.2", "@vitejs/plugin-react": "^4.3.4", "concurrently": "^9.1.2", "typescript": "~5.7.2", "vite": "^6.0.5" } }