{ "name": "cmpp-platform-frontend", "version": "0.1.0", "private": true, "packageManager": "npm@10.9.4", "type": "module", "scripts": { "dev": "npm run build && vite preview --host 0.0.0.0", "build": "tsc --noEmit && vite build", "build:api": "npm --prefix api run build", "preview": "vite preview --host 0.0.0.0", "start:local": "powershell -NoProfile -ExecutionPolicy Bypass -File tools/start-local.ps1", "start:local:minio": "powershell -NoProfile -ExecutionPolicy Bypass -File tools/start-local.ps1 -OnlyMinio", "prisma:generate": "npm --prefix api run prisma:generate", "security:verify": "node tools/security/verify-dependency-mitigations.mjs && node tools/security/verify-security-deployment.mjs", "deploy:verify": "node tools/deploy/verify-production-deployment.mjs", "spike:contracts": "node tools/spike/validate-gateway-queue-contract.mjs", "spike:gateway": "powershell -NoProfile -ExecutionPolicy Bypass -Command \"$env:Path='C:\\Program Files\\Go\\bin;'+$env:Path; Push-Location gateway; go test ./...; Pop-Location\"", "spike:bullmq": "node api/src/spike/bullmq-link-spike.mjs", "test:api": "npm --prefix api test", "test:frontend": "vitest run", "test:frontend:coverage": "vitest run --coverage", "test:gateway": "npm run spike:gateway", "lint": "npm run quality:verify && node tools/quality/run-changed-code-quality.mjs lint && tsc --noEmit", "format:check": "git diff --check && node tools/quality/run-changed-code-quality.mjs format", "quality:verify": "node tools/quality/verify-code-quality.mjs", "bundle:verify": "node tools/quality/verify-bundle-budget.mjs", "verify:phase1": "npm run spike:contracts && npm run spike:gateway && npm run spike:bullmq && npm run prisma:generate && npm run build:api && npm run build", "verify:phase2": "npm run verify:phase1", "verify:phase3": "npm run verify:phase2", "verify:phase4": "npm run verify:phase3", "verify:phase5": "npm run verify:phase4", "verify:phase6": "npm run verify:phase5", "verify:phase7": "npm run verify:phase6", "verify:phase8": "npm run verify:phase7", "verify:quality": "npm run lint && npm run format:check && npm run test:frontend:coverage && npm run build && npm run bundle:verify && npm --prefix api run test:incremental-coverage && npm --prefix api run test:coverage" }, "dependencies": { "@vitejs/plugin-react": "^6.0.2", "bullmq": "^5.79.2", "dayjs": "^1.11.21", "echarts": "^6.1.0", "ioredis": "^5.11.1", "lucide-react": "^1.18.0", "react": "^19.2.7", "react-dom": "^19.2.7", "react-router-dom": "7.18.2", "vite": "^8.0.16", "zustand": "^5.0.14" }, "devDependencies": { "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.6", "@types/node": "^25.9.3", "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", "@vitest/coverage-v8": "^4.1.11", "eslint": "^9.39.4", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.5.2", "globals": "^17.4.0", "jsdom": "^29.1.1", "msw": "^2.15.0", "prettier": "^3.9.6", "typescript": "^6.0.3", "typescript-eslint": "^8.68.0", "vitest": "^4.1.11" }, "overrides": { "nanoid": "3.3.18", "postcss": "8.5.23" } }