
Security News
pnpm 10.16 Adds New Setting for Delayed Dependency Updates
pnpm's new minimumReleaseAge setting delays package updates to prevent supply chain attacks, with other tools like Taze and NCU following suit.
@openfeature/flagsmith-client-provider
Advanced tools
This provider is an implementation for the [JavaScript SDK](https://docs.flagsmith.com/clients/javascript/) of [Flagsmith](https://flagsmith.com).
This provider is an implementation for the JavaScript SDK of Flagsmith.
npm install @openfeature/flagsmith-client-provider
The Flagsmith Provider can be created with the standard initialization options and an optional Flagsmith instance to use.
import { FlagsmithClientProvider } from '@openfeature/flagsmith-client-provider';
import { OpenFeature } from '@openfeature/web-sdk';
const flagsmithClientProvider = new FlagsmithClientProvider({
environmentID: '<ENVIRONMENT_ID>'
});
OpenFeature.setProvider(flagsmithClientProvider); // Attach the provider to OpenFeature
The Flagsmith Provider can be constructed with a custom Flagsmith instance and optional server-side generated state, initialization options.
Note: In order to use the React Native implementation of OpenFeature you will need to install both Flagsmith and react-native-flagsmith.
import flagsmith from 'react-native-flagsmith' // Could also be flagsmith/isomorphic, flagsmith-es or createFlagsmithInstance()
import { FlagsmithClientProvider } from '@openfeature/flagsmith-client-provider';
import { OpenFeature } from '@openfeature/web-sdk';
const flagsmithClientProvider = new FlagsmithClientProvider({
environmentID: '<ENVIRONMENT_ID>',
flagsmithInstance: flagsmith,
state: serverState,
});
OpenFeature.setProvider(flagsmithClientProvider); // Attach the provider to OpenFeature
In Flagsmith, users are identified in order to allow for segmentation and percentage rollouts.
To identify and set traits you can specify a targetingKey(identity) and optionally a set of traits. This will do the equivalent of flagsmith.identify(id, traits)
or pass these to flagsmith.init
if you are calling this before OpenFeature.setProvider
.
const flagsmithClientProvider = new FlagsmithClientProvider({
environmentID: '<ENVIRONMENT_ID>',
});
await OpenFeature.setContext({
targetingKey: 'my-identity-id',
traits: {
myTraitKey: 'my-trait-value',
},
});
OpenFeature.setProvider(flagsmithClientProvider); // Attach the provider to OpenFeature
To reset the identity you can simply reset the context. This will do the equivalent of flagsmith.logout()
await OpenFeature.setContext({ });
In Flagsmith, features are evaluated based on the following Resolution reasons:
StandardResolutionReasons.CACHED | StandardResolutionReasons.STATIC | StandardResolutionReasons.DEFAULT | StandardResolutionReasons.ERROR
Note that resolutions of type SPLIT may be the result of targetted matching or percentage split however Flagsmith does not expose this information to client-side SDKs.
The Flagsmith provider emits the following OpenFeature events:
Run nx package providers-flagsmith
to build the library.
Run nx test providers-flagsmith
to execute the unit tests via Jest.
You can find examples using this provider in several frameworks Here.
FAQs
This provider is an implementation for the [JavaScript SDK](https://docs.flagsmith.com/clients/javascript/) of [Flagsmith](https://flagsmith.com).
The npm package @openfeature/flagsmith-client-provider receives a total of 4,064 weekly downloads. As such, @openfeature/flagsmith-client-provider popularity was classified as popular.
We found that @openfeature/flagsmith-client-provider demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm's new minimumReleaseAge setting delays package updates to prevent supply chain attacks, with other tools like Taze and NCU following suit.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.