{
  "name": "veza-frontend",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "dev:lab": "bash ./scripts/start_lab.sh",
    "dev:mocks": "VITE_USE_MSW=1 vite",
    "build": "vite build",
    "preview": "vite preview",
    "test": "vitest",
    "test:ui": "vitest --ui",
    "test:e2e": "playwright test",
    "test:e2e:msw": "cross-env VITE_USE_MSW=1 playwright test",
    "test:e2e:mocks": "playwright test --config=playwright.config.mocks.ts",
    "test:e2e:mocks:ui": "playwright test --config=playwright.config.mocks.ts --ui",
    "lint": "eslint . --ext ts,tsx",
    "lint:fix": "eslint . --ext ts,tsx --fix",
    "typecheck": "tsc --noEmit",
    "generate:types": "bash ./scripts/generate-types.sh",
    "validate:schemas": "vitest run src/schemas",
    "validate:types": "npm run typecheck",
    "validate:all": "npm run validate:types && npm run validate:schemas",
    "fmt": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
    "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
    "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
    "qa:smoke": "make smoke",
    "qa:e2e": "make e2e",
    "qa:postman": "make postman",
    "qa:lh": "make lighthouse",
    "qa:k6": "make load",
    "qa:visual": "make visual",
    "qa:visual:update": "make visual-update",
    "qa:backstop:ref": "make backstop-ref",
    "qa:backstop:test": "make backstop-test",
    "qa:loki": "make loki",
    "qa:a11y": "make a11y",
    "qa:all": "make qa-all",
    "prepare": "husky"
  },
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@hookform/resolvers": "^3.3.4",
    "@radix-ui/react-dialog": "^1.1.15",
    "@radix-ui/react-slot": "^1.2.4",
    "@sentry/react": "^10.32.1",
    "@tanstack/react-query": "^5.17.0",
    "@tanstack/react-virtual": "^3.13.12",
    "@types/dompurify": "^3.0.5",
    "axios": "^1.6.7",
    "clsx": "^2.1.0",
    "date-fns": "^4.1.0",
    "dompurify": "^3.3.0",
    "emoji-picker-react": "^4.16.1",
    "framer-motion": "^12.29.2",
    "hls.js": "^1.6.14",
    "i18next": "^25.5.2",
    "i18next-browser-languagedetector": "^8.2.0",
    "immer": "^10.0.3",
    "lucide-react": "^0.321.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-dropzone": "^14.3.8",
    "react-hook-form": "^7.49.3",
    "react-hot-toast": "^2.6.0",
    "react-i18next": "^15.7.3",
    "react-router-dom": "^6.22.0",
    "rollup-plugin-visualizer": "^6.0.5",
    "swagger-ui-dist": "^5.31.0",
    "swagger-ui-react": "^5.31.0",
    "tailwind-merge": "^2.2.1",
    "zod": "^3.25.76",
    "zustand": "^4.5.0"
  },
  "devDependencies": {
    "@lhci/cli": "^0.12.0",
    "@openapitools/openapi-generator-cli": "^2.27.0",
    "@playwright/test": "^1.41.2",
    "@tailwindcss/postcss": "^4.0.0",
    "@testing-library/jest-dom": "^6.4.2",
    "@testing-library/react": "^14.2.1",
    "@testing-library/user-event": "^14.5.2",
    "@types/node": "^20.11.5",
    "@types/react": "^18.2.48",
    "@types/react-dom": "^18.2.18",
    "@types/react-dropzone": "^4.2.2",
    "@types/swagger-ui-react": "^5.18.0",
    "@types/uuid": "^10.0.0",
    "@typescript-eslint/eslint-plugin": "^8.0.0",
    "@typescript-eslint/parser": "^8.0.0",
    "@vitejs/plugin-react": "^4.2.1",
    "@vitest/coverage-v8": "^3.2.4",
    "autoprefixer": "^10.4.17",
    "babel-plugin-react-remove-properties": "^0.3.1",
    "backstopjs": "^6.2.3",
    "cross-env": "^7.0.3",
    "eslint": "^9.0.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-react": "^7.37.0",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-react-refresh": "^0.4.5",
    "husky": "^9.1.7",
    "jsdom": "^24.0.0",
    "msw": "^2.11.2",
    "newman": "^6.1.0",
    "pa11y-ci": "^3.0.1",
    "prettier": "^3.2.5",
    "tailwindcss": "^4.0.0",
    "tw-animate-css": "^1.4.0",
    "typescript": "^5.3.3",
    "vite": "^7.1.5",
    "vitest": "^3.2.4"
  },
  "keywords": [
    "react",
    "typescript",
    "vite",
    "tailwindcss",
    "kodo-design-system",
    "zustand",
    "websocket",
    "music",
    "streaming",
    "collaboration"
  ],
  "author": "Veza Team",
  "license": "MIT",
  "description": "Application web moderne pour la plateforme Veza de streaming et collaboration musicale",
  "msw": {
    "workerDirectory": [
      "public"
    ]
  }
}
