{ "name": "latency-test", "private": true, "version": "1.0.0", "type": "module", "scripts": { "dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"", "dev:client": "vite", "dev:server": "tsx watch src/server/index.ts", "build": "npm run build:client && npm run build:server", "build:client": "tsc -b tsconfig.client.json && vite build", "build:server": "tsc -b tsconfig.server.json", "build:worker": "npm run build:client && esbuild src/worker/index.ts --bundle --outfile=dist/worker/index.js --format=esm --platform=browser --target=es2022 --alias:@shared=./src/shared", "preview": "vite preview", "start": "node dist/server/index.js", "deploy": "npm run build:worker && wrangler deploy", "dev:worker": "wrangler dev" }, "dependencies": { "cors": "^2.8.5", "express": "^4.19.2", "express-rate-limit": "^7.1.3", "ipaddr.js": "^2.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-globe.gl": "^2.37.0", "react-simple-maps": "^3.0.0", "three": "^0.182.0" }, "devDependencies": { "@cloudflare/workers-types": "^4.20241218.0", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.11.30", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@vitejs/plugin-react": "^4.3.4", "concurrently": "^9.1.2", "esbuild": "^0.24.0", "tsx": "^4.7.0", "typescript": "~5.6.2", "vite": "^6.0.5", "wrangler": "^3.99.0" } }