1.0.6 • Published 9 months ago

@hyphen/openfeature-web-provider v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Hyphen Toggle OpenFeature Web Provider

The Hyphen Toggle OpenFeature Web Provider allows seamless feature flag evaluation using the OpenFeature standard within the Hyphen Toggle platform.


Table of Contents

  1. Getting Started
  2. Integration
  3. Configuration
  4. Contributing
  5. License

Getting Started

Pre-requisites

  • Ensure you have Node.js and npm installed.
  • Have access to a valid Hyphen publicKey and application details.

Installation

To use the Hyphen Toggle OpenFeature Web Provider, install the required packages:

npm install @openfeature/web-sdk @hyphen/openfeature-web-provider

Integration

To integrate the Hyphen Toggle provider into your application, follow these steps:

  1. Configure the Provider: Register the HyphenProvider with OpenFeature using your publicKey and provider options.

    Add the following setup to your application:

    import { OpenFeature, ProviderEvents } from '@openfeature/web-sdk';
    import { HyphenProvider, HyphenProviderOptions } from '@hyphen/openfeature-web-provider';
    
    const publicKey = 'your-public-key'; // Replace with your Hyphen publicKey
    
    const options: HyphenProviderOptions = {
      application: 'your-app-name', // Replace with your application name
      environment: 'production',    // Replace with the appropriate environment
    };
    
    OpenFeature.setProvider(new HyphenProvider(publicKey, options));
    
    createRoot(document.getElementById('root')!).render(<App />);
  2. Set Up the context: Use OpenFeature.setContext to configure the context needed for feature targeting. This context should include relevant user information, typically obtained from an authentication process.

     OpenFeature.setContext({
       targetingKey: user.id,
       user: user,
       customAttributes: { role: user.role }, // Additional targeting attributes
     });
  3. Evaluate Feature Flags: Use the OpenFeature client to evaluate feature flags in your application.

    const client = OpenFeature.getClient();
    const isEnabled = client.getStringDetails('your-flag-key', 'default value');

Configuration

Options

OptionTypeDescription
applicationstringThe application id or alternate id.
environmentstringThe environment in which your application is running (e.g., production, staging).
horizonUrlsstring[]An array of Hyphen Horizon URLs to use for fetching feature flags.
enableToggleUsagebooleanEnable or disable the logging of toggle usage (telemetry).

Context

Provide an EvaluationContext to pass contextual data for feature evaluation.

Context Fields

FieldTypeDescription
targetingKeystringThe key used for caching the evaluation response.
ipAddressstringThe IP address of the user making the request.
customAttributesRecord<string, any>Custom attributes for additional contextual information.
userobjectAn object containing user-specific information for the evaluation.
user.idstringThe unique identifier of the user.
user.emailstringThe email address of the user.
user.namestringThe name of the user.
user.customAttributesRecord<string, any>Custom attributes specific to the user.

Contributing

We welcome contributions to this project! If you'd like to contribute, please follow the guidelines outlined in CONTRIBUTING.md. Whether it's reporting issues, suggesting new features, or submitting pull requests, your help is greatly appreciated!

License

This project is licensed under the MIT License. See the LICENSE file for full details.

1.0.6

9 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago