{
  "name": "frontend",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/utilities": "^3.2.2",
    "@measured/puck": "^0.20.2",
    "@react-google-maps/api": "^2.20.7",
    "@stripe/connect-js": "^3.3.31",
    "@stripe/react-connect-js": "^3.3.31",
    "@stripe/react-stripe-js": "^5.4.1",
    "@stripe/stripe-js": "^8.5.3",
    "@tanstack/react-query": "^5.90.10",
    "@types/react-grid-layout": "^1.3.6",
    "@types/react-syntax-highlighter": "^15.5.13",
    "axios": "^1.13.2",
    "date-fns": "^4.1.0",
    "framer-motion": "^12.23.24",
    "i18next": "^25.6.3",
    "i18next-browser-languagedetector": "^8.2.0",
    "i18next-http-backend": "^3.0.2",
    "lucide-react": "^0.554.0",
    "react": "^19.2.0",
    "react-dom": "^19.2.0",
    "react-grid-layout": "^1.5.2",
    "react-hot-toast": "^2.6.0",
    "react-i18next": "^16.3.5",
    "react-phone-number-input": "^3.4.14",
    "react-router-dom": "^7.9.6",
    "react-syntax-highlighter": "^16.1.0",
    "recharts": "^3.5.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.1",
    "@playwright/test": "^1.48.0",
    "@tailwindcss/postcss": "^4.1.17",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/node": "^24.10.1",
    "@types/react": "^19.2.6",
    "@types/react-dom": "^19.2.3",
    "@vitejs/plugin-react": "^5.1.1",
    "@vitest/coverage-v8": "^4.0.15",
    "autoprefixer": "^10.4.22",
    "eslint": "^9.39.1",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-react-refresh": "^0.4.24",
    "globals": "^16.5.0",
    "jsdom": "^27.2.0",
    "postcss": "^8.5.6",
    "tailwindcss": "^4.1.17",
    "typescript": "^5.9.3",
    "vite": "^7.2.4",
    "vitest": "^4.0.15"
  },
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint .",
    "preview": "vite preview",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:watch": "vitest --watch",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:e2e:headed": "playwright test --headed"
  }
}
