|
30 | 30 | "framer-motion": "^11.12.0", |
31 | 31 | "react": "^18.3.1", |
32 | 32 | "react-dom": "^18.3.1", |
| 33 | + "recoil": "^0.7.7", |
33 | 34 | "socket.io-client": "^4.8.1", |
34 | 35 | "tailwind-merge": "^2.5.4", |
35 | 36 | "three": "^0.171.0" |
36 | 37 | }, |
37 | 38 | "devDependencies": { |
38 | 39 | "@eslint/js": "^9.13.0", |
| 40 | + "@playwright/test": "^1.51.0", |
39 | 41 | "@tanstack/router-cli": "^1.79.0", |
40 | 42 | "@tanstack/router-devtools": "^1.81.1", |
41 | 43 | "@tanstack/router-plugin": "^1.79.0", |
| 44 | + "@testing-library/dom": "^10.4.0", |
| 45 | + "@testing-library/react": "^16.2.0", |
42 | 46 | "@types/node": "^22.9.0", |
43 | 47 | "@types/react": "^18.3.12", |
44 | 48 | "@types/react-dom": "^18.3.1", |
45 | 49 | "@vitejs/plugin-react": "^4.3.3", |
46 | 50 | "autoprefixer": "^10.4.20", |
| 51 | + "cssnano": "^7.0.6", |
47 | 52 | "eslint": "^9.13.0", |
48 | 53 | "eslint-plugin-react-hooks": "^5.0.0", |
49 | 54 | "eslint-plugin-react-refresh": "^0.4.14", |
50 | 55 | "globals": "^15.11.0", |
| 56 | + "jsdom": "^26.0.0", |
51 | 57 | "msw": "^2.6.4", |
52 | 58 | "postcss": "^8.4.48", |
53 | 59 | "prettier": "^3.3.3", |
| 60 | + "rollup-plugin-visualizer": "^5.14.0", |
| 61 | + "sharp": "^0.33.5", |
54 | 62 | "tailwindcss": "^3.4.14", |
55 | 63 | "typescript": "~5.6.3", |
56 | 64 | "typescript-eslint": "^8.11.0", |
57 | 65 | "vite": "^5.4.10", |
| 66 | + "vite-plugin-compression2": "^1.3.3", |
| 67 | + "vite-plugin-image-optimizer": "^1.1.8", |
58 | 68 | "vite-tsconfig-paths": "^5.1.3", |
59 | 69 | "vitest": "^2.1.4" |
60 | 70 | }, |
|
0 commit comments