New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@guardian/ab-react

Package Overview
Dependencies
Maintainers
36
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@guardian/ab-react - npm Package Compare versions

Comparing version 1.0.0-next.0 to 1.1.0

4

package.json
{
"version": "1.0.0-next.0",
"version": "1.1.0",
"name": "@guardian/ab-react",

@@ -92,3 +92,3 @@ "author": "The Guardian",

},
"gitHead": "af948fb107cc97c8aa17b17a0f32dee99984d1ee"
"gitHead": "7579ddbbecaf07345780bf1769f0ccb5697114ae"
}

@@ -1,49 +0,5 @@

# ab-rendering
# AB React
Client-side ab testing framework (broken out from Frontend)
A React implementation for ab-testing
## API
### Initialise AB Tests
```ts
import { AB } from '@guardian/ab-rendering';
// See config object values below
const coreConfig = {};
const ophanConfig = {};
const abTests = new AB(config);
// Provides access to:
// test being a single AB tests
// [tests] being an array of ab tests
abTests.runnableTest(test);
abTests.firstRunnableTest([tests]);
abTests.isUserInVariant(test, variantId);
// [tests] being an array of *runnable* ab tests
abTest.registerCompleteEvents([tests]);
abTest.registerImpressionEvents([tests]);
abTest.trackABTests([tests]);
```
#### coreConfig
| Config | Type | Example | Note |
| ------------------- | ---------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| mvtMaxValue | number | `10000` | MVT % is calculated from 0 to mvtMaxValue |
| mvtCookieId | number | getCookie('mvtCookie') | The user's MVT ID to calculate what tests and variants they fall into |
| pageIsSensitive | boolean | guardian.config.page.isSensitive | Sensitive pages must have explicit settings in AB tests |
| abTestSwitches | Record<string, boolean> | {'TestOne': true} | An object containing all of the boolean values of abTestSwitches, in Frontend from page.config.switches.abTests |
| forcedTestVariant | Optional: { testId: ABTest['id']; variant: Variant } | | In Frontend this might be set by the URL override, but otherwise can be used to force a user into a test and variant at init time |
| forcedTestException | Optional: ABTest['id'] | | Can be used to force a user out of a test (in Frontend, again with url override) |
| arrayOfTestObjects | ABTest[] | | Pass all tests definitions into the config |
| ServerSideTets | ServerSideTests | | ServerSideTets are accessed via window config in Frontend |
| errorReporter | ErrorReporterFunc | | Pass an error reporter, probably Sentry |
| ophanRecord | OphanRecordFunction | | Probably Ophan's 'record' function |
## TODO
- Generate flow types from Typescript definition https://github.com/joarwilk/flowgen
- Move time-utils to a packaged lib folder
See the [main docs](https://github.com/guardian/ab-testing).
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc