@openfeature/js-sdk v0.5.0-experimental-fd144bb13457c29102e60f2075243f52b1ce6d0b
OpenFeature SDK for JavaScript
This is the JavaScript implementation of OpenFeature, a vendor-agnostic abstraction library for evaluating feature flags.
We support multiple data types for flags (numbers, strings, booleans, objects) as well as hooks, which can alter the lifecycle of a flag evaluation.
This library is intended to be used in server-side contexts and has only experimental support for web usage.
Installation
npm install @openfeature/js-sdkor
yarn add @openfeature/js-sdkUsage
import { OpenFeature } from '@openfeature/js-sdk';
OpenFeature.setProvider(new MyProvider());
const client = OpenFeature.getClient();
const value = await client.getBooleanValue('enabled-new-feature', false);Development
Installation and Dependencies
Install dependencies with npm ci. npm install will update the package-lock.json with the most recent compatible versions.
We value having as few runtime dependencies as possible. The addition of any dependencies requires careful consideration and review.
Testing
Run tests with npm test.
Packaging
Both ES modules and CommonJS modules are supported, so consumers can use both require and import functions to utilize this module. This is accomplished by building 2 variations of the output, under dist/esm and dist/cjs, respectively. To force resolution of the dist/esm/**.js* files as modules, a package json with only the context {"type": "module"} is included at a in a postbuild step. Type declarations are included at /dist/types/
For testing purposes, you can add a comment containing "/publish" in any PR. This will publish an experimental SDK version with the git SHA appended to the version number.
Contributors
Thanks so much to our contributors.
Made with contrib.rocks.
License
Apache License 2.0