Flipt Node
This directory contains the TypeScript source code for the Flipt server-side client.
Documentation
API documentation is available at https://www.flipt.io/docs/reference/overview.
Installation
npm i @flipt-io/flipt@{version}
Usage
In the example directory, there is an example TypeScript program which imports in the flipt client, and uses it appropriately, please refer to that for how to use the client.
Metrics
There is support for Datadog RUM through this client. This allows you to track the values of feature flag evaluation and how it relates to active browser sessions.
You can first install the datadog RUM client like so:
npm install --save @datadog/browser-rum
To start tracking feature flags on Datadog:
import { datadogRum } from "@datadog/browser-rum";
import { FliptClient, FliptMetrics } from "@flipt-io/flipt";
datadogRum.init({
applicationId: "<APPLICATION_ID>",
clientToken: "<CLIENT_TOKEN>",
site: "datadoghq.com",
service: "<SERVICE_NAME>",
env: "<ENV_NAME>",
enableExperimentalFeatures: ["feature_flags"],
sessionSampleRate: 100,
sessionReplaySampleRate: 20,
trackUserInteractions: true,
trackResources: true,
trackLongTasks: true,
defaultPrivacyLevel: "mask-user-input"
});
datadogRum.startSessionReplayRecording();
const metricsClient = new FliptMetrics(
new FliptClient({
url: "http://localhost:8080"
}).evaluation,
datadogRum
);
const response = await metricsClient.variant({
namespaceKey: "default",
flagKey: "hello-this",
entityId: uuidv4(),
context: {}
});