
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
@optimizely/optimizely-sdk-core
Advanced tools
JavaScript core SDK package for Optimizely X Full Stack
This repository houses the JavaScript SDK for Optimizely X Full Stack.
The SDK is available through npm. To install:
npm install @optimizely/optimizely-sdk-core --save
Or to use in a non CommonJS fashion:
npm run build
dist/optimizely.browser.umd.min.js
as a <script>
window.optimizelyClient
This version represents a major version change and, as such, introduces some breaking changes:
We have changed the package name to more accurately reflect the implementation of the SDK. Instead of using optimizely-sdk
, we have migrated it to optimizely-sdk-core
as this contains the core functionality of the SDK and leaves out things like datafile management. Instead the new optimizely-sdk
package will be a wrapper around optimizely-sdk-core
that will include more advanced functionality such as datafile management and event dispatch retries and can be used straight out of the box with minimal config. More on this later!
The Node SDK is now combined with the JavaScript SDK so that we have one optimizely-sdk-core
package that works across both server + browser environments.
You will no longer be able to pass in revenue
value as a stand-alone argument to the track
call. Instead you will need to pass it as an entry in the eventTags
.
We no longer support legacy Node versions (under 4.0)
See the Optimizely X Full Stack testing developer documentation to learn how to set up your first JavaScript project and use the SDK.
npm install
You can run all unit tests with:
npm test
npm run build
This command will build several distribution bundles under the dist
directory:
<script>
tag and reference it via the global var optimizelyClient
The browser bundles also come with a minified / production-ready version.
The .yml of this project contains environment vairables for BROWSER_STACK_USERNAME
and BROWSER_STACK_ACCESS_KEY
.
These variables, created in BrowserStack, are encrypted by the TravisCI public key. This is done directly with the TravisCI command line tools; for additional information see travis encrypt-file.
Please see CONTRIBUTING.
2.0.0-beta1
March 29th, 2018
This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below.
isFeatureEnabled
API to determine whether to show a feature to a user or not.var enabled = optimizelyClient.isFeatureEnabled('my_feature_key', 'user_1', userAttributes);
var enabledFeatures = optimizelyClient.getEnabledFeatures('user_1', userAttributes);
Integer
, String
, Double
, Boolean
.var stringVariable = optimizelyClient.getFeatureVariableString('my_feature_key', 'string_variable_key', 'user_1');
var integerVariable = optimizelyClient.getFeatureVariableInteger('my_feature_key', 'integer_variable_key', 'user_1');
var doubleVariable = optimizelyClient.getFeatureVariableDouble('my_feature_key', 'double_variable_key', 'user_1');
var booleanVariable = optimizelyClient.getFeatureVariableBoolean('my_feature_key', 'boolean_variable_key', 'user_1');
track
API with revenue value as a stand-alone parameter has been removed. The revenue value should be passed in as an entry of the event tags map. The key for the revenue tag is revenue
and will be treated by Optimizely as the key for analyzing revenue data in results.var eventTags = {
'revenue': 1200
};
optimizelyClient.track('event_key', 'user_id', userAttributes, eventTags);
optimizely-client-sdk
to optimizely-sdk
as we have consolidated both Node and JavaScript SDKs into one.FAQs
JavaScript core SDK package for Optimizely X Full Stack
We found that @optimizely/optimizely-sdk-core demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.