{ "name": "cup26", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "preview": "vite preview", "lint": "eslint .", "typecheck": "tsc -b --noEmit", "typecheck:server": "tsc --noEmit -p tsconfig.server.json", "test": "vitest run", "test:watch": "vitest", "build:server": "node server/build.mjs", "dev:server": "tsx watch server/src/index.ts", "data:fixtures": "bun scripts/buildFixtures.ts", "data:ratings": "bun scripts/buildRatings.ts", "data:viz": "bun scripts/buildStatsbombViz.ts", "data:icons": "bun scripts/make-icons.mjs", "data:build": "bun run data:icons && bun run data:fixtures && bun run data:ratings" }, "dependencies": { "@tanstack/react-router": "^1.95.0", "clsx": "^2.1.1", "d3-scale": "^4.0.2", "lucide-react": "^1.17.0", "react": "^19.0.0", "react-dom": "^19.0.0", "recharts": "^2.15.0", "tailwind-merge": "^2.6.0", "zod": "^3.24.1", "zustand": "^5.0.2" }, "devDependencies": { "@eslint/js": "^9.17.0", "@fastify/static": "^9.1.3", "@fastify/websocket": "^11.2.0", "@tailwindcss/vite": "^4.0.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.1.0", "@testing-library/user-event": "^14.5.2", "@types/d3-scale": "^4.0.8", "@types/node": "^22.10.5", "@types/react": "^19.0.2", "@types/react-dom": "^19.0.2", "@types/ws": "^8.18.1", "@vitejs/plugin-react": "^4.3.4", "esbuild": "^0.28.0", "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", "fastify": "^5.8.5", "globals": "^15.14.0", "jsdom": "^25.0.1", "tailwindcss": "^4.0.0", "tsx": "^4.19.2", "typescript": "^5.7.2", "typescript-eslint": "^8.19.0", "vite": "^6.0.7", "vite-plugin-pwa": "^0.21.1", "vitest": "^2.1.8" } }