package.json 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. {
  2. "name": "xinghen-course-workshop",
  3. "private": true,
  4. "version": "0.1.0",
  5. "type": "module",
  6. "scripts": {
  7. "dev": "concurrently -n web,server -c blue,cyan \"vite\" \"tsx watch server/index.ts\"",
  8. "build": "tsc -b && vite build",
  9. "start": "tsx server/index.ts",
  10. "check": "tsc -b --pretty false",
  11. "db:migrate": "tsx server/migrate.ts"
  12. },
  13. "dependencies": {
  14. "@fastify/cors": "^10.0.2",
  15. "@fastify/multipart": "^9.0.3",
  16. "@fastify/static": "^8.1.1",
  17. "@types/qrcode": "^1.5.6",
  18. "dompurify": "^3.4.15",
  19. "fast-xml-parser": "^5.11.1",
  20. "fastify": "^5.2.1",
  21. "jszip": "^3.10.2",
  22. "lucide-react": "^0.468.0",
  23. "pdfjs-dist": "^6.3.289",
  24. "pg": "^8.13.1",
  25. "qrcode": "^1.5.4",
  26. "react": "^19.0.0",
  27. "react-dom": "^19.0.0",
  28. "react-router-dom": "^7.1.1",
  29. "sanitize-html": "^2.17.7",
  30. "tsx": "^4.19.2",
  31. "zod": "^3.24.1"
  32. },
  33. "devDependencies": {
  34. "@types/node": "^22.10.2",
  35. "@types/pg": "^8.11.10",
  36. "@types/react": "^19.0.2",
  37. "@types/react-dom": "^19.0.2",
  38. "@types/sanitize-html": "^2.16.1",
  39. "@vitejs/plugin-react": "^4.3.4",
  40. "concurrently": "^9.1.2",
  41. "typescript": "~5.7.2",
  42. "vite": "^6.0.5"
  43. }
  44. }