FlipFlag

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 принимает следующие параметры:

ОпцияТипОписание
publicKeystringПубличный ключ (обязательный)
privateKeystringПриватный ключ (опционально)
apiUrlstringURL API (если требуется изменить адрес сервера)
configPathstringПуть до .flipflag.yml
ignoreMissingConfigbooleanИгнорировать отсутствие .flipflag.yml

Поддерживаемые сценарии

SDK можно использовать для:

  • Client-side (фронтенд) — поддержка features flags в браузере;
  • Server-side (сервера Node.js) — поддержка features flags на сервере;
  • Автоматической декларации флагов и их временных окон из .flipflag.yml.

On this page