Global Config

The @flags-sdk/global-config package provides a basic adapter for defining feature flags powered by Vercel Global Config

Learn more about Adapters

Installation

Follow the Quickstart, then add the Global Config adapter.

Install desired dependencies

pnpm i @flags-sdk/global-config

Set relevant variables

.env.local
GLOBAL_CONFIG="global-config-connection-string"

Usage

flags.ts
flags.ts
import { flag } from 'flags/next';
import { globalConfigAdapter } from '@flags-sdk/global-config';

export const exampleFlag = flag({
  // Will load the `flags` key from Global Config
  adapter: globalConfigAdapter,
  // Will get the `example-flag` key from the `flags` object
  key: 'example-flag',
});

Your Global Config should be managed on the dashboard as follows:

{
  // `flags` is the default used by the Global Config adapter
  "flags": {
    // Flags using the adapter should have their `key` defined here
    "example-flag": true,
    "another-example-flag": false,
  }
}

API reference

globalConfigAdapter

The adapter assumes that there is an GLOBAL_CONFIG environment variable set with a connection string, and that it contains a flags object with each key corresponding to a flag you define in code.

flags.ts
flags.ts
import { globalConfigAdapter } from '@flags-sdk/global-config';

export const exampleFlag = flag({
  adapter: globalConfigAdapter,
  key: 'example-flag',
});

createGlobalConfigAdapter

To customize these options you can import and call createGlobalConfigAdapter manually.

Option keyTypeDescription
connectionString`stringGlobalConfigClient`
options.globalConfigItemKeystringDefaults to flags
options.teamSlugstringThe team slug used for your team in the Vercel dashboard, used to create links to your Global Config
flags.ts
flags.ts
import { createGlobalConfigAdapter } from '@flags-sdk/global-config';

const myGlobalConfigAdapter = createGlobalConfigAdapter({
  connectionString: process.env.OTHER_GLOBAL_CONFIG_CONNECTION_STRING,
  options: {
    globalConfigItemKey: 'other-flags-key',
    teamSlug: 'my-vercel-team-slug',
  },
});

export const exampleFlag = flag({
  adapter: myGlobalConfigAdapter,
  key: 'example-flag',
});

Read more

Read more about Global Config, Flags SDK, and the Global Config adapter.