{
	"name": "web",
	"private": true,
	"type": "module",
	"scripts": {
		"build": "vite build",
		"serve": "vite preview",
		"dev": "vite dev",
		"dev:bare": "vite dev"
	},
	"dependencies": {
		"@base-ui/react": "^1.0.0",
		"@kk/api": "workspace:*",
		"@kk/auth": "workspace:*",
		"@kk/db": "workspace:*",
		"@kk/env": "workspace:*",
		"@libsql/client": "catalog:",
		"@orpc/client": "catalog:",
		"@orpc/openapi": "catalog:",
		"@orpc/server": "catalog:",
		"@orpc/tanstack-query": "^1.12.2",
		"@orpc/zod": "catalog:",
		"@react-three/drei": "^10.7.7",
		"@react-three/fiber": "^9.5.0",
		"@tailwindcss/vite": "^4.1.8",
		"@tanstack/react-form": "^1.28.0",
		"@tanstack/react-query": "^5.80.6",
		"@tanstack/react-router": "^1.141.1",
		"@tanstack/react-router-with-query": "^1.130.17",
		"@tanstack/react-start": "^1.141.1",
		"@tanstack/router-plugin": "^1.141.1",
		"better-auth": "catalog:",
		"canvas-confetti": "^1.9.4",
		"class-variance-authority": "^0.7.1",
		"clsx": "^2.1.1",
		"dotenv": "catalog:",
		"html5-qrcode": "^2.3.8",
		"libsql": "catalog:",
		"lucide-react": "^0.525.0",
		"next-themes": "^0.4.6",
		"qrcode": "^1.5.4",
		"react": "19.2.3",
		"react-dom": "19.2.3",
		"shadcn": "^3.6.2",
		"sonner": "^2.0.3",
		"tailwind-merge": "^3.3.1",
		"tailwindcss": "^4.1.3",
		"three": "^0.183.1",
		"tw-animate-css": "^1.2.5",
		"vite-tsconfig-paths": "^5.1.4",
		"zod": "catalog:"
	},
	"devDependencies": {
		"@cloudflare/vite-plugin": "^1.17.1",
		"@kk/config": "workspace:*",
		"@tanstack/react-query-devtools": "^5.91.1",
		"@tanstack/react-router-devtools": "^1.141.1",
		"@testing-library/dom": "^10.4.0",
		"@testing-library/react": "^16.2.0",
		"@types/canvas-confetti": "^1.9.0",
		"@types/qrcode": "^1.5.6",
		"@types/react": "19.2.7",
		"@types/react-dom": "19.2.3",
		"@types/three": "^0.183.1",
		"@vitejs/plugin-react": "^5.0.4",
		"alchemy": "catalog:",
		"jsdom": "^26.0.0",
		"typescript": "catalog:",
		"vite": "^7.0.2",
		"web-vitals": "^5.0.3",
		"wrangler": "^4.54.0"
	}
}
