open-index/open-npm huggingface dataset:
npm package: @openfeature/growthbook-provider
Description: ## Installation
Latest version: 0.1.2

# growthbook Provider

## Installation

```
$ npm install @openfeature/growthbook-provider
```

## Example Setup

```typescript
import { GrowthBookClient, ClientOptions, InitOptions } from '@growthbook/growthbook';
import { GrowthbookProvider } from '@openfeature/growthbook-provider';
import { OpenFeature } from '@openfeature/server-sdk';

/*
 * Configure your GrowthBook instance with GrowthBook context
 * @see https://docs.growthbook.io/lib/js#step-1-configure-your-app
 */
const gbClientOptions: ClientOptions = {
  apiHost: 'https://cdn.growthbook.io',
  clientKey: 'sdk-abc123',
  // Only required if you have feature encryption enabled in GrowthBook
  decryptionKey: 'key_abc123',
};

/*
 * optional init options
 * @see https://docs.growthbook.io/lib/js#switching-to-init
 */
const initOptions: InitOptions = {
  timeout: 2000,
  streaming: true,
};

OpenFeature.setProvider(new GrowthbookProvider(gbClientOptions, initOptions));
```

## Building

Run `nx package providers-growthbook` to build the library.

## Running unit tests

Run `nx test providers-growthbook` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @openfeature/js-sdk
Description: OpenFeature SDK for JavaScript
Latest version: 1.6.1
Deprecated: This package has been moved to @openfeature/server-sdk

<!-- markdownlint-disable MD033 -->
<!-- x-hide-in-docs-start -->
<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/open-feature/community/0e23508c163a6a1ac8c0ced3e4bd78faafe627c7/assets/logo/horizontal/white/openfeature-horizontal-white.svg" />
    <img align="center" alt="OpenFeature Logo" src="https://raw.githubusercontent.com/open-feature/community/0e23508c163a6a1ac8c0ced3e4bd78faafe627c7/assets/logo/horizontal/black/openfeature-horizontal-black.svg" />
  </picture>
</p>

<h2 align="center">This package has been deprecated. It's been renamed (moved without changes) to @openfeature/server-sdk.</h2>
npm package: @openfeature/launchdarkly-client-provider
Description: ![Experimental](https://img.shields.io/badge/experimental-breaking%20changes%20allowed-yellow)
Latest version: 0.3.3

# launchdarkly-client Provider

![Experimental](https://img.shields.io/badge/experimental-breaking%20changes%20allowed-yellow)

An unofficial browser provider for LaunchDarkly.

## Installation

```
$ npm install @openfeature/launchdarkly-client-provider
```

## Sample initialization

```ts
import { LaunchDarklyClientProvider } from '@openfeature/launchdarkly-client-provider';

// initialize provider
const clientEnvKey = 'LDEnvironmentID';

/*
 * optional launch darkly options
 * @see https://launchdarkly.github.io/js-client-sdk/interfaces/LDOptions.html
 */
const ldOptions = {
  streaming: true,
};

/*
  * initialization happens inside the provider, the initial context will be { anonymous: true } by default if there is not context set in Open Feature.
  * @see https://launchdarkly.github.io/js-client-sdk/interfaces/LDContextCommon.html#anonymous
  * you can change it using setContext. 

  */
const ldOpenFeatureProvider = new LaunchDarklyClientProvider(clientEnvKey, ldOptions);

//set open feature provider and get client
OpenFeature.setProvider(ldOpenFeatureProvider);
const client = OpenFeature.getClient('my-client');

//use client
const boolValue = client.getBooleanValue('boolFlag', false);
```

To opt in for streaming, you should set `"streaming: true"` explicitly, that guarantee you set the appropriate listeners and you enable streaming in the LD SDK

## Update Context

For context update always use `OpenFeature.setContext(myNewContext);`

Please note that context changes result in network traffic, so changes should be made sparingly in accordance to relevant user behavior.

```ts
await OpenFeature.setContext({ targetingKey: 'my-key' });
//Laundarkly uses key but this provider tranlates targetingKey to key;
//So the above is the same as doing
await OpenFeature.setContext({ key: 'my-key' });
```

Read more about LD contexts [here](https://launchdarkly.github.io/js-client-sdk/interfaces/LDContextCommon.html)

## Tracking

You can send custom events to LaunchDarkly metrics for use in
experiments and guarded rollouts. To learn more, read [Sending custom events](https://launchdarkly.com/docs/sdk/features/events).

```ts
const client = await OpenFeature.getClient();
client.track('event-key-123abc', { customProperty: someValue })
```

## Building

Run `nx package providers-launchdarkly-client` to build the library.

## Running unit tests

Run `nx test providers-launchdarkly-client` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @openfeature/ofrep-core
Description: The core implementation of OFREP core providers. This package is intended to be only used by the concrete OFREP provider implementations for API access, error handling, ...
Latest version: 2.1.0

# ofrep-core

The core implementation of OFREP core providers.
This package is intended to be only used by the concrete OFREP provider implementations for API access, error handling, ...
npm package: @openfeature/ofrep-web-provider
Description: This provider is designed to use the [OpenFeature Remote Evaluation Protocol (OFREP)](https://openfeature.dev/specification/appendix-c).
Latest version: 0.3.6

# Client-Side OFREP Provider

This provider is designed to use the [OpenFeature Remote Evaluation Protocol (OFREP)](https://openfeature.dev/specification/appendix-c).

## Installation

### npm

```sh
npm install @openfeature/ofrep-web-provider
```

### yarn

```sh
yarn add @openfeature/ofrep-web-provider @openfeature/ofrep-core @openfeature/web-sdk @openfeature/core
```

> [!NOTE]
> yarn requires manual installation of peer dependencies

## Configurations and Usage

The provider needs the base url of the OFREP server for instantiation.

```ts
import { OFREPWebProvider } from '@openfeature/ofrep-web-provider';

OpenFeature.setProvider(new OFREPWebProvider({ baseUrl: 'https://localhost:8080', pollInterval: 60000 }));
```

### HTTP headers

The provider can use headers from either a static header map or a custom header factory.

#### Static Headers

Headers can be given as a list of tuples or as a map of headers.

```ts
import { OFREPWebProvider } from '@openfeature/ofrep-web-provider';

OpenFeature.setProvider(
  new OFREPWebProvider({
    baseUrl: 'https://localhost:8080',
    headers: [
      ['Authorization', `my-api-key`],
      ['X-My-Header', `CustomHeaderValue`],
    ],
  }),
);
```

```ts
import { OFREPWebProvider } from '@openfeature/ofrep-web-provider';

OpenFeature.setProvider(
  new OFREPWebProvider({
    baseUrl: 'https://localhost:8080',
    headers: { Authorization: `my-api-key`, 'X-My-Header': `CustomHeaderValue` },
  }),
);
```

#### Header Factory

The header factory is evaluated before every flag evaluation which makes it possible to use dynamic values for the headers.

The following shows an example of loading a token and using it as bearer token.

```ts
import { OFREPWebProvider } from '@openfeature/ofrep-web-provider';

OpenFeature.setProvider(
  new OFREPWebProvider({
    baseUrl: 'https://localhost:8080',
    headersFactory: () => {
      const token: string = loadDynamicToken();
      return [['Authorization', `Bearer ${token}`]];
    },
  }),
);
```

### Fetch implementation

If needed, a custom fetch implementation can be injected, if e.g. the platform does not have fetch built in.

```ts
import { OFREPWebProvider } from '@openfeature/ofrep-web-provider';
import { fetchPolyfill } from 'some-fetch-polyfill';

OpenFeature.setProvider(
  new OFREPWebProvider({
    baseUrl: 'https://localhost:8080',
    fetchImplementation: fetchPolyfill
  }),
);
```

## Building

Run `nx package providers-ofrep-web` to build the library.

## Running unit tests

Run `nx test providers-ofrep-web` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @openfeature/slidev-theme-open-feature
Description: [![NPM version](https://img.shields.io/npm/v/@openfeature/slidev-theme-open-feature?color=3AB9D4&label=)](https://www.npmjs.com/package/@openfeature/slidev-theme-open-feature)
Author: openfeature
Latest version: 1.0.4

# OpenFeature Slidev Theme

[![NPM version](https://img.shields.io/npm/v/@openfeature/slidev-theme-open-feature?color=3AB9D4&label=)](https://www.npmjs.com/package/@openfeature/slidev-theme-open-feature)

An [OpenFeature](https://openfeature.dev)-branded theme for [Slidev](https://github.com/slidevjs/slidev). It features the official OpenFeature color palette, wave-style background decorations, and Poppins / Architects Daughter typography — with full support for light and dark mode.

## Install

Add the following frontmatter to your `slides.md`. Start Slidev then it will prompt you to install the theme automatically.

```md
---
theme: '@openfeature/slidev-theme-open-feature'
---
```

Learn more about [how to use a theme](https://sli.dev/guide/theme-addon#use-theme).

## Layouts

This theme provides the following layouts:

| Layout | Description |
|--------|-------------|
| `cover` | Title slide with centered content and prominent wave background |
| `default` | Standard content slide with a title bar and body area |
| `end` | Closing slide with centered content and prominent wave background |
| `image-left` | Two-column layout with an image on the left (e.g., `image: path/to/image.jpg`) |
| `image-right` | Two-column layout with an image on the right (e.g., `image: path/to/image.jpg`) |
| `intro` | Introduction / about slide with centered content |
| `section` | Section divider with large centered heading |
| `two-cols` | Two-column layout using default and `::right::` slots |

## Components

This theme provides the following components:

> TODO:

## Contributing

- `npm install`
- `npm run dev` to start theme preview of `example.md`
- Edit the `example.md` and style to see the changes
- `npm run export` to generate the preview PDF
- `npm run screenshot` to generate the preview PNG

> **Note:** Node.js >= 18 is required. The repo includes an `.nvmrc` (Node 22) — run `nvm use` to pick it up.