fix(insights): keep the server-only rollup readers out of the insights client bundle

The v1.9.0 time-range work imported ANALYTICS_RANGES as a value into the
time-range pills and the insights layout-prefs hook from range-delta.ts.
That module also pulls the rollup readers and the Postgres client, so the
value import dragged pg (dns/fs/net/tls) into the browser bundle and broke
the production build with eight "Module not found" errors.

Move the client-safe pieces — the range list, its type, the per-range
window length, and the period-over-period result shapes — into a new
range-shared module that imports nothing server-side. The insights client
components import from there; range-delta.ts re-exports the same names so
the server route and the OpenAPI registry keep their import paths. The
window-composition logic and the rollup/db imports stay server-side.

No runtime behaviour change — a pure module-boundary split.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
(cherry picked from commit 75124e76c1e987d8a022fb39d891049340199b38)
This commit is contained in:
Marc-André Bombeck committed 2026-06-02 17:41:33 +02:00
1 parent 1c91abcf2a
commit a87d6b94e4
6 files changed
+80 -48

No files matched your search

@@ -10,7 +10,7 @@ import {
type TrendDirectionSentiment,
} from "@/lib/insights/trend-sentiment";
import type { AnalyticsRangeData } from "@/hooks/use-analytics-range";
import type { AnalyticsRange } from "@/lib/analytics/range-delta";
import type { AnalyticsRange } from "@/lib/analytics/range-shared";
/**
* v1.9.0 — period-over-period delta caption beside the time-range pills.
+1 -1
View File
@@ -7,7 +7,7 @@ import { cn } from "@/lib/utils";
import {
ANALYTICS_RANGES,
type AnalyticsRange,
} from "@/lib/analytics/range-delta";
} from "@/lib/analytics/range-shared";
/**
* v1.9.0 — `7d / 30d / 90d / 1y` segmented control for the Insights metric