5dcd22ad22
Add scripts/scrape-wikipedia.ts that fetches all 22 World Cups (1930–2022) from English Wikipedia via MediaWiki API, handles group sub-pages, AET/penalty detection, and goal parsing, writing openfootball-format JSON to app/data/openfootball/. Rewrite scripts/seed.ts to read these local JSON files instead of the Kaggle CSV, producing 965 matches and 2716 goals with per-group assignments for all historical tournaments (enabling group standings on tournament pages). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
44 lines
1.1 KiB
JSON
44 lines
1.1 KiB
JSON
{
|
|
"name": "worldcup",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.28.0",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"seed": "tsx scripts/seed.ts",
|
|
"sync": "tsx scripts/sync.ts",
|
|
"scrape": "tsx scripts/scrape-wikipedia.ts",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:push": "drizzle-kit push"
|
|
},
|
|
"dependencies": {
|
|
"@apollo/client": "^4.2.3",
|
|
"@graphql-tools/schema": "^10.0.33",
|
|
"@heroicons/react": "^2.2.0",
|
|
"cheerio": "^1.2.0",
|
|
"drizzle-orm": "^0.45.2",
|
|
"flag-icons": "^7.5.0",
|
|
"graphql": "^16.14.2",
|
|
"graphql-yoga": "^5.21.2",
|
|
"next": "16.2.9",
|
|
"postgres": "^3.4.9",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20.19.43",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"drizzle-kit": "^0.31.10",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.2.9",
|
|
"tailwindcss": "^4",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^5"
|
|
}
|
|
}
|