- 라우팅 react-router v7, 서버상태 TanStack Query - orval 자동 생성 API 클라이언트(src/api/generated) - 견적/상품/협력사/견적설정 페이지, shadcn UI, 토큰(tokens.css) - 실행: 루트 docker compose (front :3001), README 그에 맞게 정리 - AI Studio 스캐폴드 잔재 제거(metadata.json, 중복 DESIGN_TOKENS.md), 타이틀 NegoData, vite.config 죽은코드 제거 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
55 lines
1.4 KiB
JSON
55 lines
1.4 KiB
JSON
{
|
|
"name": "react-example",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite --port=3000 --host=0.0.0.0",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"clean": "rm -rf dist server.js",
|
|
"lint": "tsc --noEmit",
|
|
"orval": "orval --config ./orval.config.ts"
|
|
},
|
|
"dependencies": {
|
|
"@base-ui/react": "^1.5.0",
|
|
"@fontsource-variable/geist": "^5.2.9",
|
|
"@google/genai": "^2.4.0",
|
|
"@hookform/resolvers": "^5.4.0",
|
|
"@tailwindcss/vite": "^4.1.14",
|
|
"@tanstack/react-query": "^5.62.0",
|
|
"@vitejs/plugin-react": "^5.0.4",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"dotenv": "^17.2.3",
|
|
"express": "^4.21.2",
|
|
"lucide-react": "^0.546.0",
|
|
"motion": "^12.23.24",
|
|
"react": "^19.0.1",
|
|
"react-dom": "^19.0.1",
|
|
"react-hook-form": "^7.79.0",
|
|
"react-router": "^7.17.0",
|
|
"shadcn": "^4.11.0",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tw-animate-css": "^1.4.0",
|
|
"vaul": "^1.1.2",
|
|
"vite": "^6.2.3",
|
|
"zod": "^4.4.3",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@types/express": "^4.17.21",
|
|
"@types/node": "^22.14.0",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"autoprefixer": "^10.4.21",
|
|
"esbuild": "^0.25.0",
|
|
"orval": "^7.3.0",
|
|
"tailwindcss": "^4.1.14",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "~5.8.2",
|
|
"vite": "^6.2.3"
|
|
}
|
|
}
|