@guardian/ab-react
Advanced tools
Comparing version 1.0.0-next.0 to 1.1.0
{ | ||
"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). |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
3
28021
5