refactor: hardcode API IDs and coaster lists, remove Playwright discovery

Embed Six Flags API IDs directly in the park registry and snapshot
coaster lists from park-meta.json into a TypeScript module. This
eliminates the Playwright-based discovery script, RCDB scraper, and
runtime dependency on park-meta.json — preparing for the backend
API transition.

- Add apiId field to Park type and all 24 park entries
- Create lib/coaster-data.ts with hardcoded coaster lists
- Update page components to use park.apiId and new getCoasterSet()
- Remove scripts/discover.ts, lib/scrapers/rcdb.ts, lib/park-meta.ts
- Remove data/park-meta.json from shared volume
- Remove playwright devDependency and discover npm script
- Simplify scripts/scrape.ts (no RCDB, no discovery checks)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-23 21:25:53 -04:00
parent 757c2a8d4f
commit 4652a92c29
13 changed files with 381 additions and 866 deletions
+24
View File
@@ -11,6 +11,7 @@ export const PARKS: Park[] = [
// ── Six Flags branded parks ──────────────────────────────────────────────
{
id: "greatadventure",
apiId: 905,
name: "Six Flags Great Adventure",
shortName: "Great Adventure",
chain: "sixflags",
@@ -22,6 +23,7 @@ export const PARKS: Park[] = [
},
{
id: "magicmountain",
apiId: 906,
name: "Six Flags Magic Mountain",
shortName: "Magic Mountain",
chain: "sixflags",
@@ -33,6 +35,7 @@ export const PARKS: Park[] = [
},
{
id: "greatamerica",
apiId: 910,
name: "Six Flags Great America",
shortName: "Great America",
chain: "sixflags",
@@ -44,6 +47,7 @@ export const PARKS: Park[] = [
},
{
id: "overgeorgia",
apiId: 902,
name: "Six Flags Over Georgia",
shortName: "Over Georgia",
chain: "sixflags",
@@ -55,6 +59,7 @@ export const PARKS: Park[] = [
},
{
id: "overtexas",
apiId: 901,
name: "Six Flags Over Texas",
shortName: "Over Texas",
chain: "sixflags",
@@ -66,6 +71,7 @@ export const PARKS: Park[] = [
},
{
id: "stlouis",
apiId: 903,
name: "Six Flags St. Louis",
shortName: "St. Louis",
chain: "sixflags",
@@ -77,6 +83,7 @@ export const PARKS: Park[] = [
},
{
id: "fiestatexas",
apiId: 914,
name: "Six Flags Fiesta Texas",
shortName: "Fiesta Texas",
chain: "sixflags",
@@ -88,6 +95,7 @@ export const PARKS: Park[] = [
},
{
id: "newengland",
apiId: 935,
name: "Six Flags New England",
shortName: "New England",
chain: "sixflags",
@@ -99,6 +107,7 @@ export const PARKS: Park[] = [
},
{
id: "discoverykingdom",
apiId: 936,
name: "Six Flags Discovery Kingdom",
shortName: "Discovery Kingdom",
chain: "sixflags",
@@ -110,6 +119,7 @@ export const PARKS: Park[] = [
},
{
id: "mexico",
apiId: 960,
name: "Six Flags Mexico",
shortName: "Mexico",
chain: "sixflags",
@@ -121,6 +131,7 @@ export const PARKS: Park[] = [
},
{
id: "greatescape",
apiId: 924,
name: "Six Flags Great Escape",
shortName: "Great Escape",
chain: "sixflags",
@@ -132,6 +143,7 @@ export const PARKS: Park[] = [
},
{
id: "darienlake",
apiId: 945,
name: "Six Flags Darien Lake",
shortName: "Darien Lake",
chain: "sixflags",
@@ -144,6 +156,7 @@ export const PARKS: Park[] = [
// ── Former Cedar Fair theme parks ─────────────────────────────────────────
{
id: "cedarpoint",
apiId: 1,
name: "Cedar Point",
shortName: "Cedar Point",
chain: "sixflags",
@@ -155,6 +168,7 @@ export const PARKS: Park[] = [
},
{
id: "knotts",
apiId: 4,
name: "Knott's Berry Farm",
shortName: "Knott's",
chain: "sixflags",
@@ -166,6 +180,7 @@ export const PARKS: Park[] = [
},
{
id: "canadaswonderland",
apiId: 40,
name: "Canada's Wonderland",
shortName: "Canada's Wonderland",
chain: "sixflags",
@@ -177,6 +192,7 @@ export const PARKS: Park[] = [
},
{
id: "carowinds",
apiId: 30,
name: "Carowinds",
shortName: "Carowinds",
chain: "sixflags",
@@ -188,6 +204,7 @@ export const PARKS: Park[] = [
},
{
id: "kingsdominion",
apiId: 25,
name: "Kings Dominion",
shortName: "Kings Dominion",
chain: "sixflags",
@@ -199,6 +216,7 @@ export const PARKS: Park[] = [
},
{
id: "kingsisland",
apiId: 20,
name: "Kings Island",
shortName: "Kings Island",
chain: "sixflags",
@@ -210,6 +228,7 @@ export const PARKS: Park[] = [
},
{
id: "valleyfair",
apiId: 14,
name: "Valleyfair",
shortName: "Valleyfair",
chain: "sixflags",
@@ -221,6 +240,7 @@ export const PARKS: Park[] = [
},
{
id: "worldsoffun",
apiId: 6,
name: "Worlds of Fun",
shortName: "Worlds of Fun",
chain: "sixflags",
@@ -232,6 +252,7 @@ export const PARKS: Park[] = [
},
{
id: "miadventure",
apiId: 12,
name: "Michigan's Adventure",
shortName: "Michigan's Adventure",
chain: "sixflags",
@@ -243,6 +264,7 @@ export const PARKS: Park[] = [
},
{
id: "dorneypark",
apiId: 8,
name: "Dorney Park",
shortName: "Dorney Park",
chain: "sixflags",
@@ -254,6 +276,7 @@ export const PARKS: Park[] = [
},
{
id: "cagreatamerica",
apiId: 35,
name: "California's Great America",
shortName: "CA Great America",
chain: "sixflags",
@@ -265,6 +288,7 @@ export const PARKS: Park[] = [
},
{
id: "frontiercity",
apiId: 943,
name: "Frontier City",
shortName: "Frontier City",
chain: "sixflags",