Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@openfeature/config-cat-provider
Advanced tools
This provider is an implementation for [ConfigCat](https://configcat.com) a managed feature flag service.
This provider is an implementation for ConfigCat a managed feature flag service.
$ npm install @openfeature/config-cat-provider
The OpenFeature SDK is required as peer dependency.
The minimum required version of @openfeature/server-sdk
currently is 1.13.5
.
The minimum required version of configcat-node
currently is 11.0.0
.
$ npm install @openfeature/server-sdk configcat-node
The ConfigCat provider uses the ConfigCat Node.js SDK.
It can be created by passing the ConfigCat SDK options to ConfigCatProvider.create
.
The available options can be found in the ConfigCat Node.js SDK.
import { ConfigCatProvider } from '@openfeature/config-cat-provider';
const provider = ConfigCatProvider.create('<sdk_key>');
OpenFeature.setProvider(provider);
import { ConfigCatProvider } from '@openfeature/config-cat-provider';
const provider = ConfigCatProvider.create('<sdk_key>', PollingMode.LazyLoad, {
setupHooks: (hooks) => hooks.on('clientReady', () => console.log('Client is ready!')),
});
OpenFeature.setProvider(provider);
The OpenFeature Evaluation Context is mapped to the ConfigCat user object.
The ConfigCat user object has three known attributes, and allows for additional attributes. The following shows how the attributes are mapped:
OpenFeature EvaluationContext Field | ConfigCat User Field | Required |
---|---|---|
targetingKey | identifier | yes |
no | ||
country | country | no |
Any Other | custom | no |
The custom types are mapped the following way:
OpenFeature EvaluationContext Field Type | ConfigCat User Field Type |
---|---|
string | string |
number | number |
boolean | string |
Array | Array |
Array | Array |
object | string |
The following example shows the conversion between an OpenFeature Evaluation Context and the corresponding ConfigCat User:
{
"targetingKey": "test",
"email": "email",
"country": "country",
"customString": "customString",
"customNumber": 1,
"customBoolean": true,
"customObject": {
"prop1": "1",
"prop2": 2
},
"customStringArray": ["one", "two"],
"customArray": [
1,
"2",
false
]
}
{
"identifier": "test",
"email": "email",
"country": "country",
"custom": {
"customString": "customString",
"customBoolean": "true",
"customNumber": 1,
"customObject": "{\"prop1\":\"1\",\"prop2\":2}",
"customStringArray": ["one", "two"],
"customArray": "[1,\"2\",false]"
}
}
The ConfigCat provider emits the following OpenFeature events:
Run nx package providers-config-cat
to build the library.
Run nx test providers-config-cat
to execute the unit tests via Jest.
FAQs
This is an OpenFeature provider implementation for using [ConfigCat](https://configcat.com), a managed feature flag service in Node.js applications.
The npm package @openfeature/config-cat-provider receives a total of 1,847 weekly downloads. As such, @openfeature/config-cat-provider popularity was classified as popular.
We found that @openfeature/config-cat-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
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.