{ "name": "vngeoguessr", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "dev:clean": "node -e \"require('fs').rmSync('.next',{recursive:true,force:true})\" && next dev", "build": "next build", "build:check": "node scripts/build-check.mjs", "start": "next start", "lint": "eslint .", "test": "vitest run", "test:watch": "vitest", "test:integration": "vitest run --config vitest.integration.config.mjs", "redis:up": "docker compose up -d --wait", "redis:down": "docker compose down -v", "data:boundaries": "node scripts/build-region-boundaries.mjs", "data:panos": "node scripts/build-pano-index.mjs", "data:districts": "node scripts/assign-pano-districts.mjs", "data:repartition": "npm run data:boundaries -- --regenerate && npm run data:districts", "data:seed": "node scripts/seed-pano-db.mjs", "data:refresh": "npm run data:boundaries && npm run data:panos && npm run data:districts && npm run data:seed", "stats": "node scripts/stats.mjs", "leaderboard:export": "node scripts/export-leaderboards.mjs", "leaderboard:import": "node scripts/import-leaderboards.mjs", "test:e2e": "playwright test" }, "dependencies": { "@neondatabase/serverless": "^1.1.0", "@photo-sphere-viewer/core": "^5.15.1", "@radix-ui/react-accordion": "^1.2.20", "@radix-ui/react-dialog": "^1.1.19", "@radix-ui/react-label": "^2.1.11", "@radix-ui/react-select": "^2.3.7", "@radix-ui/react-slot": "^1.3.0", "@turf/turf": "^7.4.0", "@upstash/redis": "^1.38.3", "@vercel/analytics": "^1.5.0", "@vercel/speed-insights": "^1.2.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "leaflet": "^1.9.4", "lucide-react": "^1.37.0", "next": "^16.3.3", "react": "^19.2.8", "react-dom": "^19.2.8", "tailwind-merge": "^3.3.1" }, "devDependencies": { "@electric-sql/pglite": "^0.5.8", "@mapbox/vector-tile": "^3.0.0", "@playwright/test": "^1.62.1", "@tailwindcss/postcss": "^4.3.3", "eslint": "^9.39.5", "eslint-config-next": "^16.3.3", "globals": "^17.11.0", "pbf": "^5.1.2", "tailwindcss": "^4.3.3", "tw-animate-css": "^1.3.6", "vitest": "^4.1.11" }, "engines": { "node": ">=24" }, "overrides": { "js-yaml": "^4.2.0", "postcss": "^8.5.10" } }