@flags-sdk/launchdarkly
v1.0.0
Published
LaunchDarkly provider for the Flags SDK
Maintainers
Readme
Flags SDK - LaunchDarkly Provider
The LaunchDarkly provider for the Flags SDK contains support for LaunchDarkly's Feature Flags.
Setup
The Statsig provider is available in the @flags-sdk/statsig module. You can install it with
npm i @flags-sdk/launchdarklyProvider Instance
NOTE: The LaunchDarkly Vercel integration must be installed on your account, as this adapter loads LaunchDarkly from Edge Config. The adapter can not be used without Edge Config.
Import the default adapter instance ldAdapter from @flags-sdk/launchdarkly:
import { ldAdapter } from "@flags-sdk/launchdarkly";The default adapter uses the following environment variables to configure itself:
export LAUNCHDARKLY_CLIENT_SIDE_ID="612376f91b8f5713a58777a1"
export LAUNCHDARKLY_PROJECT_SLUG="my-project"
# Provided by the LaunchDarkly Marketplace integration when Edge Config is
# enabled for the collection.
export EXPERIMENTATION_CONFIG="https://edge-config.vercel.com/ecfg_abdc1234?token=xxx-xxx-xxx"Using the legacy LaunchDarkly Vercel integration? The default adapter reads the Edge Config connection string from
EXPERIMENTATION_CONFIGonly. If your project provides the connection string asEDGE_CONFIG, setEXPERIMENTATION_CONFIGto the same value, or pass it explicitly withcreateLaunchDarklyAdapter.
Example
import { flag, dedupe } from "flags/next";
import { ldAdapter, type LDContext } from "@flags-sdk/launchdarkly";
const identify = dedupe(async (): Promise<LDContext> => {
return {
key: "user_123",
};
});
export const showBanner = flag<boolean, LDContext>({
key: "show-banner",
identify,
adapter: ldAdapter.variation(),
});Custom Adapter
Create an adapter by using the createLaunchDarklyAdapter function:
import { createLaunchDarklyAdapter } from "@flags-sdk/launchdarkly";
const adapter = createLaunchDarklyAdapter({
projectSlug: "my-project",
clientSideId: "612376f91b8f5713a58777a1",
// Legacy integrations that provide the connection string as `EDGE_CONFIG`
// can pass it explicitly here.
edgeConfigConnectionString:
process.env.EXPERIMENTATION_CONFIG ?? process.env.EDGE_CONFIG,
});Documentation
Please check out the LaunchDarkly provider documentation for more information.
