Route files in React Router only get server-code stripped from a specific set of exports (loader/action/middleware/headers). The overpass failover work added a `fetchWithFailover` named export to `app/routes/api.overpass.ts` for unit tests, but that export pulls in `metrics.server` (prom-client registry, etc.) — which then leaks into the client bundle and fails the production build with: [plugin react-router:dot-server] Error: Server-only module referenced by client 'app/lib/metrics.server' imported by route 'app/routes/api.overpass.ts' Move the upstream fetch logic and its config constants into `app/lib/overpass.server.ts`. The `.server.ts` naming makes the server-only boundary explicit, and tests now import from the lib instead of from the route. The route keeps only its `action` export (plus the per-instance LRU cache, which is internal to the module and not exported). Tests: 85 passing (no behavior changes). Build: planner + journal both succeed. Typecheck + lint clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| journal | ||
| mobile | ||
| planner | ||