0.5.0-experimental-fd144bb13457c29102e60f2075243f52b1ce6d0b • Published 3 years ago

@openfeature/js-sdk v0.5.0-experimental-fd144bb13457c29102e60f2075243f52b1ce6d0b

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

OpenFeature SDK for JavaScript

a codecov npm version Known Vulnerabilities Specification

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-sdk

or

yarn add @openfeature/js-sdk

Usage

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