rox-serverless
v6.0.1
Published
CloudBees Feature Management ROX JS SDK for serverless
Downloads
27
Readme
CloudBees Feature Management is a secure feature management solution for the enterprise.
Accelerate development and minimize the risk of deploying new code with simple to create feature flags, controlled rollouts, advanced target groups & deployment rules.
Getting Started
Please see the detailed instructions in our docs on how to add CloudBees Feature Management to your project.
Documentation
Getting started guide, use cases, examples and videos can be found in CloudBees Feature Management documentation
CloudBees Feature Management Javascript SDK for serverless.
This SDK exposes CloudBees Feature Management functionality in a way that is ideally suited to serverless environments. Other language SDKs are designed to operate in long-running applications, managing feature flag configuration and communications with the CloudBees Feature Management ecosystem for you. The Javascript SDK for serverless instead provides an extremely fast and efficient way for serverless applications evaluate feature flags using injected flag configuration data.
NOTE
Because the CloudBees Feature Management SDK for serverless runs disconnected from the wider Feature Management ecosystem, it does not record or report flag impressions
Installation
yarn add rox-serverless
or
npm i rox-serverless --save
Usage
Unlike other SDKs, the Javascript SDK for serverless will not fetch feature flag configuration information itself, this must be fetched externally and injected into the application. This allows the SDK to offer extremely rapid and efficient start-up and flag evaluation that is ideally suited to serverless applications. The flag configuration data provided to the application should be refreshed periodically to ensure it remains current. To fetch flag configuration, see the package rox-flag-config-fetcher
Initialising the CloudBees Feature Management SDK for serverless
Use the initFeatureFlags()
function to initialise CloudBees Feature Management from a flag configuration that was previously fetched.
The flag configuration could be injected into your serverless application at runtime, or fetched from a fast data store such as CloudFlare KV (Key/Value store).
import {initFeatureFlags} from './FlagResolver'
// Inject flagConfiguration data from your external source.
const flagConfig = getFlagConfig() // <-- Provide your logic here.
await initFeatureFlags(flagConfig)
Evaluating feature flags in your application
import {getAllFlags, getFlagValue, getNumberFlagValue, isEnabled} from './FlagResolver'
// Get the names of all feature flags defined in the flag configuration:
const flagNames = getAllFlags()
// Get the state of a boolean feature flag:
const aBooleanFlagValue = isEnabled(flagName)
// Get the value of a string feature flag:
const aStringFlagValue = getFlagValue(flagName)
// Get the value of a number feature flag:
const aNumberFlagValue = getNumberFlagValue(flagName)
LICENSE
CloudBees Feature Management is free-to-use, proprietary software. Please see the full license (found in LICENSE in this distribution) for details on its license and the licenses of its dependencies.
CloudBees Feature Management Javascript SDK for serverless is free-to-use, proprietary software. Please see the full license found under the LICENSE file for more details.
Feedback
Feedback is always welcomed at [email protected]