Optimizely will be sunsetting Full Stack Experimentation on July 29, 2024. See the recommended Feature Experimentation migration timeline and documentation.

Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Install SDK

This topic describes the steps necessary to install the Optimizely JavaScript (Browser) SDK.

The JavaScript SDK can be used in a browser and is distributed through NPM:

Using npm:

npm install --save @optimizely/optimizely-sdk

Using yarn:

yarn add @optimizely/optimizely-sdk

Using pnpm:

pnpm add @optimizely/optimizely-sdk

Using deno (no installation required):

import optimizely from "npm:@optimizely/optimizely-sdk"

The full JavaScript SDK source code is on GitHub.

Requirements

The JavaScript (Browser) SDK requires a modern web browser that is ES5-compliant.

The following peer dependencies may be required for use in production:

{  
  "[email protected]": {  
    "licenses": [  
      "AFLv2.1",  
      "BSD"  
    ],  
    "publisher": "Kris Zyp",  
    "repository": "<https://github.com/kriszyp/json-schema>"  
  },  
  "[email protected]": {  
    "licenses": "MIT\*",  
    "repository": "<https://github.com/perezd/node-murmurhash>"  
  },  
  "[email protected]": {  
    "licenses": "MIT",  
    "repository": "<https://github.com/kelektiv/node-uuid>"  
  },  
  "[email protected]": {  
    "licenses": "MIT",  
    "repository": "<https://github.com/sindresorhus/decompress-response>"  
  }  
}

To regenerate this, run the following command:

npx license-checker --production --json | jq 'map_values({ licenses, publisher, repository }) | del(.[][] | nulls)'

and remove the self (@optimizely/optimizely-sdk) entry.

πŸ“˜

Note

The jq command-line JSON processor is required to run the above script. You may install jq to your environment by using Homebrew on MacOS using the command brew install jq. For Windows users, please visit the jq GitHub repository to learn more.

Next

After installing, you need to initialize the SDK.