mirror of
https://github.com/vercel/flags.git
synced 2026-09-19 03:49:23 +08:00
bd4d01a9b2
Replace the deterministic 100/200ms retry schedule with full-jitter exponential backoff, jitter MAX_BATCH_WAIT_MS by ±20% to desynchronize concurrent flushes, and log when a flush exhausts all retries. Helpers extracted to utils/backoff.ts so they can be reused. Co-authored-by: Cursor <cursoragent@cursor.com>
@vercel/flags-core
The core evaluation engine for Vercel Flags, the feature flag platform built into Vercel. This package provides direct access to the flag evaluation client, data fetching, and an OpenFeature provider.
For Next.js and SvelteKit applications, use the Flags SDK with @flags-sdk/vercel provider instead. Use @vercel/flags-core when you need lower-level control, are working with an unsupported framework, or want to use the OpenFeature standard.
Installation
npm i @vercel/flags-core
Usage
import { createClient } from '@vercel/flags-core';
const client = createClient(process.env.FLAGS!);
await client.initialize();
const result = await client.evaluate<boolean>('show-new-feature', false, {
user: { id: 'user-123' },
});
OpenFeature
An OpenFeature-compatible provider is available at @vercel/flags-core/openfeature:
import { OpenFeature } from '@openfeature/server-sdk';
import { VercelProvider } from '@vercel/flags-core/openfeature';
await OpenFeature.setProviderAndWait(new VercelProvider());
const client = OpenFeature.getClient();