{ "name": "fraud-intelligence-dashboard", "private": true, "version": "2.4.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "test": "vitest run", "test:all": "vitest run", "test:e2e": "vitest run src/e2e", "test:integration": "vitest run src/integration src/pages", "test:unit": "vitest run src/components src/utils src/services src/api", "test:responsive": "vite build && playwright test e2e-responsive", "test:e2e:workflows": "playwright test e2e-workflows --project=desktop-1440-chromium", "test:e2e:workflows:firefox": "playwright test e2e-workflows --project=laptop-1280-firefox", "test:e2e:workflows:all": "playwright test e2e-workflows", "test:visual": "vite build && playwright test e2e-visual --project=desktop-standard", "test:visual:update": "vite build && playwright test e2e-visual --project=desktop-standard --update-snapshots", "test:a11y": "vite build && playwright test e2e-a11y --project=desktop-1440-chromium", "test:mutation": "vitest run src/utils/__tests__/mutationHardening.test.ts src/utils/__tests__/formatters.test.ts", "test:mutation:stryker": "npx stryker run", "test:watch": "vitest" }, "dependencies": { "@tanstack/react-query": "^5.102.8", "@testing-library/react": "^16.3.3", "@types/three": "^0.185.4", "@upstash/ratelimit": "^2.0.8", "@upstash/redis": "^1.38.3", "@xyflow/react": "^12.11.5", "axios": "^1.20.0", "cytoscape": "^3.34.3", "framer-motion": "^11.15.0", "lucide-react": "^1.44.0", "react": "^19.3.0", "react-dom": "^19.3.0", "react-router-dom": "^7.18.3", "recharts": "^3.10.1", "three": "^0.185.1", "vitest": "^5.0.5", "zustand": "^5.0.0" }, "devDependencies": { "@axe-core/playwright": "^4.13.0", "@eslint/js": "^9.17.0", "@playwright/test": "^1.63.0", "@tailwindcss/postcss": "^4.3.3", "@tailwindcss/vite": "^4.0.0", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/user-event": "^14.6.7", "@types/node": "^26.0.1", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^4.3.0", "@vitest/coverage-v8": "^5.0.5", "autoprefixer": "^10.5.4", "axe-core": "^4.13.0", "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", "globals": "^15.14.0", "jsdom": "^30.0.1", "tailwindcss": "^4.0.0", "typescript": "~5.7.0", "typescript-eslint": "^8.18.0", "vite": "^6.0.0" }, "overrides": { "js-yaml": "^4.3.2", "undici": "^8.11.2" }, "allowScripts": { "esbuild": true } }