From 8324f3197201f74e593c108994c2158580af14f0 Mon Sep 17 00:00:00 2001 From: josh Date: Sat, 4 Apr 2026 15:46:07 -0400 Subject: [PATCH] fix: correct import paths for coaster-match module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Imports must appear before other statements in ES modules. Also drop the explicit .ts extension from import paths — Next.js bundler resolves them without it, and the extension after const was causing the module to silently fail in the app. Co-Authored-By: Claude Sonnet 4.6 --- lib/park-meta.ts | 17 ++--------------- lib/scrapers/queuetimes.ts | 4 ++-- tests/coaster-matching.test.ts | 2 +- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/lib/park-meta.ts b/lib/park-meta.ts index f96516d..b1b4686 100644 --- a/lib/park-meta.ts +++ b/lib/park-meta.ts @@ -52,21 +52,8 @@ export function areCoastersStale(entry: ParkMeta): boolean { return Date.now() - new Date(entry.coasters_scraped_at).getTime() > COASTER_STALE_MS; } -/** - * Normalize a ride name for fuzzy matching between data sources. - * - * Queue-Times uses branded names (BATMAN™ The Ride, THE JOKER™ Funhouse Coaster) - * while RCDB uses clean names (Batman The Ride, Joker Funhouse Coaster). - * - * Normalization steps: - * 1. Strip trademark/copyright symbols (™ ® ©) - * 2. Strip leading "THE " / "THE" prefix - * 3. Replace punctuation (- : ' ") with spaces - * 4. Collapse runs of whitespace - * 5. Lowercase and trim - */ -export { normalizeForMatch as normalizeRideName } from "./coaster-match.ts"; -import { normalizeForMatch } from "./coaster-match.ts"; +import { normalizeForMatch } from "./coaster-match"; +export { normalizeForMatch as normalizeRideName } from "./coaster-match"; /** * Returns a Set of normalized coaster names for fast membership checks. diff --git a/lib/scrapers/queuetimes.ts b/lib/scrapers/queuetimes.ts index 4bdd660..6180807 100644 --- a/lib/scrapers/queuetimes.ts +++ b/lib/scrapers/queuetimes.ts @@ -7,9 +7,9 @@ * See: https://queue-times.com/en-US/pages/api */ -const BASE = "https://queue-times.com/parks"; +import { isCoasterMatch } from "../coaster-match"; -import { isCoasterMatch, normalizeForMatch } from "../coaster-match.ts"; +const BASE = "https://queue-times.com/parks"; const HEADERS = { "User-Agent": diff --git a/tests/coaster-matching.test.ts b/tests/coaster-matching.test.ts index 5e0c303..2b0646f 100644 --- a/tests/coaster-matching.test.ts +++ b/tests/coaster-matching.test.ts @@ -9,7 +9,7 @@ import { test } from "node:test"; import assert from "node:assert/strict"; -import { isCoasterMatch, normalizeForMatch } from "../lib/coaster-match.ts"; +import { isCoasterMatch, normalizeForMatch } from "../lib/coaster-match"; // ── Helper ──────────────────────────────────────────────────────────────────