{
  "name": "ppanel-user-web",
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "vite --port 3000",
    "build": "vite build && tsc",
    "serve": "vite preview",
    "lint": "biome lint",
    "check": "biome check",
    "i18n:extract": "i18next-cli extract",
    "i18n:sync": "i18next-cli sync",
    "i18n:status": "i18next-cli status"
  },
  "dependencies": {
    "@faker-js/faker": "^10.0.0",
    "react": "^19.2.0",
    "react-dom": "^19.2.0",
    "@lottiefiles/dotlottie-react": "^0.17.15",
    "@stripe/react-stripe-js": "^5.4.0",
    "@stripe/stripe-js": "^8.5.2",
    "@tailwindcss/vite": "^4.0.6",
    "@tanstack/match-sorter-utils": "^8.19.4",
    "@tanstack/react-devtools": "^0.7.0",
    "@tanstack/react-form": "^1.0.0",
    "@tanstack/react-router-devtools": "^1.132.0",
    "@tanstack/react-table": "^8.21.2",
    "@tanstack/router-plugin": "^1.132.0",
    "@workspace/typescript-config": "workspace:*",
    "@workspace/ui": "workspace:*",
    "ahooks": "^3.9.6",
    "framer-motion": "^12.23.24",
    "js-yaml": "^4.1.1",
    "qrcode.react": "^4.2.0",
    "react-copy-to-clipboard": "^5.1.0",
    "react-helmet-async": "^2.0.5",
    "react-turnstile": "^1.1.4",
    "zustand": "^5.0.8"
  },
  "devDependencies": {
    "@types/js-yaml": "^4.0.9",
    "@tanstack/devtools-vite": "^0.3.11",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/react": "^16.2.0",
    "@vitejs/plugin-react": "^5.0.4",
    "jsdom": "^27.0.0",
    "vite": "^7.1.7",
    "vitest": "^3.0.5",
    "web-vitals": "^5.1.0"
  }
}
