@atlaskit/tmp-editor-statsig (英语)
在平台特性旗帜可用之前, 方便使用 Statsig 特性标记的临时插件 调温插件,以方便使用statsig实验,直到平台解决方案可用.
警告: 这是一种临时解决方案,一旦有Statsig实验的平台解决方案,就会被移除.
警告: 这需要通过 " 设置编辑器试验 " (没有这种装置的产品将获得 实验的默认值设置).
使用量
实验
所有实验都必须在实验.ts文件中的 " 编辑实验 " 物体中登记.
一旦登记,就可以使用QQatlaskit/tmp-editor-statsig/Experiments的 " 编辑实验 " 功能访问它们.
布尔实验
import { editorExperiment } from '@atlaskit/editor-statsig-tmp/experiments';
if (editorExperiment('editor_inline_comments_on_inline_nodes', true)) {
// do something
} else {
// do something else
}
多变量实验
import { editorExperiment } from '@atlaskit/editor-statsig-tmp/experiments';
switch (true) {
case editorExperiment('editor_new_control_variants', 'variant-one'): {
// do something for variant one
return
}
case editorExperiment('editor_new_control_variants', 'variant-two'): {
// do something for variant two
return
}
case editorExperiment('editor_new_control_variants', 'variant-three'): {
// do something for variant three
return
}
}
`}
### Testing experiments
#### Atlaskit examples
Not yet supported.
#### Jest tests
##### Boolean experiments
```tsx
import { eeTest } from '@atlaskit/tmp-editor-statsig/editor-experiments-test-utils';
eeTest('example-boolean', {
true: () => {
expect(editorExperiment('example-boolean', true)).toBe(true);
},
false: () => {
expect(editorExperiment('example-boolean', false)).toBe(false);
},
});
多变量实验
import { eeTest } from '@atlaskit/tmp-editor-statsig/editor-experiments-test-utils';
eeTest('example-multivariate', {
one: () => {
expect(editorExperiment('example-boolean')).toBe('variant-one');
},
two: () => {
expect(editorExperiment('example-boolean')).toBe('variant-two');
},
three: () => {
expect(editorExperiment('example-boolean')).toBe('variant-three');
},
});
剧作家测试
编辑实验的设置类似于平台FeatureFlags.
test.use({
adf: exampleAdf,
platformFeatureFlags: {
// ...
},
editorExperiments: {
'example-boolean': true,
'example-multivariate': 'variant',
},
});
配置
import { setupEditorExperiments } from '@atlaskit/tmp-editor-statsig/experiments';
// Example confluence setup
setupEditorExperiments('confluence');
// Example dev util setup -- takes overrides as a second param (and otherwise defaults all experiments to their default values)
setupEditorExperiments('test', { 'example-boolean': true });
```tsx
## Usage
Detailed docs and example usage can be found
[here](https://atlaskit.atlassian.com/packages/editor/tmp-editor-feature-gate-js-client).