@atlaskit/tmp-editor-statsig 4.14.1 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/cjs/experiment-builders.js +6 -2
- package/dist/cjs/experiments-config.js +18 -37
- package/dist/es2019/experiment-builders.js +6 -2
- package/dist/es2019/experiments-config.js +18 -37
- package/dist/esm/experiment-builders.js +6 -2
- package/dist/esm/experiments-config.js +18 -37
- package/dist/types/editor-experiments-test-utils.d.ts +17 -67
- package/dist/types/experiment-builders.d.ts +14 -3
- package/dist/types/experiments-config.d.ts +51 -48
- package/dist/types/setup.d.ts +0 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types-ts4.5/editor-experiments-test-utils.d.ts +17 -67
- package/dist/types-ts4.5/experiment-builders.d.ts +14 -3
- package/dist/types-ts4.5/experiments-config.d.ts +51 -48
- package/dist/types-ts4.5/setup.d.ts +0 -1
- package/dist/types-ts4.5/types.d.ts +3 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/editor-statsig-tmp
|
|
2
2
|
|
|
3
|
+
## 4.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#147400](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147400)
|
|
8
|
+
[`800ff50276ed7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/800ff50276ed7) -
|
|
9
|
+
Clean up experiment platform_editor_nested_non_bodied_macros
|
|
10
|
+
|
|
3
11
|
## 4.14.1
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.createBooleanExperiment = createBooleanExperiment;
|
|
8
8
|
exports.createMultivariateExperiment = createMultivariateExperiment;
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _typeGuards = require("./type-guards");
|
|
12
|
+
var _excluded = ["values"];
|
|
11
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
15
|
/**
|
|
@@ -24,8 +26,10 @@ function createBooleanExperiment(config) {
|
|
|
24
26
|
* Helper to create a multivariate experiment configuration
|
|
25
27
|
*/
|
|
26
28
|
function createMultivariateExperiment(config) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
var values = config.values,
|
|
30
|
+
restConfig = (0, _objectWithoutProperties2.default)(config, _excluded);
|
|
31
|
+
return _objectSpread(_objectSpread({}, restConfig), {}, {
|
|
32
|
+
typeGuard: (0, _typeGuards.oneOf)(values),
|
|
29
33
|
defaultValue: config.defaultValue
|
|
30
34
|
});
|
|
31
35
|
}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.editorExperimentsConfig = void 0;
|
|
7
7
|
var _typeGuards = require("./type-guards");
|
|
8
|
+
var _experimentBuilders = require("./experiment-builders");
|
|
8
9
|
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
9
10
|
// Entry file in package.json
|
|
10
11
|
|
|
@@ -15,82 +16,72 @@ var _typeGuards = require("./type-guards");
|
|
|
15
16
|
*/
|
|
16
17
|
var editorExperimentsConfig = exports.editorExperimentsConfig = {
|
|
17
18
|
// Added 2024-08-08
|
|
18
|
-
'example-boolean': {
|
|
19
|
+
'example-boolean': (0, _experimentBuilders.createBooleanExperiment)({
|
|
19
20
|
productKeys: {
|
|
20
21
|
confluence: 'confluence_editor_experiment_test_new_package_boolean'
|
|
21
22
|
},
|
|
22
23
|
param: 'isEnabled',
|
|
23
|
-
typeGuard: _typeGuards.isBoolean,
|
|
24
|
-
// Note -- you need to set the type to boolean for the default value
|
|
25
24
|
defaultValue: false
|
|
26
|
-
},
|
|
25
|
+
}),
|
|
27
26
|
// Added 2024-08-08
|
|
28
|
-
'example-multivariate': {
|
|
27
|
+
'example-multivariate': (0, _experimentBuilders.createMultivariateExperiment)({
|
|
29
28
|
productKeys: {
|
|
30
29
|
confluence: 'confluence_editor_experiment_test_new_package_multivariate'
|
|
31
30
|
},
|
|
32
31
|
param: 'variant',
|
|
33
|
-
|
|
34
|
-
// Note -- you need to specify the type of the default value as the union of all possible values
|
|
35
|
-
// This is used to provide type safety on consumption
|
|
32
|
+
values: ['one', 'two', 'three'],
|
|
36
33
|
defaultValue: 'one'
|
|
37
|
-
},
|
|
34
|
+
}),
|
|
38
35
|
// Added 2024-08-08
|
|
39
|
-
'test-new-experiments-package': {
|
|
36
|
+
'test-new-experiments-package': (0, _experimentBuilders.createBooleanExperiment)({
|
|
40
37
|
productKeys: {
|
|
41
38
|
confluence: 'confluence_editor_experiment_test_new_package',
|
|
42
39
|
jira: 'jira_editor_experiment_test_new_package'
|
|
43
40
|
},
|
|
44
41
|
param: 'isEnabled',
|
|
45
|
-
typeGuard: _typeGuards.isBoolean,
|
|
46
42
|
defaultValue: false
|
|
47
|
-
},
|
|
43
|
+
}),
|
|
48
44
|
// Added 2024-09-05
|
|
49
|
-
support_table_in_comment: {
|
|
45
|
+
support_table_in_comment: (0, _experimentBuilders.createBooleanExperiment)({
|
|
50
46
|
productKeys: {
|
|
51
47
|
confluence: 'platform_editor_support_table_in_comment_exp'
|
|
52
48
|
},
|
|
53
49
|
param: 'isEnabled',
|
|
54
|
-
typeGuard: _typeGuards.isBoolean,
|
|
55
50
|
defaultValue: false
|
|
56
|
-
},
|
|
51
|
+
}),
|
|
57
52
|
// Added 2024-09-07
|
|
58
|
-
platform_editor_exp_lazy_node_views: {
|
|
53
|
+
platform_editor_exp_lazy_node_views: (0, _experimentBuilders.createBooleanExperiment)({
|
|
59
54
|
productKeys: {
|
|
60
55
|
confluence: 'platform_editor_exp_lazy_node_views'
|
|
61
56
|
},
|
|
62
57
|
param: 'isEnabled',
|
|
63
|
-
typeGuard: _typeGuards.isBoolean,
|
|
64
58
|
defaultValue: false
|
|
65
|
-
},
|
|
59
|
+
}),
|
|
66
60
|
// Added 2024-09-18
|
|
67
|
-
platform_renderer_table_sticky_scrollbar: {
|
|
61
|
+
platform_renderer_table_sticky_scrollbar: (0, _experimentBuilders.createBooleanExperiment)({
|
|
68
62
|
productKeys: {
|
|
69
63
|
confluence: 'platform_renderer_table_sticky_scrollbar'
|
|
70
64
|
},
|
|
71
65
|
param: 'isEnabled',
|
|
72
|
-
typeGuard: _typeGuards.isBoolean,
|
|
73
66
|
defaultValue: false
|
|
74
|
-
},
|
|
67
|
+
}),
|
|
75
68
|
// Added 2024-10-01
|
|
76
|
-
comment_on_bodied_extensions: {
|
|
69
|
+
comment_on_bodied_extensions: (0, _experimentBuilders.createBooleanExperiment)({
|
|
77
70
|
productKeys: {
|
|
78
71
|
confluence: 'platform_editor_comment_on_bodied_extensions'
|
|
79
72
|
},
|
|
80
73
|
param: 'isEnabled',
|
|
81
|
-
typeGuard: _typeGuards.isBoolean,
|
|
82
74
|
defaultValue: false
|
|
83
|
-
},
|
|
75
|
+
}),
|
|
84
76
|
// Added 2024-10-14
|
|
85
77
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_advanced_layouts/setup
|
|
86
|
-
advanced_layouts: {
|
|
78
|
+
advanced_layouts: (0, _experimentBuilders.createBooleanExperiment)({
|
|
87
79
|
productKeys: {
|
|
88
80
|
confluence: 'platform_editor_advanced_layouts'
|
|
89
81
|
},
|
|
90
82
|
param: 'isEnabled',
|
|
91
|
-
typeGuard: _typeGuards.isBoolean,
|
|
92
83
|
defaultValue: false
|
|
93
|
-
},
|
|
84
|
+
}),
|
|
94
85
|
// Added 2025-3-15
|
|
95
86
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_single_column_layout/setup
|
|
96
87
|
single_column_layouts: {
|
|
@@ -200,16 +191,6 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
|
|
|
200
191
|
typeGuard: (0, _typeGuards.oneOf)(['control', 'variant1']),
|
|
201
192
|
defaultValue: 'control'
|
|
202
193
|
},
|
|
203
|
-
// Added 2025-02-18
|
|
204
|
-
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_nested_non_bodied_macros/setup
|
|
205
|
-
platform_editor_nested_non_bodied_macros: {
|
|
206
|
-
productKeys: {
|
|
207
|
-
confluence: 'platform_editor_nested_non_bodied_macros'
|
|
208
|
-
},
|
|
209
|
-
param: 'cohort',
|
|
210
|
-
typeGuard: (0, _typeGuards.oneOf)(['control', 'test']),
|
|
211
|
-
defaultValue: 'control'
|
|
212
|
-
},
|
|
213
194
|
// Added 28-02-2025
|
|
214
195
|
platform_editor_insertion: {
|
|
215
196
|
productKeys: {
|
|
@@ -14,9 +14,13 @@ export function createBooleanExperiment(config) {
|
|
|
14
14
|
* Helper to create a multivariate experiment configuration
|
|
15
15
|
*/
|
|
16
16
|
export function createMultivariateExperiment(config) {
|
|
17
|
+
const {
|
|
18
|
+
values,
|
|
19
|
+
...restConfig
|
|
20
|
+
} = config;
|
|
17
21
|
return {
|
|
18
|
-
...
|
|
19
|
-
typeGuard: oneOf(
|
|
22
|
+
...restConfig,
|
|
23
|
+
typeGuard: oneOf(values),
|
|
20
24
|
defaultValue: config.defaultValue
|
|
21
25
|
};
|
|
22
26
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Entry file in package.json
|
|
3
3
|
|
|
4
4
|
import { isBoolean, oneOf } from './type-guards';
|
|
5
|
+
import { createBooleanExperiment, createMultivariateExperiment } from './experiment-builders';
|
|
5
6
|
/**
|
|
6
7
|
* When adding a new experiment, you need to add it here.
|
|
7
8
|
* Please follow the pattern established in the examples and any
|
|
@@ -9,82 +10,72 @@ import { isBoolean, oneOf } from './type-guards';
|
|
|
9
10
|
*/
|
|
10
11
|
export const editorExperimentsConfig = {
|
|
11
12
|
// Added 2024-08-08
|
|
12
|
-
'example-boolean': {
|
|
13
|
+
'example-boolean': createBooleanExperiment({
|
|
13
14
|
productKeys: {
|
|
14
15
|
confluence: 'confluence_editor_experiment_test_new_package_boolean'
|
|
15
16
|
},
|
|
16
17
|
param: 'isEnabled',
|
|
17
|
-
typeGuard: isBoolean,
|
|
18
|
-
// Note -- you need to set the type to boolean for the default value
|
|
19
18
|
defaultValue: false
|
|
20
|
-
},
|
|
19
|
+
}),
|
|
21
20
|
// Added 2024-08-08
|
|
22
|
-
'example-multivariate': {
|
|
21
|
+
'example-multivariate': createMultivariateExperiment({
|
|
23
22
|
productKeys: {
|
|
24
23
|
confluence: 'confluence_editor_experiment_test_new_package_multivariate'
|
|
25
24
|
},
|
|
26
25
|
param: 'variant',
|
|
27
|
-
|
|
28
|
-
// Note -- you need to specify the type of the default value as the union of all possible values
|
|
29
|
-
// This is used to provide type safety on consumption
|
|
26
|
+
values: ['one', 'two', 'three'],
|
|
30
27
|
defaultValue: 'one'
|
|
31
|
-
},
|
|
28
|
+
}),
|
|
32
29
|
// Added 2024-08-08
|
|
33
|
-
'test-new-experiments-package': {
|
|
30
|
+
'test-new-experiments-package': createBooleanExperiment({
|
|
34
31
|
productKeys: {
|
|
35
32
|
confluence: 'confluence_editor_experiment_test_new_package',
|
|
36
33
|
jira: 'jira_editor_experiment_test_new_package'
|
|
37
34
|
},
|
|
38
35
|
param: 'isEnabled',
|
|
39
|
-
typeGuard: isBoolean,
|
|
40
36
|
defaultValue: false
|
|
41
|
-
},
|
|
37
|
+
}),
|
|
42
38
|
// Added 2024-09-05
|
|
43
|
-
support_table_in_comment: {
|
|
39
|
+
support_table_in_comment: createBooleanExperiment({
|
|
44
40
|
productKeys: {
|
|
45
41
|
confluence: 'platform_editor_support_table_in_comment_exp'
|
|
46
42
|
},
|
|
47
43
|
param: 'isEnabled',
|
|
48
|
-
typeGuard: isBoolean,
|
|
49
44
|
defaultValue: false
|
|
50
|
-
},
|
|
45
|
+
}),
|
|
51
46
|
// Added 2024-09-07
|
|
52
|
-
platform_editor_exp_lazy_node_views: {
|
|
47
|
+
platform_editor_exp_lazy_node_views: createBooleanExperiment({
|
|
53
48
|
productKeys: {
|
|
54
49
|
confluence: 'platform_editor_exp_lazy_node_views'
|
|
55
50
|
},
|
|
56
51
|
param: 'isEnabled',
|
|
57
|
-
typeGuard: isBoolean,
|
|
58
52
|
defaultValue: false
|
|
59
|
-
},
|
|
53
|
+
}),
|
|
60
54
|
// Added 2024-09-18
|
|
61
|
-
platform_renderer_table_sticky_scrollbar: {
|
|
55
|
+
platform_renderer_table_sticky_scrollbar: createBooleanExperiment({
|
|
62
56
|
productKeys: {
|
|
63
57
|
confluence: 'platform_renderer_table_sticky_scrollbar'
|
|
64
58
|
},
|
|
65
59
|
param: 'isEnabled',
|
|
66
|
-
typeGuard: isBoolean,
|
|
67
60
|
defaultValue: false
|
|
68
|
-
},
|
|
61
|
+
}),
|
|
69
62
|
// Added 2024-10-01
|
|
70
|
-
comment_on_bodied_extensions: {
|
|
63
|
+
comment_on_bodied_extensions: createBooleanExperiment({
|
|
71
64
|
productKeys: {
|
|
72
65
|
confluence: 'platform_editor_comment_on_bodied_extensions'
|
|
73
66
|
},
|
|
74
67
|
param: 'isEnabled',
|
|
75
|
-
typeGuard: isBoolean,
|
|
76
68
|
defaultValue: false
|
|
77
|
-
},
|
|
69
|
+
}),
|
|
78
70
|
// Added 2024-10-14
|
|
79
71
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_advanced_layouts/setup
|
|
80
|
-
advanced_layouts: {
|
|
72
|
+
advanced_layouts: createBooleanExperiment({
|
|
81
73
|
productKeys: {
|
|
82
74
|
confluence: 'platform_editor_advanced_layouts'
|
|
83
75
|
},
|
|
84
76
|
param: 'isEnabled',
|
|
85
|
-
typeGuard: isBoolean,
|
|
86
77
|
defaultValue: false
|
|
87
|
-
},
|
|
78
|
+
}),
|
|
88
79
|
// Added 2025-3-15
|
|
89
80
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_single_column_layout/setup
|
|
90
81
|
single_column_layouts: {
|
|
@@ -194,16 +185,6 @@ export const editorExperimentsConfig = {
|
|
|
194
185
|
typeGuard: oneOf(['control', 'variant1']),
|
|
195
186
|
defaultValue: 'control'
|
|
196
187
|
},
|
|
197
|
-
// Added 2025-02-18
|
|
198
|
-
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_nested_non_bodied_macros/setup
|
|
199
|
-
platform_editor_nested_non_bodied_macros: {
|
|
200
|
-
productKeys: {
|
|
201
|
-
confluence: 'platform_editor_nested_non_bodied_macros'
|
|
202
|
-
},
|
|
203
|
-
param: 'cohort',
|
|
204
|
-
typeGuard: oneOf(['control', 'test']),
|
|
205
|
-
defaultValue: 'control'
|
|
206
|
-
},
|
|
207
188
|
// Added 28-02-2025
|
|
208
189
|
platform_editor_insertion: {
|
|
209
190
|
productKeys: {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
1
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
var _excluded = ["values"];
|
|
2
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
6
|
import { isBoolean, oneOf } from './type-guards';
|
|
@@ -16,8 +18,10 @@ export function createBooleanExperiment(config) {
|
|
|
16
18
|
* Helper to create a multivariate experiment configuration
|
|
17
19
|
*/
|
|
18
20
|
export function createMultivariateExperiment(config) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
var values = config.values,
|
|
22
|
+
restConfig = _objectWithoutProperties(config, _excluded);
|
|
23
|
+
return _objectSpread(_objectSpread({}, restConfig), {}, {
|
|
24
|
+
typeGuard: oneOf(values),
|
|
21
25
|
defaultValue: config.defaultValue
|
|
22
26
|
});
|
|
23
27
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Entry file in package.json
|
|
3
3
|
|
|
4
4
|
import { isBoolean, oneOf } from './type-guards';
|
|
5
|
+
import { createBooleanExperiment, createMultivariateExperiment } from './experiment-builders';
|
|
5
6
|
/**
|
|
6
7
|
* When adding a new experiment, you need to add it here.
|
|
7
8
|
* Please follow the pattern established in the examples and any
|
|
@@ -9,82 +10,72 @@ import { isBoolean, oneOf } from './type-guards';
|
|
|
9
10
|
*/
|
|
10
11
|
export var editorExperimentsConfig = {
|
|
11
12
|
// Added 2024-08-08
|
|
12
|
-
'example-boolean': {
|
|
13
|
+
'example-boolean': createBooleanExperiment({
|
|
13
14
|
productKeys: {
|
|
14
15
|
confluence: 'confluence_editor_experiment_test_new_package_boolean'
|
|
15
16
|
},
|
|
16
17
|
param: 'isEnabled',
|
|
17
|
-
typeGuard: isBoolean,
|
|
18
|
-
// Note -- you need to set the type to boolean for the default value
|
|
19
18
|
defaultValue: false
|
|
20
|
-
},
|
|
19
|
+
}),
|
|
21
20
|
// Added 2024-08-08
|
|
22
|
-
'example-multivariate': {
|
|
21
|
+
'example-multivariate': createMultivariateExperiment({
|
|
23
22
|
productKeys: {
|
|
24
23
|
confluence: 'confluence_editor_experiment_test_new_package_multivariate'
|
|
25
24
|
},
|
|
26
25
|
param: 'variant',
|
|
27
|
-
|
|
28
|
-
// Note -- you need to specify the type of the default value as the union of all possible values
|
|
29
|
-
// This is used to provide type safety on consumption
|
|
26
|
+
values: ['one', 'two', 'three'],
|
|
30
27
|
defaultValue: 'one'
|
|
31
|
-
},
|
|
28
|
+
}),
|
|
32
29
|
// Added 2024-08-08
|
|
33
|
-
'test-new-experiments-package': {
|
|
30
|
+
'test-new-experiments-package': createBooleanExperiment({
|
|
34
31
|
productKeys: {
|
|
35
32
|
confluence: 'confluence_editor_experiment_test_new_package',
|
|
36
33
|
jira: 'jira_editor_experiment_test_new_package'
|
|
37
34
|
},
|
|
38
35
|
param: 'isEnabled',
|
|
39
|
-
typeGuard: isBoolean,
|
|
40
36
|
defaultValue: false
|
|
41
|
-
},
|
|
37
|
+
}),
|
|
42
38
|
// Added 2024-09-05
|
|
43
|
-
support_table_in_comment: {
|
|
39
|
+
support_table_in_comment: createBooleanExperiment({
|
|
44
40
|
productKeys: {
|
|
45
41
|
confluence: 'platform_editor_support_table_in_comment_exp'
|
|
46
42
|
},
|
|
47
43
|
param: 'isEnabled',
|
|
48
|
-
typeGuard: isBoolean,
|
|
49
44
|
defaultValue: false
|
|
50
|
-
},
|
|
45
|
+
}),
|
|
51
46
|
// Added 2024-09-07
|
|
52
|
-
platform_editor_exp_lazy_node_views: {
|
|
47
|
+
platform_editor_exp_lazy_node_views: createBooleanExperiment({
|
|
53
48
|
productKeys: {
|
|
54
49
|
confluence: 'platform_editor_exp_lazy_node_views'
|
|
55
50
|
},
|
|
56
51
|
param: 'isEnabled',
|
|
57
|
-
typeGuard: isBoolean,
|
|
58
52
|
defaultValue: false
|
|
59
|
-
},
|
|
53
|
+
}),
|
|
60
54
|
// Added 2024-09-18
|
|
61
|
-
platform_renderer_table_sticky_scrollbar: {
|
|
55
|
+
platform_renderer_table_sticky_scrollbar: createBooleanExperiment({
|
|
62
56
|
productKeys: {
|
|
63
57
|
confluence: 'platform_renderer_table_sticky_scrollbar'
|
|
64
58
|
},
|
|
65
59
|
param: 'isEnabled',
|
|
66
|
-
typeGuard: isBoolean,
|
|
67
60
|
defaultValue: false
|
|
68
|
-
},
|
|
61
|
+
}),
|
|
69
62
|
// Added 2024-10-01
|
|
70
|
-
comment_on_bodied_extensions: {
|
|
63
|
+
comment_on_bodied_extensions: createBooleanExperiment({
|
|
71
64
|
productKeys: {
|
|
72
65
|
confluence: 'platform_editor_comment_on_bodied_extensions'
|
|
73
66
|
},
|
|
74
67
|
param: 'isEnabled',
|
|
75
|
-
typeGuard: isBoolean,
|
|
76
68
|
defaultValue: false
|
|
77
|
-
},
|
|
69
|
+
}),
|
|
78
70
|
// Added 2024-10-14
|
|
79
71
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_advanced_layouts/setup
|
|
80
|
-
advanced_layouts: {
|
|
72
|
+
advanced_layouts: createBooleanExperiment({
|
|
81
73
|
productKeys: {
|
|
82
74
|
confluence: 'platform_editor_advanced_layouts'
|
|
83
75
|
},
|
|
84
76
|
param: 'isEnabled',
|
|
85
|
-
typeGuard: isBoolean,
|
|
86
77
|
defaultValue: false
|
|
87
|
-
},
|
|
78
|
+
}),
|
|
88
79
|
// Added 2025-3-15
|
|
89
80
|
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_single_column_layout/setup
|
|
90
81
|
single_column_layouts: {
|
|
@@ -194,16 +185,6 @@ export var editorExperimentsConfig = {
|
|
|
194
185
|
typeGuard: oneOf(['control', 'variant1']),
|
|
195
186
|
defaultValue: 'control'
|
|
196
187
|
},
|
|
197
|
-
// Added 2025-02-18
|
|
198
|
-
// https://console.statsig.com/LqivKg6ADZZaGczRfBKfX/experiments/platform_editor_nested_non_bodied_macros/setup
|
|
199
|
-
platform_editor_nested_non_bodied_macros: {
|
|
200
|
-
productKeys: {
|
|
201
|
-
confluence: 'platform_editor_nested_non_bodied_macros'
|
|
202
|
-
},
|
|
203
|
-
param: 'cohort',
|
|
204
|
-
typeGuard: oneOf(['control', 'test']),
|
|
205
|
-
defaultValue: 'control'
|
|
206
|
-
},
|
|
207
188
|
// Added 28-02-2025
|
|
208
189
|
platform_editor_insertion: {
|
|
209
190
|
productKeys: {
|
|
@@ -45,72 +45,55 @@ declare function eeTest<ExperimentName extends keyof EditorExperimentsConfig>(ex
|
|
|
45
45
|
false: DescribeBody;
|
|
46
46
|
}, otherExperiments?: EditorExperimentOverrides): void;
|
|
47
47
|
declare namespace eeTest {
|
|
48
|
-
var describe: <ExperimentName extends "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "live_pages_graceful_edit" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_controls_shadow" | "
|
|
48
|
+
var describe: <ExperimentName extends "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "live_pages_graceful_edit" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_controls_shadow" | "platform_editor_insertion" | "platform_editor_inline_node_virtualization" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "platform_editor_markdown_next_media_plugin_exp" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback">(experimentName: ExperimentName, describeName: string) => {
|
|
49
49
|
variant: (value: {
|
|
50
50
|
'example-boolean': {
|
|
51
|
-
productKeys: {
|
|
52
|
-
confluence: string;
|
|
53
|
-
};
|
|
54
|
-
param: string;
|
|
55
51
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
56
52
|
defaultValue: boolean;
|
|
53
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
54
|
+
param: string;
|
|
57
55
|
};
|
|
58
56
|
'example-multivariate': {
|
|
59
|
-
productKeys: {
|
|
60
|
-
confluence: string;
|
|
61
|
-
};
|
|
62
|
-
param: string;
|
|
63
57
|
typeGuard: (value: unknown) => value is "one" | "two" | "three";
|
|
64
58
|
defaultValue: "one" | "two" | "three";
|
|
59
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
60
|
+
param: string;
|
|
65
61
|
};
|
|
66
62
|
'test-new-experiments-package': {
|
|
67
|
-
productKeys: {
|
|
68
|
-
confluence: string;
|
|
69
|
-
jira: string;
|
|
70
|
-
};
|
|
71
|
-
param: string;
|
|
72
63
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
73
64
|
defaultValue: boolean;
|
|
65
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
66
|
+
param: string;
|
|
74
67
|
};
|
|
75
68
|
support_table_in_comment: {
|
|
76
|
-
productKeys: {
|
|
77
|
-
confluence: string;
|
|
78
|
-
};
|
|
79
|
-
param: string;
|
|
80
69
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
81
70
|
defaultValue: boolean;
|
|
71
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
72
|
+
param: string;
|
|
82
73
|
};
|
|
83
74
|
platform_editor_exp_lazy_node_views: {
|
|
84
|
-
productKeys: {
|
|
85
|
-
confluence: string;
|
|
86
|
-
};
|
|
87
|
-
param: string;
|
|
88
75
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
89
76
|
defaultValue: boolean;
|
|
77
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
78
|
+
param: string;
|
|
90
79
|
};
|
|
91
80
|
platform_renderer_table_sticky_scrollbar: {
|
|
92
|
-
productKeys: {
|
|
93
|
-
confluence: string;
|
|
94
|
-
};
|
|
95
|
-
param: string;
|
|
96
81
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
97
82
|
defaultValue: boolean;
|
|
83
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
84
|
+
param: string;
|
|
98
85
|
};
|
|
99
86
|
comment_on_bodied_extensions: {
|
|
100
|
-
productKeys: {
|
|
101
|
-
confluence: string;
|
|
102
|
-
};
|
|
103
|
-
param: string;
|
|
104
87
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
105
88
|
defaultValue: boolean;
|
|
89
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
90
|
+
param: string;
|
|
106
91
|
};
|
|
107
92
|
advanced_layouts: {
|
|
108
|
-
productKeys: {
|
|
109
|
-
confluence: string;
|
|
110
|
-
};
|
|
111
|
-
param: string;
|
|
112
93
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
113
94
|
defaultValue: boolean;
|
|
95
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
96
|
+
param: string;
|
|
114
97
|
};
|
|
115
98
|
single_column_layouts: {
|
|
116
99
|
productKeys: {
|
|
@@ -126,31 +109,6 @@ declare namespace eeTest {
|
|
|
126
109
|
};
|
|
127
110
|
param: string;
|
|
128
111
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
129
|
-
/**
|
|
130
|
-
* eeTest.describe() Wrapper utility for describe() that runs a test with a editor experiment overides.
|
|
131
|
-
*
|
|
132
|
-
* @example Single experiment
|
|
133
|
-
* ```ts
|
|
134
|
-
* eeTest.describe('Description of test "suite" containing nested suites and tests.', { 'example-boolean': true }, () => {
|
|
135
|
-
* it('should do the thing', () => {
|
|
136
|
-
* expect(editorExperiment('example-boolean', true)).toBe(true);
|
|
137
|
-
* });
|
|
138
|
-
* });
|
|
139
|
-
* ```
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* @example Multiple experiment
|
|
143
|
-
* ```ts
|
|
144
|
-
* eeTest.describe('Description of test "suite" containing nested suites and tests.', { 'example-boolean': true, 'example-multivariate': 'three' }, () => {
|
|
145
|
-
* it('should do the thing', () => {
|
|
146
|
-
* expect(editorExperiment('example-boolean', true)).toBe(true);
|
|
147
|
-
* });
|
|
148
|
-
* });
|
|
149
|
-
* ```
|
|
150
|
-
*
|
|
151
|
-
* API based on next gen ffTest API
|
|
152
|
-
* - https://hello.atlassian.net/wiki/spaces/AF/pages/2569505829/Task+Testing+your+feature+flag+in+platform+and+product#Next-Generation-API-%E2%9C%A8
|
|
153
|
-
*/
|
|
154
112
|
defaultValue: boolean;
|
|
155
113
|
};
|
|
156
114
|
'platform_editor_ai-prompts-placeholder': {
|
|
@@ -233,14 +191,6 @@ declare namespace eeTest {
|
|
|
233
191
|
typeGuard: (value: unknown) => value is "control" | "variant1";
|
|
234
192
|
defaultValue: "control" | "variant1";
|
|
235
193
|
};
|
|
236
|
-
platform_editor_nested_non_bodied_macros: {
|
|
237
|
-
productKeys: {
|
|
238
|
-
confluence: string;
|
|
239
|
-
};
|
|
240
|
-
param: string;
|
|
241
|
-
typeGuard: (value: unknown) => value is "test" | "control";
|
|
242
|
-
defaultValue: "test" | "control";
|
|
243
|
-
};
|
|
244
194
|
platform_editor_insertion: {
|
|
245
195
|
productKeys: {
|
|
246
196
|
confluence: string;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isBoolean } from './type-guards';
|
|
2
|
+
import type { BooleanExperimentConfig, MultivariateExperimentConfig } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Helper to create a boolean experiment configuration
|
|
4
5
|
*/
|
|
5
|
-
export declare function createBooleanExperiment(config: BooleanExperimentConfig):
|
|
6
|
+
export declare function createBooleanExperiment(config: BooleanExperimentConfig): {
|
|
7
|
+
typeGuard: typeof isBoolean;
|
|
8
|
+
defaultValue: boolean;
|
|
9
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
10
|
+
param: string;
|
|
11
|
+
};
|
|
6
12
|
/**
|
|
7
13
|
* Helper to create a multivariate experiment configuration
|
|
8
14
|
*/
|
|
9
|
-
export declare function createMultivariateExperiment<T extends string[]>(config: MultivariateExperimentConfig<T>):
|
|
15
|
+
export declare function createMultivariateExperiment<T extends string[]>(config: MultivariateExperimentConfig<T>): {
|
|
16
|
+
typeGuard: (value: unknown) => value is T[number];
|
|
17
|
+
defaultValue: T[number];
|
|
18
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
19
|
+
param: string;
|
|
20
|
+
};
|
|
@@ -7,69 +7,80 @@ export type EditorExperimentsConfig = typeof editorExperimentsConfig;
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const editorExperimentsConfig: {
|
|
9
9
|
'example-boolean': {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
typeGuard: typeof isBoolean; /**
|
|
11
|
+
* When adding a new experiment, you need to add it here.
|
|
12
|
+
* Please follow the pattern established in the examples and any
|
|
13
|
+
* existing experiments.
|
|
14
|
+
*/
|
|
15
15
|
defaultValue: boolean;
|
|
16
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
17
|
+
param: string;
|
|
16
18
|
};
|
|
17
19
|
'example-multivariate': {
|
|
18
|
-
productKeys: {
|
|
19
|
-
confluence: string;
|
|
20
|
-
};
|
|
21
|
-
param: string;
|
|
22
20
|
typeGuard: (value: unknown) => value is "one" | "two" | "three";
|
|
23
21
|
defaultValue: "one" | "two" | "three";
|
|
22
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
23
|
+
param: string;
|
|
24
24
|
};
|
|
25
25
|
'test-new-experiments-package': {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
typeGuard: typeof isBoolean;
|
|
26
|
+
typeGuard: typeof isBoolean; /**
|
|
27
|
+
* When adding a new experiment, you need to add it here.
|
|
28
|
+
* Please follow the pattern established in the examples and any
|
|
29
|
+
* existing experiments.
|
|
30
|
+
*/
|
|
32
31
|
defaultValue: boolean;
|
|
32
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
33
|
+
param: string;
|
|
33
34
|
};
|
|
34
35
|
support_table_in_comment: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
typeGuard: typeof isBoolean; /**
|
|
37
|
+
* When adding a new experiment, you need to add it here.
|
|
38
|
+
* Please follow the pattern established in the examples and any
|
|
39
|
+
* existing experiments.
|
|
40
|
+
*/
|
|
40
41
|
defaultValue: boolean;
|
|
42
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
43
|
+
param: string;
|
|
41
44
|
};
|
|
42
45
|
platform_editor_exp_lazy_node_views: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
typeGuard: typeof isBoolean; /**
|
|
47
|
+
* When adding a new experiment, you need to add it here.
|
|
48
|
+
* Please follow the pattern established in the examples and any
|
|
49
|
+
* existing experiments.
|
|
50
|
+
*/
|
|
48
51
|
defaultValue: boolean;
|
|
52
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
53
|
+
param: string;
|
|
49
54
|
};
|
|
50
55
|
platform_renderer_table_sticky_scrollbar: {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
typeGuard: typeof isBoolean; /**
|
|
57
|
+
* When adding a new experiment, you need to add it here.
|
|
58
|
+
* Please follow the pattern established in the examples and any
|
|
59
|
+
* existing experiments.
|
|
60
|
+
*/
|
|
56
61
|
defaultValue: boolean;
|
|
62
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
63
|
+
param: string;
|
|
57
64
|
};
|
|
58
65
|
comment_on_bodied_extensions: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
typeGuard: typeof isBoolean; /**
|
|
67
|
+
* When adding a new experiment, you need to add it here.
|
|
68
|
+
* Please follow the pattern established in the examples and any
|
|
69
|
+
* existing experiments.
|
|
70
|
+
*/
|
|
64
71
|
defaultValue: boolean;
|
|
72
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
73
|
+
param: string;
|
|
65
74
|
};
|
|
66
75
|
advanced_layouts: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
typeGuard: typeof isBoolean; /**
|
|
77
|
+
* When adding a new experiment, you need to add it here.
|
|
78
|
+
* Please follow the pattern established in the examples and any
|
|
79
|
+
* existing experiments.
|
|
80
|
+
*/
|
|
72
81
|
defaultValue: boolean;
|
|
82
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
83
|
+
param: string;
|
|
73
84
|
};
|
|
74
85
|
single_column_layouts: {
|
|
75
86
|
productKeys: {
|
|
@@ -167,14 +178,6 @@ export declare const editorExperimentsConfig: {
|
|
|
167
178
|
typeGuard: (value: unknown) => value is "control" | "variant1";
|
|
168
179
|
defaultValue: "control" | "variant1";
|
|
169
180
|
};
|
|
170
|
-
platform_editor_nested_non_bodied_macros: {
|
|
171
|
-
productKeys: {
|
|
172
|
-
confluence: string;
|
|
173
|
-
};
|
|
174
|
-
param: string;
|
|
175
|
-
typeGuard: (value: unknown) => value is "test" | "control";
|
|
176
|
-
defaultValue: "test" | "control";
|
|
177
|
-
};
|
|
178
181
|
platform_editor_insertion: {
|
|
179
182
|
productKeys: {
|
|
180
183
|
confluence: string;
|
package/dist/types/setup.d.ts
CHANGED
|
@@ -28,7 +28,6 @@ export declare let _overrides: Partial<{
|
|
|
28
28
|
platform_editor_ai_edit_response_in_preview: boolean;
|
|
29
29
|
platform_editor_controls: "control" | "variant1";
|
|
30
30
|
platform_editor_controls_shadow: "control" | "variant1";
|
|
31
|
-
platform_editor_nested_non_bodied_macros: "test" | "control";
|
|
32
31
|
platform_editor_insertion: "control" | "variant1";
|
|
33
32
|
platform_editor_inline_node_virtualization: "off" | "fallback-small" | "fallback-large";
|
|
34
33
|
platform_editor_vanilla_dom: boolean;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -45,72 +45,55 @@ declare function eeTest<ExperimentName extends keyof EditorExperimentsConfig>(ex
|
|
|
45
45
|
false: DescribeBody;
|
|
46
46
|
}, otherExperiments?: EditorExperimentOverrides): void;
|
|
47
47
|
declare namespace eeTest {
|
|
48
|
-
var describe: <ExperimentName extends "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "live_pages_graceful_edit" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_controls_shadow" | "
|
|
48
|
+
var describe: <ExperimentName extends "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "live_pages_graceful_edit" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_controls_shadow" | "platform_editor_insertion" | "platform_editor_inline_node_virtualization" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "platform_editor_markdown_next_media_plugin_exp" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback">(experimentName: ExperimentName, describeName: string) => {
|
|
49
49
|
variant: (value: {
|
|
50
50
|
'example-boolean': {
|
|
51
|
-
productKeys: {
|
|
52
|
-
confluence: string;
|
|
53
|
-
};
|
|
54
|
-
param: string;
|
|
55
51
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
56
52
|
defaultValue: boolean;
|
|
53
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
54
|
+
param: string;
|
|
57
55
|
};
|
|
58
56
|
'example-multivariate': {
|
|
59
|
-
productKeys: {
|
|
60
|
-
confluence: string;
|
|
61
|
-
};
|
|
62
|
-
param: string;
|
|
63
57
|
typeGuard: (value: unknown) => value is "one" | "two" | "three";
|
|
64
58
|
defaultValue: "one" | "two" | "three";
|
|
59
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
60
|
+
param: string;
|
|
65
61
|
};
|
|
66
62
|
'test-new-experiments-package': {
|
|
67
|
-
productKeys: {
|
|
68
|
-
confluence: string;
|
|
69
|
-
jira: string;
|
|
70
|
-
};
|
|
71
|
-
param: string;
|
|
72
63
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
73
64
|
defaultValue: boolean;
|
|
65
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
66
|
+
param: string;
|
|
74
67
|
};
|
|
75
68
|
support_table_in_comment: {
|
|
76
|
-
productKeys: {
|
|
77
|
-
confluence: string;
|
|
78
|
-
};
|
|
79
|
-
param: string;
|
|
80
69
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
81
70
|
defaultValue: boolean;
|
|
71
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
72
|
+
param: string;
|
|
82
73
|
};
|
|
83
74
|
platform_editor_exp_lazy_node_views: {
|
|
84
|
-
productKeys: {
|
|
85
|
-
confluence: string;
|
|
86
|
-
};
|
|
87
|
-
param: string;
|
|
88
75
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
89
76
|
defaultValue: boolean;
|
|
77
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
78
|
+
param: string;
|
|
90
79
|
};
|
|
91
80
|
platform_renderer_table_sticky_scrollbar: {
|
|
92
|
-
productKeys: {
|
|
93
|
-
confluence: string;
|
|
94
|
-
};
|
|
95
|
-
param: string;
|
|
96
81
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
97
82
|
defaultValue: boolean;
|
|
83
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
84
|
+
param: string;
|
|
98
85
|
};
|
|
99
86
|
comment_on_bodied_extensions: {
|
|
100
|
-
productKeys: {
|
|
101
|
-
confluence: string;
|
|
102
|
-
};
|
|
103
|
-
param: string;
|
|
104
87
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
105
88
|
defaultValue: boolean;
|
|
89
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
90
|
+
param: string;
|
|
106
91
|
};
|
|
107
92
|
advanced_layouts: {
|
|
108
|
-
productKeys: {
|
|
109
|
-
confluence: string;
|
|
110
|
-
};
|
|
111
|
-
param: string;
|
|
112
93
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
113
94
|
defaultValue: boolean;
|
|
95
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
96
|
+
param: string;
|
|
114
97
|
};
|
|
115
98
|
single_column_layouts: {
|
|
116
99
|
productKeys: {
|
|
@@ -126,31 +109,6 @@ declare namespace eeTest {
|
|
|
126
109
|
};
|
|
127
110
|
param: string;
|
|
128
111
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
129
|
-
/**
|
|
130
|
-
* eeTest.describe() Wrapper utility for describe() that runs a test with a editor experiment overides.
|
|
131
|
-
*
|
|
132
|
-
* @example Single experiment
|
|
133
|
-
* ```ts
|
|
134
|
-
* eeTest.describe('Description of test "suite" containing nested suites and tests.', { 'example-boolean': true }, () => {
|
|
135
|
-
* it('should do the thing', () => {
|
|
136
|
-
* expect(editorExperiment('example-boolean', true)).toBe(true);
|
|
137
|
-
* });
|
|
138
|
-
* });
|
|
139
|
-
* ```
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* @example Multiple experiment
|
|
143
|
-
* ```ts
|
|
144
|
-
* eeTest.describe('Description of test "suite" containing nested suites and tests.', { 'example-boolean': true, 'example-multivariate': 'three' }, () => {
|
|
145
|
-
* it('should do the thing', () => {
|
|
146
|
-
* expect(editorExperiment('example-boolean', true)).toBe(true);
|
|
147
|
-
* });
|
|
148
|
-
* });
|
|
149
|
-
* ```
|
|
150
|
-
*
|
|
151
|
-
* API based on next gen ffTest API
|
|
152
|
-
* - https://hello.atlassian.net/wiki/spaces/AF/pages/2569505829/Task+Testing+your+feature+flag+in+platform+and+product#Next-Generation-API-%E2%9C%A8
|
|
153
|
-
*/
|
|
154
112
|
defaultValue: boolean;
|
|
155
113
|
};
|
|
156
114
|
'platform_editor_ai-prompts-placeholder': {
|
|
@@ -233,14 +191,6 @@ declare namespace eeTest {
|
|
|
233
191
|
typeGuard: (value: unknown) => value is "control" | "variant1";
|
|
234
192
|
defaultValue: "control" | "variant1";
|
|
235
193
|
};
|
|
236
|
-
platform_editor_nested_non_bodied_macros: {
|
|
237
|
-
productKeys: {
|
|
238
|
-
confluence: string;
|
|
239
|
-
};
|
|
240
|
-
param: string;
|
|
241
|
-
typeGuard: (value: unknown) => value is "test" | "control";
|
|
242
|
-
defaultValue: "test" | "control";
|
|
243
|
-
};
|
|
244
194
|
platform_editor_insertion: {
|
|
245
195
|
productKeys: {
|
|
246
196
|
confluence: string;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isBoolean } from './type-guards';
|
|
2
|
+
import type { BooleanExperimentConfig, MultivariateExperimentConfig } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Helper to create a boolean experiment configuration
|
|
4
5
|
*/
|
|
5
|
-
export declare function createBooleanExperiment(config: BooleanExperimentConfig):
|
|
6
|
+
export declare function createBooleanExperiment(config: BooleanExperimentConfig): {
|
|
7
|
+
typeGuard: typeof isBoolean;
|
|
8
|
+
defaultValue: boolean;
|
|
9
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
10
|
+
param: string;
|
|
11
|
+
};
|
|
6
12
|
/**
|
|
7
13
|
* Helper to create a multivariate experiment configuration
|
|
8
14
|
*/
|
|
9
|
-
export declare function createMultivariateExperiment<T extends string[]>(config: MultivariateExperimentConfig<T>):
|
|
15
|
+
export declare function createMultivariateExperiment<T extends string[]>(config: MultivariateExperimentConfig<T>): {
|
|
16
|
+
typeGuard: (value: unknown) => value is T[number];
|
|
17
|
+
defaultValue: T[number];
|
|
18
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
19
|
+
param: string;
|
|
20
|
+
};
|
|
@@ -7,69 +7,80 @@ export type EditorExperimentsConfig = typeof editorExperimentsConfig;
|
|
|
7
7
|
*/
|
|
8
8
|
export declare const editorExperimentsConfig: {
|
|
9
9
|
'example-boolean': {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
typeGuard: typeof isBoolean; /**
|
|
11
|
+
* When adding a new experiment, you need to add it here.
|
|
12
|
+
* Please follow the pattern established in the examples and any
|
|
13
|
+
* existing experiments.
|
|
14
|
+
*/
|
|
15
15
|
defaultValue: boolean;
|
|
16
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
17
|
+
param: string;
|
|
16
18
|
};
|
|
17
19
|
'example-multivariate': {
|
|
18
|
-
productKeys: {
|
|
19
|
-
confluence: string;
|
|
20
|
-
};
|
|
21
|
-
param: string;
|
|
22
20
|
typeGuard: (value: unknown) => value is "one" | "two" | "three";
|
|
23
21
|
defaultValue: "one" | "two" | "three";
|
|
22
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
23
|
+
param: string;
|
|
24
24
|
};
|
|
25
25
|
'test-new-experiments-package': {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
typeGuard: typeof isBoolean;
|
|
26
|
+
typeGuard: typeof isBoolean; /**
|
|
27
|
+
* When adding a new experiment, you need to add it here.
|
|
28
|
+
* Please follow the pattern established in the examples and any
|
|
29
|
+
* existing experiments.
|
|
30
|
+
*/
|
|
32
31
|
defaultValue: boolean;
|
|
32
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
33
|
+
param: string;
|
|
33
34
|
};
|
|
34
35
|
support_table_in_comment: {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
typeGuard: typeof isBoolean; /**
|
|
37
|
+
* When adding a new experiment, you need to add it here.
|
|
38
|
+
* Please follow the pattern established in the examples and any
|
|
39
|
+
* existing experiments.
|
|
40
|
+
*/
|
|
40
41
|
defaultValue: boolean;
|
|
42
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
43
|
+
param: string;
|
|
41
44
|
};
|
|
42
45
|
platform_editor_exp_lazy_node_views: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
typeGuard: typeof isBoolean; /**
|
|
47
|
+
* When adding a new experiment, you need to add it here.
|
|
48
|
+
* Please follow the pattern established in the examples and any
|
|
49
|
+
* existing experiments.
|
|
50
|
+
*/
|
|
48
51
|
defaultValue: boolean;
|
|
52
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
53
|
+
param: string;
|
|
49
54
|
};
|
|
50
55
|
platform_renderer_table_sticky_scrollbar: {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
typeGuard: typeof isBoolean; /**
|
|
57
|
+
* When adding a new experiment, you need to add it here.
|
|
58
|
+
* Please follow the pattern established in the examples and any
|
|
59
|
+
* existing experiments.
|
|
60
|
+
*/
|
|
56
61
|
defaultValue: boolean;
|
|
62
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
63
|
+
param: string;
|
|
57
64
|
};
|
|
58
65
|
comment_on_bodied_extensions: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
typeGuard: typeof isBoolean; /**
|
|
67
|
+
* When adding a new experiment, you need to add it here.
|
|
68
|
+
* Please follow the pattern established in the examples and any
|
|
69
|
+
* existing experiments.
|
|
70
|
+
*/
|
|
64
71
|
defaultValue: boolean;
|
|
72
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
73
|
+
param: string;
|
|
65
74
|
};
|
|
66
75
|
advanced_layouts: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
typeGuard: typeof isBoolean; /**
|
|
77
|
+
* When adding a new experiment, you need to add it here.
|
|
78
|
+
* Please follow the pattern established in the examples and any
|
|
79
|
+
* existing experiments.
|
|
80
|
+
*/
|
|
72
81
|
defaultValue: boolean;
|
|
82
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
83
|
+
param: string;
|
|
73
84
|
};
|
|
74
85
|
single_column_layouts: {
|
|
75
86
|
productKeys: {
|
|
@@ -167,14 +178,6 @@ export declare const editorExperimentsConfig: {
|
|
|
167
178
|
typeGuard: (value: unknown) => value is "control" | "variant1";
|
|
168
179
|
defaultValue: "control" | "variant1";
|
|
169
180
|
};
|
|
170
|
-
platform_editor_nested_non_bodied_macros: {
|
|
171
|
-
productKeys: {
|
|
172
|
-
confluence: string;
|
|
173
|
-
};
|
|
174
|
-
param: string;
|
|
175
|
-
typeGuard: (value: unknown) => value is "test" | "control";
|
|
176
|
-
defaultValue: "test" | "control";
|
|
177
|
-
};
|
|
178
181
|
platform_editor_insertion: {
|
|
179
182
|
productKeys: {
|
|
180
183
|
confluence: string;
|
|
@@ -28,7 +28,6 @@ export declare let _overrides: Partial<{
|
|
|
28
28
|
platform_editor_ai_edit_response_in_preview: boolean;
|
|
29
29
|
platform_editor_controls: "control" | "variant1";
|
|
30
30
|
platform_editor_controls_shadow: "control" | "variant1";
|
|
31
|
-
platform_editor_nested_non_bodied_macros: "test" | "control";
|
|
32
31
|
platform_editor_insertion: "control" | "variant1";
|
|
33
32
|
platform_editor_inline_node_virtualization: "off" | "fallback-small" | "fallback-large";
|
|
34
33
|
platform_editor_vanilla_dom: boolean;
|
package/package.json
CHANGED