FlipFlag SDK
Клиентская библиотека (Typescript, JS)
FlipFlag SDK — это лёгкая клиентская библиотека (SDK), которая помогает работать с feature flags (флагами функций) в ваших приложениях. С её помощью можно:
- программно декларировать флаги и временные окна их активации;
- автоматически создавать флаги на сервере (при наличии приватного ключа);
- периодически синхронизировать состояние флагов;
- управлять метаданными и кэшировать значения локально.
SDK написан на TypeScript, поддерживает полные типы и удобно интегрируется в проекты на JavaScript/TypeScript.
Установка
npm install @flipflag/sdk
# or
yarn add @flipflag/sdkБыстрый старт
import { FlipFlag } from "@flipflag/sdk";
const manager = new FlipFlag({
publicKey: "YOUR_PUBLIC_KEY",
privateKey: "YOUR_PRIVATE_KEY", // optional (read-only mode without it)
});
await manager.init();
if (manager.isEnabled("newFeature")) {
console.log("Feature is enabled!");
}Если флаг ещё не был объявлен в коде и не существует на сервере, SDK вернёт false, а в дальнейшем флаг будет автоматически зарегистрирован (при наличии privateKey).
Синхронизация
После вызова init() SDK:
- подгружает все флаги c сервера;
- начинает периодическую синхронизацию (по умолчанию ~ каждые 10 секунд);
- поддерживает локальный кэш состояний.
Чтобы остановить синхронизацию и очистить кэш:
manager.destroy();Конфигурация
FlipFlag принимает следующие параметры:
| Опция | Тип | Описание |
|---|---|---|
publicKey | string | Публичный ключ (обязательный) |
privateKey | string | Приватный ключ (опционально) |
apiUrl | string | URL API (если требуется изменить адрес сервера) |
configPath | string | Путь до .flipflag.yml |
ignoreMissingConfig | boolean | Игнорировать отсутствие .flipflag.yml |
Поддерживаемые сценарии
SDK можно использовать для:
- Client-side (фронтенд) — поддержка features flags в браузере;
- Server-side (сервера Node.js) — поддержка features flags на сервере;
- Автоматической декларации флагов и их временных окон из
.flipflag.yml.