{ "name": "web", "private": true, "type": "module", "scripts": { "build": "react-router build --mode production && bun run copy-build.js", "dev": "react-router dev", "start": "serve ./build/client", "types:check": "react-router typegen && tsc --noEmit", "lint": "oxlint", "lint:fix": "oxlint --fix --fix-suggestions --fix-dangerously .", "fmt": "oxfmt", "fmt:check": "oxfmt --check" }, "dependencies": { "@base-ui/react": "^1.7.0", "@hookform/resolvers": "^5.9.1", "@react-router/node": "^8.3.1", "@run-slicer/cfr": "file:./vendor/cfr", "@tanstack/react-query": "^5.102.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "framer-motion": "^13.1.1", "fumadocs-core": "^16.15.4", "fumadocs-mdx": "15.4.0", "fumadocs-ui": "16.15.4", "i18next": "^26.4.0", "isbot": "^5.2.2", "lucide-react": "^1.37.0", "motion": "^13.1.1", "react": "^19.2.8", "react-copy-to-clipboard": "^5.1.1", "react-dom": "^19.2.8", "react-hook-form": "^7.87.0", "react-i18next": "^17.0.12", "react-medium-image-zoom": "^5.4.9", "react-syntax-highlighter": "^16.1.1", "sonner": "^2.0.8", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0", "yup": "^1.7.1" }, "devDependencies": { "@react-router/dev": "^8.3.1", "@tailwindcss/vite": "^4.3.3", "@types/mdx": "^2.0.14", "@types/node": "^26.4.0", "@types/react": "^19.2.18", "@types/react-copy-to-clipboard": "^5.0.7", "@types/react-dom": "^19.2.5", "@types/react-syntax-highlighter": "^15.5.13", "baseline-browser-mapping": "^2.11.20", "oxfmt": "^0.65.0", "oxlint": "^1.80.0", "react-router-devtools": "^6.2.3", "rimraf": "^6.1.3", "serve": "^14.2.6", "tailwindcss": "^4.3.3", "typescript": "^7.0.2", "vite": "^8.2.2", "vite-plugin-devtools-json": "^1.1.0", "vite-tsconfig-paths": "^6.1.1" } }