Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@splitsoftware/splitio
Advanced tools
@splitsoftware/splitio is a feature flagging and experimentation platform that allows you to manage feature rollouts, run A/B tests, and perform real-time analytics. It helps in delivering features to users in a controlled manner, enabling you to test and iterate quickly.
Feature Flagging
This feature allows you to manage feature flags, enabling or disabling features for specific users or groups. The code sample demonstrates how to initialize the Split.io client and check the status of a feature flag for a user.
const splitio = require('@splitsoftware/splitio');
const factory = splitio({ core: { authorizationKey: 'YOUR_API_KEY' } });
const client = factory.client();
client.on(client.Event.SDK_READY, () => {
const treatment = client.getTreatment('user123', 'feature_flag_name');
if (treatment === 'on') {
// Feature is enabled
} else {
// Feature is disabled
}
});
A/B Testing
This feature allows you to run A/B tests by assigning different treatments (variants) to users. The code sample shows how to determine which variant a user should see based on the experiment configuration.
const splitio = require('@splitsoftware/splitio');
const factory = splitio({ core: { authorizationKey: 'YOUR_API_KEY' } });
const client = factory.client();
client.on(client.Event.SDK_READY, () => {
const treatment = client.getTreatment('user123', 'experiment_name');
if (treatment === 'variant_a') {
// Show variant A
} else if (treatment === 'variant_b') {
// Show variant B
}
});
Real-time Analytics
This feature allows you to track user events and conversions in real-time. The code sample demonstrates how to track a purchase event for a user, which can be used for analytics and reporting.
const splitio = require('@splitsoftware/splitio');
const factory = splitio({ core: { authorizationKey: 'YOUR_API_KEY' } });
const client = factory.client();
client.on(client.Event.SDK_READY, () => {
client.track('user123', 'conversion', 'purchase', 100);
});
LaunchDarkly is a feature management platform that provides similar functionality to Split.io, including feature flagging, A/B testing, and real-time analytics. It offers a robust set of tools for managing feature rollouts and experiments.
This SDK is designed to work with Split, the platform for controlled rollouts, which serves features to your users via feature flags to manage your complete customer experience.
The JavaScript SDK is an isomorphic library for both Node.js and Web browser environments.
It supports Node.js version 14.x or later.
For browsers, the library was build to support ES5 syntax and all major browsers. However, there are a few polyfills that would be required when targeting old browsers that don't have native support for Promises, Map and Set global objects. You should include polyfills for those, like es6-promise for promises.
Below is a simple Node.js example that describes the instantiation and most basic usage of our SDK:
// Import the SDK
var SplitFactory = require('@splitsoftware/splitio').SplitFactory;
// Instantiate the SDK
var factory = SplitFactory({
core: {
authorizationKey: 'YOUR_SDK_KEY'
}
});
// Get the client instance you'll use
var client = factory.client();
// Set a callback to listen for the SDK_READY event, to make sure the SDK is properly loaded before asking for a treatment
client.on(client.Event.SDK_READY, function() {
var treatment = client.getTreatment('CUSTOMER_ID', 'FEATURE_FLAG_NAME');
if (treatment == 'on') {
// insert code here for on treatment
} else if (treatment == 'off') {
// insert code here for off treatment
} else {
// insert your control treatment code here
}
});
Please refer to JavaScript SDK (client-side) or Node.js SDK (server-side) to learn about all the functionality provided by our SDK as well as specifics for each environment and the configuration options available for tailoring it to your current application setup.
The Split team monitors all issues submitted to this issue tracker. We encourage you to use this issue tracker to submit any bug reports, feedback, and feature enhancements. We'll do our best to respond in a timely manner.
Please see Contributors Guide to find all you need to submit a Pull Request (PR).
Licensed under the Apache License, Version 2.0. See: Apache License.
Split is the leading Feature Delivery Platform for engineering teams that want to confidently deploy features as fast as they can develop them. Split’s fine-grained management, real-time monitoring, and data-driven experimentation ensure that new features will improve the customer experience without breaking or degrading performance. Companies like Twilio, Salesforce, GoDaddy and WePay trust Split to power their feature delivery.
To learn more about Split, contact hello@split.io, or get started with feature flags for free at https://www.split.io/signup.
Split has built and maintains SDKs for:
For a comprehensive list of open source projects visit our Github page.
Learn more about Split:
Visit split.io/product for an overview of Split, or visit our documentation at help.split.io for more detailed information.
FAQs
Split SDK
We found that @splitsoftware/splitio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.