UNPKG

posthog-js

Version:

Posthog-js allows you to automatically capture usage and send events to PostHog.

129 lines (128 loc) • 5.37 kB
/** * Pre-grouped extension bundles for tree-shaking support. * * Each bundle is self-contained: a feature plus its runtime dependencies. * Use these with `__extensionClasses` to control which extensions are included in your bundle. * The default `posthog-js` entrypoint includes all extensions. When using `posthog-js/slim`, * you can import only the bundles you need: * * @example * ```ts * import posthog from 'posthog-js/slim' * import { SessionReplayExtensions, AnalyticsExtensions } from 'posthog-js/extensions' * * posthog.init('ph_key', { * __extensionClasses: { * ...SessionReplayExtensions, * ...AnalyticsExtensions, * } * }) * ``` * * @module */ import { BrowserAutocapture } from '../browser-autocapture'; import { DeadClicksAutocapture } from './dead-clicks-autocapture'; import { ExceptionObserver } from './exception-autocapture'; import { HistoryAutocapture } from './history-autocapture'; import { TracingHeaders } from './tracing-headers'; import { WebVitalsAutocapture } from './web-vitals'; import { SessionRecording } from './replay/session-recording'; import { Heatmaps } from '../heatmaps'; import { PostHogProductTours } from '../posthog-product-tours'; import { SiteApps } from '../site-apps'; import { BrowserSurveys } from '../browser-surveys'; import { Toolbar } from './toolbar'; import { PostHogFeatureFlags } from '../posthog-featureflags'; import { PostHogExceptions } from '../posthog-exceptions'; import { WebExperiments } from '../web-experiments'; import { PostHogConversations } from './conversations/posthog-conversations'; import { PostHogLogs } from '../posthog-logs'; import { PostHogMetrics } from '../posthog-metrics'; import { WebMCP } from './webmcp'; /** Feature flags. */ export declare const FeatureFlagsExtensions: { readonly featureFlags: typeof PostHogFeatureFlags; }; /** Session replay. */ export declare const SessionReplayExtensions: { readonly sessionRecording: typeof SessionRecording; }; /** Autocapture, click tracking, heatmaps, and web vitals. */ export declare const AnalyticsExtensions: { readonly autocapture: typeof BrowserAutocapture; readonly historyAutocapture: typeof HistoryAutocapture; readonly heatmaps: typeof Heatmaps; readonly deadClicksAutocapture: typeof DeadClicksAutocapture; readonly webVitalsAutocapture: typeof WebVitalsAutocapture; }; /** Exception and error capture. Requires both the observer (capture hook) and exceptions (forwarding). */ export declare const ErrorTrackingExtensions: { readonly exceptionObserver: typeof ExceptionObserver; readonly exceptions: typeof PostHogExceptions; }; /** In-app product tours. Includes feature flags for targeting. */ export declare const ProductToursExtensions: { readonly featureFlags: typeof PostHogFeatureFlags; readonly productTours: typeof PostHogProductTours; }; /** Site apps support. */ export declare const SiteAppsExtensions: { readonly siteApps: typeof SiteApps; }; /** Distributed tracing header injection. */ export declare const TracingExtensions: { readonly tracingHeaders: typeof TracingHeaders; }; /** In-app surveys. Includes feature flags for targeting. */ export declare const SurveysExtensions: { readonly featureFlags: typeof PostHogFeatureFlags; readonly surveys: typeof BrowserSurveys; }; /** PostHog toolbar for visual element inspection and action setup. */ export declare const ToolbarExtensions: { readonly toolbar: typeof Toolbar; }; /** Web experiments. Includes feature flags for variant evaluation. */ export declare const ExperimentsExtensions: { readonly featureFlags: typeof PostHogFeatureFlags; readonly experiments: typeof WebExperiments; }; /** In-app conversations. */ export declare const ConversationsExtensions: { readonly conversations: typeof PostHogConversations; }; /** Console log capture. */ export declare const LogsExtensions: { readonly logs: typeof PostHogLogs; }; /** The posthog.metrics API (count, gauge, histogram). */ export declare const MetricsExtensions: { readonly metrics: typeof PostHogMetrics; }; /** WebMCP tool call capture. Add `ErrorTrackingExtensions` to report failed tool calls as `$exception`. */ export declare const WebMCPExtensions: { readonly webMCP: typeof WebMCP; }; /** All extensions — equivalent to the default `posthog-js` bundle. */ export declare const AllExtensions: { readonly webMCP: typeof WebMCP; readonly metrics: typeof PostHogMetrics; readonly logs: typeof PostHogLogs; readonly conversations: typeof PostHogConversations; readonly featureFlags: typeof PostHogFeatureFlags; readonly experiments: typeof WebExperiments; readonly toolbar: typeof Toolbar; readonly tracingHeaders: typeof TracingHeaders; readonly surveys: typeof BrowserSurveys; readonly siteApps: typeof SiteApps; readonly productTours: typeof PostHogProductTours; readonly exceptionObserver: typeof ExceptionObserver; readonly exceptions: typeof PostHogExceptions; readonly autocapture: typeof BrowserAutocapture; readonly historyAutocapture: typeof HistoryAutocapture; readonly heatmaps: typeof Heatmaps; readonly deadClicksAutocapture: typeof DeadClicksAutocapture; readonly webVitalsAutocapture: typeof WebVitalsAutocapture; readonly sessionRecording: typeof SessionRecording; };