0.3.0 • Published 8 months ago

@flags-sdk/launchdarkly v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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/launchdarkly

Provider 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 Vercel when connecting an Edge Config to the project
export EDGE_CONFIG="https://edge-config.vercel.com/ecfg_abdc1234?token=xxx-xxx-xxx"

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',
  ldClientSideKey: '612376f91b8f5713a58777a1',
  edgeConfigConnectionString: process.env.EDGE_CONFIG,
});

Documentation

Please check out the LaunchDarkly provider documentation for more information.