@flipt-io/flipt
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

Flipt Node

npm

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 your Node code you can import this client and use it as so:

import { FliptClient } from "@flipt-io/flipt";

const fliptClient = new FliptClient();

async function evaluate() {
  const variantEvaluationResponse = await fliptClient.evaluation.variant({
    namespaceKey: "default",
    flagKey: "flag1",
    entityId: "entity",
    context: { fizz: "buzz" }
  });

  console.log(variantEvaluationResponse);
}

There is a more detailed example in the examples directory.

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: {}
});

Readme

Keywords

none

Package Sidebar

Install

npm i @flipt-io/flipt

Weekly Downloads

9,558

Version

1.2.0

License

MIT

Unpacked Size

35.9 kB

Total Files

20

Last publish

Collaborators

  • markphelps