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

@@ -25,7 +25,12 @@
<% if (production) { %>
<link rel="stylesheet" type="text/css" href="resources/ws.min.css?_=<%=production%>" />
<script type="text/javascript" src="resources/data.min.js?_=<%=production%>"></script>
<!-- data must be loaded before main script -->
<script>
window.TravelCities = <%- JSON.stringify(travelCities) %>;
window.RegionalCities = <%- JSON.stringify(regionalCities) %>;
window.StationInfo = <%- JSON.stringify(stationInfo) %>;
</script>
<script type="text/javascript" src="resources/vendor.min.js?_=<%=production%>"></script>
<script type="text/javascript" src="resources/ws.min.js?_=<%=production%>"></script>
<script type="text/javascript">const OVERRIDES=<%-JSON.stringify(OVERRIDES)%>;</script>
@@ -56,9 +61,11 @@
<script type="module" src="scripts/modules/media.mjs"></script>
<script type="module" src="scripts/index.mjs"></script>
<!-- data -->
<script type="text/javascript" src="scripts/data/travelcities.js"></script>
<script type="text/javascript" src="scripts/data/regionalcities.js"></script>
<script type="text/javascript" src="scripts/data/stations.js"></script>
<script>
window.TravelCities = <%- JSON.stringify(travelCities) %>;
window.RegionalCities = <%- JSON.stringify(regionalCities) %>;
window.StationInfo = <%- JSON.stringify(stationInfo) %>;
</script>
<% } %>
</head>