{ "name": "mes-budgets-participatifs", "version": "0.2.0", "private": true, "scripts": { "dev": "next dev --turbopack", "build": "next build --turbopack", "start": "next start", "lint": "eslint", "lint:fix": "eslint --fix", "test:security": "node scripts/test-security.js", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:e2e": "playwright test", "test:working": "node scripts/run-tests.js" }, "dependencies": { "@headlessui/react": "^2.2.7", "@heroicons/react": "^2.2.0", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-progress": "^1.1.7", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@supabase/supabase-js": "^2.56.0", "@types/dompurify": "^3.0.5", "@types/nodemailer": "^7.0.1", "@types/qrcode": "^1.5.5", "@types/xlsx": "^0.0.35", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dompurify": "^3.2.6", "dotenv": "^17.2.1", "lucide-react": "^0.541.0", "next": "15.5.0", "nodemailer": "^7.0.5", "qrcode": "^1.5.4", "react": "19.1.0", "react-dom": "19.1.0", "tailwind-merge": "^3.3.1", "xlsx": "^0.18.5" }, "devDependencies": { "@eslint/eslintrc": "^3", "@playwright/test": "^1.42.1", "@tailwindcss/postcss": "^4", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.12", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^9", "eslint-config-next": "15.5.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "msw": "^2.2.3", "playwright": "^1.42.1", "tailwindcss": "^4", "tw-animate-css": "^1.3.7", "typescript": "^5" } }