Replace separate .js data files with server-side JSON injection

- Remove need to maintain duplicate .js data files alongside JSON sources
- Load JSON data once at server startup and inject into templates
- Dev and production modes use the same data sources

Removes:
- server/scripts/data/{travelcities,regionalcities,stations}.js
- gulp compressJsData task for bundling data files
This commit is contained in:
Eddy G
2025-06-24 22:51:09 -04:00
parent 65944dc3b5
commit ca272de8bf
6 changed files with 28 additions and 17552 deletions

View File

@@ -1,6 +1,7 @@
import 'dotenv/config';
import express from 'express';
import fs from 'fs';
import { readFile } from 'fs/promises';
import {
weatherProxy, radarProxy, outlookProxy, mesonetProxy,
} from './proxy/handlers.mjs';
@@ -8,6 +9,10 @@ import playlist from './src/playlist.mjs';
import OVERRIDES from './src/overrides.mjs';
import cache from './proxy/cache.mjs';
const travelCities = JSON.parse(await readFile('./datagenerators/output/travelcities.json'));
const regionalCities = JSON.parse(await readFile('./datagenerators/output/regionalcities.json'));
const stationInfo = JSON.parse(await readFile('./datagenerators/output/stations.json'));
const app = express();
const port = process.env.WS4KP_PORT ?? 8080;
@@ -55,6 +60,9 @@ const index = (req, res) => {
version,
OVERRIDES,
query: req.query,
travelCities,
regionalCities,
stationInfo,
});
};