From 68a30369098522e1abe86ab4ee1c4fd9f34a195e Mon Sep 17 00:00:00 2001 From: Maurice Date: Sat, 18 Apr 2026 02:02:09 +0200 Subject: [PATCH] refactor: move airports.json out of server/data into server/assets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit server/data is for runtime state (SQLite, backups, logs, tmp) — the airports snapshot is a shipped dataset, not user data, and it being in there forced us to poke a hole in both .dockerignore and .gitignore. Move it to server/assets/ and drop the exceptions; service and build script point at the new path. --- .dockerignore | 1 - .gitignore | 1 - server/{data => assets}/airports.json | 0 server/scripts/build-airports.mjs | 4 ++-- server/src/services/airportService.ts | 2 +- 5 files changed, 3 insertions(+), 5 deletions(-) rename server/{data => assets}/airports.json (100%) diff --git a/.dockerignore b/.dockerignore index dcd9575b..c0defbdb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,7 +3,6 @@ client/node_modules server/node_modules client/dist data -!server/data/airports.json uploads .git .github diff --git a/.gitignore b/.gitignore index bfaa629a..14638f00 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ client/public/icons/*.png # User data server/data/* -!server/data/airports.json server/uploads/ # Environment diff --git a/server/data/airports.json b/server/assets/airports.json similarity index 100% rename from server/data/airports.json rename to server/assets/airports.json diff --git a/server/scripts/build-airports.mjs b/server/scripts/build-airports.mjs index d7c00465..153fe88f 100644 --- a/server/scripts/build-airports.mjs +++ b/server/scripts/build-airports.mjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// Build server/data/airports.json from OurAirports (davidmegginson.github.io/ourairports-data). +// Build server/assets/airports.json from OurAirports (davidmegginson.github.io/ourairports-data). // License: Public Domain. Keeps large/medium airports with an IATA code; timezone derived from coords via tz-lookup. import fs from 'node:fs' @@ -9,7 +9,7 @@ import { fileURLToPath } from 'node:url' import tzLookup from 'tz-lookup' const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const OUT = path.join(__dirname, '..', 'data', 'airports.json') +const OUT = path.join(__dirname, '..', 'assets', 'airports.json') const SRC = 'https://davidmegginson.github.io/ourairports-data/airports.csv' function fetchText(url) { diff --git a/server/src/services/airportService.ts b/server/src/services/airportService.ts index c3250b11..a5745d31 100644 --- a/server/src/services/airportService.ts +++ b/server/src/services/airportService.ts @@ -18,7 +18,7 @@ let byIata: Map | null = null; function load(): Airport[] { if (cache) return cache; - const file = path.join(__dirname, '..', '..', 'data', 'airports.json'); + const file = path.join(__dirname, '..', '..', 'assets', 'airports.json'); if (!fs.existsSync(file)) { console.warn('[airports] airports.json missing — run `node scripts/build-airports.mjs`'); cache = [];