PostHog
Use PostHog with the Flags SDK
PostHog can be used with the Flags SDK through OpenFeature. Set up the Flags SDK adapter for OpenFeature, along with the PostHog OpenFeature provider to get started.
This provider has a native adapter available at @flags-sdk/posthog, which you should use instead.
Installation
Install the following packages:
npm install flags @flags-sdk/openfeature @tapico/node-openfeature-posthogSetup
Set up your PostHog OpenFeature provider as a Flags SDK adapter.
// adapter.ts
import { OpenFeature } from "@openfeature/server-sdk";
import { createOpenFeatureAdapter } from "@flags-sdk/openfeature";
import { PostHogProvider } from "@tapico/node-openfeature-posthog";
export const openFeatureAdapter = createOpenFeatureAdapter(async () => {
const provider = new PostHogProvider(/* ... */);
await OpenFeature.setProviderAndWait(provider);
return OpenFeature.getClient();
});See the OpenFeature adapter for more details.
Usage
Use your newly configured adapter when declaring flags.
// flags.ts
import { flag } from "flags/next";
import type { EvaluationContext } from "@openfeature/server-sdk";
import { openFeatureAdapter } from "./adapter";
export const exampleFlag = flag<boolean, EvaluationContext>({
key: "example-flag",
defaultValue: false,
adapter: openFeatureAdapter.booleanValue(),
});Resources
Flags SDK adapter for OpenFeature
PostHog OpenFeature Provider
Note that OpenFeature providers may require additional configuration for optimal performance and compatibility. Setup instructions are provided on a best effort basis. Refer to each provider's own documentation.
If there is a native Flags SDK adapter for your provider, we recommend using that instead. Native Flags SDK adapters tune your flag provider's SDK for optimal performance and integrate with Flags Explorer and Edge Config. See available adapters.
If you are a feature flag provider interested in developing a native adapter please open a GitHub issue to get in touch.