Overview
@saflib/vendors-posthog-client loads PostHog in SAF web clients for feature flags, identify, and browser-side product event capture. Implements the browser side of @saflib/analytics.
What this package provides
initPostHogIfConfigured()— optional SPA init fromVITE_POSTHOG_*build-time envmakePosthogScriptTag()— Vite HTML plugin snippet for server-side env injection via@saflib/envusePostHog()/usePostHogFeatureFlag()— read flags from the global clientidentifyToPostHog(session)— call after Kratos session is available
Product events
@saflib/vue emits product events through commonEventLogger, which forwards to any loaded globalThis.posthog client. This package does not own the event logger — it only loads PostHog so captures work.
- Load PostHog — in
main.tscallinitPostHogIfConfigured(), or usemakePosthogScriptTag()in your Vite build config. - Emit events — use your product's
clients/events.ts(makeProductEventLogger→commonEventLogger). - Dev backend buffer (optional) — call
registerDevBackendProductEventConnector()from@saflib/analytics-vueinevents.tsfor local admin visibility.
Integration
Environment (see env.schema.json):
VITE_POSTHOG_PROJECT_API_KEY— project API key at build timeVITE_POSTHOG_PROJECT_HOST— ingest host (defaults tohttps://us.i.posthog.com)
Server-side analytics lives in @saflib/vendors-posthog.