@guardian/ab-core
Advanced tools
Comparing version 1.1.0-next.0 to 1.1.0
import { AB } from './ab'; | ||
import { ABTest as _ABTest, ABTestAPI as _ABTestAPI, AbTestConfig as _AbTestConfig, Runnable as _Runnable } from './types'; | ||
import { ABTest as _ABTest, ABTestAPI as _ABTestAPI, AbTestConfig as _AbTestConfig, Runnable as _Runnable, Variant as _Variant } from './types'; | ||
export { AB }; | ||
@@ -8,1 +8,2 @@ export declare type ABTest = _ABTest; | ||
export declare type Runnable = _Runnable<_ABTest>; | ||
export declare type Variant = _Variant; |
{ | ||
"version": "1.1.0-next.0", | ||
"version": "1.1.0", | ||
"name": "@guardian/ab-core", | ||
@@ -77,3 +77,3 @@ "author": "The Guardian", | ||
}, | ||
"gitHead": "aa079e0b4252f5ab85c04f8f6ce395212891933f" | ||
"gitHead": "7579ddbbecaf07345780bf1769f0ccb5697114ae" | ||
} |
@@ -1,49 +0,5 @@ | ||
# ab-rendering | ||
# AB Core | ||
Client-side ab testing framework (broken out from Frontend) | ||
A client-side library 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 | | ||
| mvtId | 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). |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
205
1
79726
6