136 lines
4.3 KiB
JSON
136 lines
4.3 KiB
JSON
{
|
|
"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 --report-unused-disable-directives --max-warnings 0",
|
|
"lint:fix": "eslint . --ext ts,tsx --fix",
|
|
"typecheck": "tsc --noEmit",
|
|
"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"
|
|
},
|
|
"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-avatar": "^1.0.4",
|
|
"@radix-ui/react-checkbox": "^1.0.4",
|
|
"@radix-ui/react-dialog": "^1.0.5",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
"@radix-ui/react-label": "^2.0.2",
|
|
"@radix-ui/react-radio-group": "^1.3.8",
|
|
"@radix-ui/react-select": "^2.0.0",
|
|
"@radix-ui/react-separator": "^1.0.3",
|
|
"@radix-ui/react-slider": "^1.3.6",
|
|
"@radix-ui/react-slot": "^1.0.2",
|
|
"@radix-ui/react-switch": "^1.0.3",
|
|
"@radix-ui/react-tabs": "^1.0.4",
|
|
"@radix-ui/react-toast": "^1.1.5",
|
|
"@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",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clsx": "^2.1.0",
|
|
"date-fns": "^4.1.0",
|
|
"dompurify": "^3.3.0",
|
|
"emoji-picker-react": "^4.16.1",
|
|
"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",
|
|
"tailwind-merge": "^2.2.1",
|
|
"zod": "^3.25.76",
|
|
"zustand": "^4.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@lhci/cli": "^0.12.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/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
"@typescript-eslint/parser": "^8.0.0",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"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",
|
|
"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",
|
|
"typescript": "^5.3.3",
|
|
"vite": "^7.1.5",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"keywords": [
|
|
"react",
|
|
"typescript",
|
|
"vite",
|
|
"tailwindcss",
|
|
"shadcn-ui",
|
|
"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"
|
|
]
|
|
}
|
|
}
|