Home of the:
- Chrome DevTools extension that interfaces with the GrowthBook Javascript and React SDKs.
- Visual Editor, used to create and edit variations for visual experiments.
DevTools Features
- View all features and experiments used on the current page
- Override assigned values to test all the different variations
- Override targeting attributes to simulate what different users will see
- Detailed logs explaining exactly why you got assigned a specific value
To build and use this extension locally:
- Run
yarn
to install dependencies - Run
yarn build
to create a new build - In Chrome, go to chrome://extensions
- Make sure the "Developer Mode" toggle is on
- Remove any existing GrowthBook devtool extensions
- Click "Load Unpacked Extension" and select the
build
directory
- Make changes and run
yarn build
again and it should update in Chrome automatically
To release a new version of the extension to the Chrome Web Store:
- Increment the version in
public/manifest.json
andpackage.json
(they should be the same) - Run
yarn package
to create abuild.zip
file - On the Chrome Web Store Developer Dashboard, go to Packages and upload the
build.zip
file - Add a changelog entry to the description describing your changes
- Save the draft and submit for review
- Make sure to commit and push the changes to GitHub as well
To run the Visual Editor locally and to be able to develop it:
- Follow steps 1 - 3 in the above 'Build and Release' section to get Chrome Extension loaded locally in your browser.
- Log into the GrowthBook web app.
- Create or navigate to an Experiment.
- Once created, click the CTA for 'Open Visual Editor'.
- If the experiment is new, it will ask you for a URL. Enter the URL of the site you wish to edit.
- When running a dev version of the Chrome Extension, the GB app will give you a warning that it does not detect the editor. This is okay - Click 'Proceed anyway' to move further.
- Viola! You should see the Visual Editor load.
- In the case that you don't, you'll probably see an error message regarding the CSP of the website you're trying to hit. This will require some configuration on the website's side to loosen restrictions - read our docs to see what is required.
Some notes
- HTML files go into
public/
and are copied by the build intodist/
- TS/TSX files go into
src/
and are compiled by the build and put intodist/
- Other assets such as icons, images, and the
manifest.json
are kept inpublic/
and also copied intodist/
on build