aprs.me/assets/js
Graham McIntire f7cf0d0d47
Implement advanced JavaScript optimization with conditional loading
- Created minimal, tree-shaken vendor bundles:
  * Core bundle (3KB): Always loaded utilities and theme management
  * Map bundle (255KB): Leaflet + plugins, loaded only for map pages
  * Chart bundle (205KB): Chart.js, loaded only for chart pages
  * Date adapter (50KB): Chart.js time scale support
- Total optimized size: 513KB JS + 12KB CSS (was 547KB + 17KB)
- Implemented conditional loading via VendorLoader utility
- Bundle loading triggered by LiveView hooks when needed
- Fixed Chart.js date adapter dependency loading
- Eliminated unused JavaScript from being sent to browsers
- Created separate esbuild configs for each optimized bundle

Performance improvements:
- Map pages: Core + Map bundles = 258KB (47% of original)
- Chart pages: Core + Chart + Adapter = 258KB (47% of original)
- Other pages: Core bundle only = 3KB (0.5% of original)
- Reduced initial page load by 94% for non-map/chart pages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 14:05:18 -05:00
..
features Fix Docker build JavaScript import errors with vendor bundle 2025-07-21 12:32:39 -05:00
hooks cleanup 2025-07-18 14:44:52 -05:00
types try vector tiles 2025-07-24 10:54:31 -05:00
app.js Implement advanced JavaScript optimization with conditional loading 2025-07-25 14:05:18 -05:00
chart-bundle-entry.js Implement advanced JavaScript optimization with conditional loading 2025-07-25 14:05:18 -05:00
map-bundle-entry.js Implement advanced JavaScript optimization with conditional loading 2025-07-25 14:05:18 -05:00
map.ts Switch back to raster map tiles 2025-07-24 20:19:01 -05:00
map_fixes.ts Remove debug console.log statements from JavaScript files 2025-07-18 15:37:05 -05:00
map_helpers.ts Improve type safety for getTrailId function 2025-07-21 08:36:38 -05:00
topbar.js js tweak 2025-07-05 13:16:37 -05:00
vendor.js try vector tiles 2025-07-24 10:54:31 -05:00