{ "name": "react-example", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "tsx server.ts", "build": "vite build && esbuild server.ts --bundle --platform=node --format=cjs --packages=external --sourcemap --outfile=dist/server.cjs", "start": "node dist/server.cjs", "preview": "vite preview", "clean": "rm -rf dist server.js", "lint": "tsc --noEmit", "test": "vitest run" }, "dependencies": { "@headlessui/react": "^2.2.10", "@hookform/resolvers": "^5.8.0", "@stripe/react-stripe-js": "^6.8.1", "@stripe/stripe-js": "^9.13.0", "@supabase/supabase-js": "^2.112.3", "@tailwindcss/vite": "^4.1.14", "@tanstack/react-query": "^5.101.4", "@tanstack/react-table": "^9.1.2", "@testing-library/jest-dom": "^7.0.1", "@tiptap/react": "^3.30.1", "@tiptap/starter-kit": "^3.30.1", "@vitejs/plugin-react": "^5.0.4", "axios": "^1.19.0", "clsx": "^2.1.1", "cors": "^2.8.6", "date-fns": "^4.4.0", "dompurify": "^3.4.13", "dotenv": "^17.2.3", "express": "^4.21.2", "express-rate-limit": "^8.6.2", "lucide-react": "^0.546.0", "morgan": "^1.11.0", "motion": "^12.23.24", "react": "^19.0.1", "react-dom": "^19.0.1", "react-hook-form": "^7.85.0", "react-hot-toast": "^2.6.0", "react-router-dom": "^7.18.2", "recharts": "^3.10.1", "stripe": "^22.5.0", "tailwind-merge": "^3.6.0", "zod": "^4.4.3" }, "devDependencies": { "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.8", "@types/cors": "^2.8.19", "@types/dompurify": "^3.2.0", "@types/express": "^5.0.6", "@types/morgan": "^1.9.10", "@types/node": "^22.14.0", "@types/supertest": "^7.2.1", "autoprefixer": "^10.4.21", "esbuild": "^0.25.0", "jsdom": "^30.0.1", "supertest": "^7.2.2", "tailwindcss": "^4.1.14", "tsx": "^4.21.0", "typescript": "~5.8.2", "vite": "^6.2.3", "vitest": "^4.1.10" } }