What is @launchdarkly/js-server-sdk-common?
@launchdarkly/js-server-sdk-common is a common library for LaunchDarkly's JavaScript server-side SDKs. It provides core functionality for feature flag evaluation, user targeting, and other feature management capabilities.
What are @launchdarkly/js-server-sdk-common's main functionalities?
Feature Flag Evaluation
This feature allows you to evaluate feature flags for a given user. The code sample demonstrates how to initialize the client, wait for it to be ready, and then evaluate a feature flag for a specific user.
const { LDClient } = require('@launchdarkly/js-server-sdk-common');
const client = new LDClient('YOUR_SDK_KEY');
client.on('ready', () => {
const user = { key: 'user123' };
const showFeature = client.variation('your-feature-flag-key', user, false);
console.log(`Feature flag value: ${showFeature}`);
});
User Targeting
This feature allows you to target specific users based on their attributes. The code sample shows how to include user attributes like email in the evaluation process.
const { LDClient } = require('@launchdarkly/js-server-sdk-common');
const client = new LDClient('YOUR_SDK_KEY');
client.on('ready', () => {
const user = { key: 'user123', email: 'user@example.com' };
const showFeature = client.variation('your-feature-flag-key', user, false);
console.log(`Feature flag value for user: ${showFeature}`);
});
Event Tracking
This feature allows you to track custom events for analytics and reporting. The code sample demonstrates how to track a custom event for a specific user.
const { LDClient } = require('@launchdarkly/js-server-sdk-common');
const client = new LDClient('YOUR_SDK_KEY');
client.on('ready', () => {
const user = { key: 'user123' };
client.track('custom-event', user, { key: 'value' });
console.log('Custom event tracked');
});
Other packages similar to @launchdarkly/js-server-sdk-common
flagr
Flagr is an open-source feature flagging and A/B testing tool. The flagr package provides feature flag evaluation and user targeting functionalities. It is comparable to @launchdarkly/js-server-sdk-common but is open-source and can be customized to fit specific needs.