@featurevisor/site 1.35.3 → 2.0.1
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/README.md +1 -7
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/contexts/SearchIndexContext.d.ts +1 -1
- package/lib/hooks/useSearchIndex.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -2
- package/mock/search-index.json +632 -291
- package/package.json +3 -3
- package/src/components/App.tsx +1 -1
- package/src/components/ListAttributes.tsx +0 -5
- package/src/components/ShowAttribute.tsx +0 -6
- package/src/components/ShowFeature.tsx +47 -38
- package/src/contexts/SearchIndexContext.tsx +1 -1
- package/src/hooks/useSearchIndex.ts +1 -1
- package/src/utils/index.ts +9 -29
package/mock/search-index.json
CHANGED
|
@@ -5,8 +5,46 @@
|
|
|
5
5
|
"feature": "https://github.com/featurevisor/featurevisor/blob/main/examples/example-1/features/{{key}}.yml",
|
|
6
6
|
"commit": "https://github.com/featurevisor/featurevisor/commit/{{hash}}"
|
|
7
7
|
},
|
|
8
|
+
"projectConfig": { "tags": ["all", "checkout"], "environments": ["staging", "production"] },
|
|
8
9
|
"entities": {
|
|
9
10
|
"attributes": [
|
|
11
|
+
{
|
|
12
|
+
"description": "User's age",
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"key": "age",
|
|
15
|
+
"lastModified": {
|
|
16
|
+
"commit": "403eac0",
|
|
17
|
+
"timestamp": "2024-02-11T21:33:39+01:00",
|
|
18
|
+
"author": "Fahad Heylaal"
|
|
19
|
+
},
|
|
20
|
+
"usedInFeatures": [],
|
|
21
|
+
"usedInSegments": ["adult"]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"description": "browser",
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": { "name": { "type": "string" }, "version": { "type": "semver" } },
|
|
27
|
+
"key": "browser",
|
|
28
|
+
"lastModified": {
|
|
29
|
+
"commit": "d73c696",
|
|
30
|
+
"timestamp": "2025-05-23T00:25:12+02:00",
|
|
31
|
+
"author": "Fahad Heylaal"
|
|
32
|
+
},
|
|
33
|
+
"usedInFeatures": [],
|
|
34
|
+
"usedInSegments": []
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"description": "continent name",
|
|
38
|
+
"type": "string",
|
|
39
|
+
"key": "continent",
|
|
40
|
+
"lastModified": {
|
|
41
|
+
"commit": "fc85214",
|
|
42
|
+
"timestamp": "2024-12-01T21:58:06+01:00",
|
|
43
|
+
"author": "Fahad Heylaal"
|
|
44
|
+
},
|
|
45
|
+
"usedInFeatures": [],
|
|
46
|
+
"usedInSegments": ["eu"]
|
|
47
|
+
},
|
|
10
48
|
{
|
|
11
49
|
"archived": false,
|
|
12
50
|
"description": "country code in lower case (two lettered)",
|
|
@@ -18,7 +56,12 @@
|
|
|
18
56
|
"author": "Fahad Heylaal"
|
|
19
57
|
},
|
|
20
58
|
"usedInFeatures": [],
|
|
21
|
-
"usedInSegments": [
|
|
59
|
+
"usedInSegments": [
|
|
60
|
+
"countries/germany",
|
|
61
|
+
"countries/netherlands",
|
|
62
|
+
"countries/switzerland",
|
|
63
|
+
"eu"
|
|
64
|
+
]
|
|
22
65
|
},
|
|
23
66
|
{
|
|
24
67
|
"archived": false,
|
|
@@ -44,7 +87,19 @@
|
|
|
44
87
|
"author": "Fahad Heylaal"
|
|
45
88
|
},
|
|
46
89
|
"usedInFeatures": ["foo"],
|
|
47
|
-
"usedInSegments": ["mobile", "unknownDevice"]
|
|
90
|
+
"usedInSegments": ["desktop", "mobile", "unknownDevice"]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"description": "Device ID",
|
|
94
|
+
"type": "string",
|
|
95
|
+
"key": "deviceId",
|
|
96
|
+
"lastModified": {
|
|
97
|
+
"commit": "3f35133",
|
|
98
|
+
"timestamp": "2025-05-25T21:49:56+02:00",
|
|
99
|
+
"author": "Fahad Heylaal"
|
|
100
|
+
},
|
|
101
|
+
"usedInFeatures": [],
|
|
102
|
+
"usedInSegments": []
|
|
48
103
|
},
|
|
49
104
|
{
|
|
50
105
|
"archived": false,
|
|
@@ -59,18 +114,29 @@
|
|
|
59
114
|
"usedInFeatures": [],
|
|
60
115
|
"usedInSegments": []
|
|
61
116
|
},
|
|
117
|
+
{
|
|
118
|
+
"description": "phone number",
|
|
119
|
+
"type": "string",
|
|
120
|
+
"key": "phone",
|
|
121
|
+
"lastModified": {
|
|
122
|
+
"commit": "2b30601",
|
|
123
|
+
"timestamp": "2025-04-21T16:50:14+02:00",
|
|
124
|
+
"author": "Fahad Heylaal"
|
|
125
|
+
},
|
|
126
|
+
"usedInFeatures": [],
|
|
127
|
+
"usedInSegments": ["mobile"]
|
|
128
|
+
},
|
|
62
129
|
{
|
|
63
130
|
"archived": false,
|
|
64
131
|
"description": "User ID",
|
|
65
132
|
"type": "string",
|
|
66
|
-
"capture": true,
|
|
67
133
|
"key": "userId",
|
|
68
134
|
"lastModified": {
|
|
69
|
-
"commit": "
|
|
70
|
-
"timestamp": "
|
|
135
|
+
"commit": "0e03498",
|
|
136
|
+
"timestamp": "2025-04-13T19:15:19+02:00",
|
|
71
137
|
"author": "Fahad Heylaal"
|
|
72
138
|
},
|
|
73
|
-
"usedInFeatures": ["foo", "showBanner", "showPopup"],
|
|
139
|
+
"usedInFeatures": ["foo", "newRedesign", "showBanner", "showPopup"],
|
|
74
140
|
"usedInSegments": ["qa"]
|
|
75
141
|
},
|
|
76
142
|
{
|
|
@@ -83,10 +149,21 @@
|
|
|
83
149
|
"author": "Fahad Heylaal"
|
|
84
150
|
},
|
|
85
151
|
"usedInFeatures": [],
|
|
86
|
-
"usedInSegments": ["version_5.5"]
|
|
152
|
+
"usedInSegments": ["version_5.5", "version_gt5"]
|
|
87
153
|
}
|
|
88
154
|
],
|
|
89
155
|
"segments": [
|
|
156
|
+
{
|
|
157
|
+
"description": "Adult users who are 18 years or older",
|
|
158
|
+
"conditions": [{ "attribute": "age", "operator": "greaterThanOrEquals", "value": 18 }],
|
|
159
|
+
"key": "adult",
|
|
160
|
+
"lastModified": {
|
|
161
|
+
"commit": "403eac0",
|
|
162
|
+
"timestamp": "2024-02-11T21:33:39+01:00",
|
|
163
|
+
"author": "Fahad Heylaal"
|
|
164
|
+
},
|
|
165
|
+
"usedInFeatures": []
|
|
166
|
+
},
|
|
90
167
|
{
|
|
91
168
|
"archived": false,
|
|
92
169
|
"description": "black friday weekend",
|
|
@@ -104,43 +181,124 @@
|
|
|
104
181
|
},
|
|
105
182
|
"usedInFeatures": ["discount"]
|
|
106
183
|
},
|
|
184
|
+
{
|
|
185
|
+
"description": "Chrome browser",
|
|
186
|
+
"conditions": [
|
|
187
|
+
{
|
|
188
|
+
"attribute": "browser.name",
|
|
189
|
+
"operator": "matches",
|
|
190
|
+
"value": "chrome|chromium",
|
|
191
|
+
"regexFlags": "i"
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"key": "chrome",
|
|
195
|
+
"lastModified": {
|
|
196
|
+
"commit": "8573c6d",
|
|
197
|
+
"timestamp": "2025-06-11T00:24:38+02:00",
|
|
198
|
+
"author": "Fahad Heylaal"
|
|
199
|
+
},
|
|
200
|
+
"usedInFeatures": []
|
|
201
|
+
},
|
|
107
202
|
{
|
|
108
203
|
"archived": false,
|
|
109
204
|
"description": "users from Germany",
|
|
110
205
|
"conditions": { "and": [{ "attribute": "country", "operator": "equals", "value": "de" }] },
|
|
111
|
-
"key": "germany",
|
|
206
|
+
"key": "countries/germany",
|
|
207
|
+
"usedInFeatures": [
|
|
208
|
+
"bar",
|
|
209
|
+
"checkout/page",
|
|
210
|
+
"foo",
|
|
211
|
+
"newRedesign",
|
|
212
|
+
"pricing",
|
|
213
|
+
"qux",
|
|
214
|
+
"sidebar"
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"archived": false,
|
|
219
|
+
"description": "The Netherlands",
|
|
220
|
+
"conditions": [{ "attribute": "country", "operator": "equals", "value": "nl" }],
|
|
221
|
+
"key": "countries/netherlands",
|
|
222
|
+
"usedInFeatures": [
|
|
223
|
+
"allowSignup",
|
|
224
|
+
"cache",
|
|
225
|
+
"checkout/page",
|
|
226
|
+
"foo",
|
|
227
|
+
"newRedesign",
|
|
228
|
+
"redesign",
|
|
229
|
+
"sidebar"
|
|
230
|
+
]
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"archived": false,
|
|
234
|
+
"description": "users from Switzerland",
|
|
235
|
+
"conditions": { "and": [{ "attribute": "country", "operator": "equals", "value": "ch" }] },
|
|
236
|
+
"key": "countries/switzerland",
|
|
237
|
+
"usedInFeatures": ["allowSignup", "bar", "checkout/page", "foo", "newRedesign", "sidebar"]
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"description": "desktop users",
|
|
241
|
+
"conditions": [{ "attribute": "device", "operator": "equals", "value": "desktop" }],
|
|
242
|
+
"key": "desktop",
|
|
112
243
|
"lastModified": {
|
|
113
|
-
"commit": "
|
|
114
|
-
"timestamp": "
|
|
244
|
+
"commit": "9f198e2",
|
|
245
|
+
"timestamp": "2024-03-14T18:02:16+01:00",
|
|
115
246
|
"author": "Fahad Heylaal"
|
|
116
247
|
},
|
|
117
|
-
"usedInFeatures": ["
|
|
248
|
+
"usedInFeatures": ["showHeader"]
|
|
118
249
|
},
|
|
119
250
|
{
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
|
|
251
|
+
"description": "EU",
|
|
252
|
+
"conditions": [
|
|
253
|
+
{ "attribute": "continent", "operator": "equals", "value": "europe" },
|
|
254
|
+
{ "attribute": "country", "operator": "notIn", "value": ["gb"] }
|
|
255
|
+
],
|
|
256
|
+
"key": "eu",
|
|
257
|
+
"lastModified": {
|
|
258
|
+
"commit": "fc85214",
|
|
259
|
+
"timestamp": "2024-12-01T21:58:06+01:00",
|
|
260
|
+
"author": "Fahad Heylaal"
|
|
124
261
|
},
|
|
125
|
-
"
|
|
262
|
+
"usedInFeatures": []
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"description": "Everyone",
|
|
266
|
+
"conditions": "*",
|
|
267
|
+
"key": "everyone",
|
|
126
268
|
"lastModified": {
|
|
127
|
-
"commit": "
|
|
128
|
-
"timestamp": "
|
|
269
|
+
"commit": "c876fff",
|
|
270
|
+
"timestamp": "2025-05-25T23:42:01+02:00",
|
|
271
|
+
"author": "Fahad Heylaal"
|
|
272
|
+
},
|
|
273
|
+
"usedInFeatures": ["allowSignup"]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"description": "Firefox browser",
|
|
277
|
+
"conditions": [{ "attribute": "browser.name", "operator": "equals", "value": "firefox" }],
|
|
278
|
+
"key": "firefox",
|
|
279
|
+
"lastModified": {
|
|
280
|
+
"commit": "d73c696",
|
|
281
|
+
"timestamp": "2025-05-23T00:25:12+02:00",
|
|
129
282
|
"author": "Fahad Heylaal"
|
|
130
283
|
},
|
|
131
|
-
"usedInFeatures": [
|
|
284
|
+
"usedInFeatures": []
|
|
132
285
|
},
|
|
133
286
|
{
|
|
134
287
|
"archived": false,
|
|
135
|
-
"description": "
|
|
136
|
-
"conditions":
|
|
137
|
-
|
|
288
|
+
"description": "mobile users",
|
|
289
|
+
"conditions": {
|
|
290
|
+
"and": [
|
|
291
|
+
{ "attribute": "device", "operator": "equals", "value": "mobile" },
|
|
292
|
+
{ "attribute": "phone", "operator": "notExists" }
|
|
293
|
+
]
|
|
294
|
+
},
|
|
295
|
+
"key": "mobile",
|
|
138
296
|
"lastModified": {
|
|
139
|
-
"commit": "
|
|
140
|
-
"timestamp": "
|
|
297
|
+
"commit": "2b30601",
|
|
298
|
+
"timestamp": "2025-04-21T16:50:14+02:00",
|
|
141
299
|
"author": "Fahad Heylaal"
|
|
142
300
|
},
|
|
143
|
-
"usedInFeatures": ["
|
|
301
|
+
"usedInFeatures": ["foo", "showHeader"]
|
|
144
302
|
},
|
|
145
303
|
{
|
|
146
304
|
"description": "for testing force API in features",
|
|
@@ -151,19 +309,7 @@
|
|
|
151
309
|
"timestamp": "2023-11-21T17:50:37+01:00",
|
|
152
310
|
"author": "Fahad Heylaal"
|
|
153
311
|
},
|
|
154
|
-
"usedInFeatures": ["showBanner", "showPopup"]
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"archived": false,
|
|
158
|
-
"description": "users from Switzerland",
|
|
159
|
-
"conditions": { "and": [{ "attribute": "country", "operator": "equals", "value": "ch" }] },
|
|
160
|
-
"key": "switzerland",
|
|
161
|
-
"lastModified": {
|
|
162
|
-
"commit": "f529287",
|
|
163
|
-
"timestamp": "2023-03-05T18:38:34+01:00",
|
|
164
|
-
"author": "Fahad Heylaal"
|
|
165
|
-
},
|
|
166
|
-
"usedInFeatures": ["bar", "foo", "sidebar"]
|
|
312
|
+
"usedInFeatures": ["newRedesign", "showBanner", "showPopup"]
|
|
167
313
|
},
|
|
168
314
|
{
|
|
169
315
|
"archived": false,
|
|
@@ -194,17 +340,71 @@
|
|
|
194
340
|
"author": "Fahad Heylaal"
|
|
195
341
|
},
|
|
196
342
|
"usedInFeatures": ["footer"]
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"description": "Version greater than 5",
|
|
346
|
+
"conditions": [
|
|
347
|
+
{ "attribute": "version", "operator": "semverGreaterThan", "value": "5.0.0" }
|
|
348
|
+
],
|
|
349
|
+
"key": "version_gt5",
|
|
350
|
+
"lastModified": {
|
|
351
|
+
"commit": "9f198e2",
|
|
352
|
+
"timestamp": "2024-03-14T18:02:16+01:00",
|
|
353
|
+
"author": "Fahad Heylaal"
|
|
354
|
+
},
|
|
355
|
+
"usedInFeatures": ["showHeader"]
|
|
197
356
|
}
|
|
198
357
|
],
|
|
199
358
|
"features": [
|
|
359
|
+
{
|
|
360
|
+
"description": "Allow signup",
|
|
361
|
+
"tags": ["all"],
|
|
362
|
+
"bucketBy": "deviceId",
|
|
363
|
+
"variablesSchema": {
|
|
364
|
+
"allowRegularSignUp": { "type": "boolean", "defaultValue": true },
|
|
365
|
+
"allowGoogleSignUp": { "type": "boolean", "defaultValue": false },
|
|
366
|
+
"allowGitHubSignUp": { "type": "boolean", "defaultValue": false }
|
|
367
|
+
},
|
|
368
|
+
"variations": [
|
|
369
|
+
{ "value": "control", "weight": 50 },
|
|
370
|
+
{
|
|
371
|
+
"value": "treatment",
|
|
372
|
+
"weight": 50,
|
|
373
|
+
"variables": { "allowGoogleSignUp": true, "allowGitHubSignUp": true }
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"rules": {
|
|
377
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
378
|
+
"production": [
|
|
379
|
+
{
|
|
380
|
+
"key": "nl",
|
|
381
|
+
"segments": ["countries/netherlands"],
|
|
382
|
+
"percentage": 100,
|
|
383
|
+
"variation": "treatment"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"key": "ch",
|
|
387
|
+
"segments": ["countries/switzerland"],
|
|
388
|
+
"percentage": 100,
|
|
389
|
+
"variationWeights": { "control": 10, "treatment": 90 }
|
|
390
|
+
},
|
|
391
|
+
{ "key": "everyone", "segments": "everyone", "percentage": 100 }
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
"key": "allowSignup",
|
|
395
|
+
"lastModified": {
|
|
396
|
+
"commit": "baa6580",
|
|
397
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
398
|
+
"author": "Fahad Heylaal"
|
|
399
|
+
}
|
|
400
|
+
},
|
|
200
401
|
{
|
|
201
402
|
"description": "Example with object variable type",
|
|
202
403
|
"tags": ["all"],
|
|
203
404
|
"bucketBy": "userId",
|
|
204
|
-
"variablesSchema":
|
|
205
|
-
|
|
206
|
-
{
|
|
207
|
-
"key": "hero",
|
|
405
|
+
"variablesSchema": {
|
|
406
|
+
"color": { "type": "string", "defaultValue": "red" },
|
|
407
|
+
"hero": {
|
|
208
408
|
"type": "object",
|
|
209
409
|
"defaultValue": {
|
|
210
410
|
"title": "Hero Title",
|
|
@@ -212,129 +412,139 @@
|
|
|
212
412
|
"alignment": "center"
|
|
213
413
|
}
|
|
214
414
|
}
|
|
215
|
-
|
|
415
|
+
},
|
|
216
416
|
"variations": [
|
|
217
417
|
{ "value": "control", "weight": 33 },
|
|
218
418
|
{
|
|
219
419
|
"value": "b",
|
|
220
420
|
"weight": 33,
|
|
221
|
-
"variables":
|
|
222
|
-
{
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
|
|
226
|
-
"subtitle": "Hero Subtitle for B",
|
|
227
|
-
"alignment": "center for B"
|
|
228
|
-
},
|
|
229
|
-
"overrides": [
|
|
230
|
-
{
|
|
231
|
-
"segments": { "or": ["germany", "switzerland"] },
|
|
232
|
-
"value": {
|
|
233
|
-
"title": "Hero Title for B in DE or CH",
|
|
234
|
-
"subtitle": "Hero Subtitle for B in DE of CH",
|
|
235
|
-
"alignment": "center for B in DE or CH"
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
]
|
|
421
|
+
"variables": {
|
|
422
|
+
"hero": {
|
|
423
|
+
"title": "Hero Title for B",
|
|
424
|
+
"subtitle": "Hero Subtitle for B",
|
|
425
|
+
"alignment": "center for B"
|
|
239
426
|
}
|
|
240
|
-
|
|
427
|
+
},
|
|
428
|
+
"variableOverrides": {
|
|
429
|
+
"hero": [
|
|
430
|
+
{
|
|
431
|
+
"segments": { "or": ["countries/germany", "countries/switzerland"] },
|
|
432
|
+
"value": {
|
|
433
|
+
"title": "Hero Title for B in DE or CH",
|
|
434
|
+
"subtitle": "Hero Subtitle for B in DE of CH",
|
|
435
|
+
"alignment": "center for B in DE or CH"
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
}
|
|
241
440
|
},
|
|
242
441
|
{ "value": "c", "weight": 34 }
|
|
243
442
|
],
|
|
244
|
-
"
|
|
245
|
-
"staging":
|
|
246
|
-
"production":
|
|
443
|
+
"rules": {
|
|
444
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 50 }],
|
|
445
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 50 }]
|
|
247
446
|
},
|
|
248
447
|
"key": "bar",
|
|
249
448
|
"lastModified": {
|
|
250
|
-
"commit": "
|
|
251
|
-
"timestamp": "
|
|
449
|
+
"commit": "baa6580",
|
|
450
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
252
451
|
"author": "Fahad Heylaal"
|
|
253
452
|
}
|
|
254
453
|
},
|
|
255
454
|
{
|
|
256
455
|
"description": "Classic on/off switch",
|
|
257
456
|
"tags": ["all"],
|
|
258
|
-
"bucketBy": "userId",
|
|
259
|
-
"
|
|
260
|
-
"staging":
|
|
261
|
-
"production":
|
|
457
|
+
"bucketBy": { "or": ["userId", "device"] },
|
|
458
|
+
"rules": {
|
|
459
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
460
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 80 }]
|
|
262
461
|
},
|
|
462
|
+
"expose": { "production": true },
|
|
263
463
|
"key": "baz",
|
|
264
464
|
"lastModified": {
|
|
265
|
-
"commit": "
|
|
266
|
-
"timestamp": "
|
|
465
|
+
"commit": "baa6580",
|
|
466
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
267
467
|
"author": "Fahad Heylaal"
|
|
268
468
|
}
|
|
269
469
|
},
|
|
270
470
|
{
|
|
271
|
-
"description": "
|
|
471
|
+
"description": "for testing child instances",
|
|
272
472
|
"tags": ["all"],
|
|
273
|
-
"bucketBy": "
|
|
274
|
-
"
|
|
275
|
-
{ "key": "
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
"staging": { "rules": [{ "key": "1", "segments": "*", "percentage": 100 }] },
|
|
281
|
-
"production": {
|
|
282
|
-
"rules": [
|
|
283
|
-
{
|
|
284
|
-
"key": "1",
|
|
285
|
-
"segments": "netherlands",
|
|
286
|
-
"percentage": 100,
|
|
287
|
-
"variables": { "paymentMethods": ["ideal", "paypal"] }
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"key": "2",
|
|
291
|
-
"segments": "germany",
|
|
292
|
-
"percentage": 100,
|
|
293
|
-
"variables": { "paymentMethods": ["sofort", "paypal"] }
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
"key": "3",
|
|
297
|
-
"segments": "*",
|
|
298
|
-
"percentage": 100,
|
|
299
|
-
"variables": {
|
|
300
|
-
"showPayments": true,
|
|
301
|
-
"showShipping": true,
|
|
302
|
-
"paymentMethods": ["visa", "mastercard", "paypal"]
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
]
|
|
306
|
-
}
|
|
473
|
+
"bucketBy": "deviceId",
|
|
474
|
+
"rules": {
|
|
475
|
+
"staging": [{ "key": "everyone", "segments": "*", "percentage": 100 }],
|
|
476
|
+
"production": [
|
|
477
|
+
{ "key": "netherlands", "segments": "countries/netherlands", "percentage": 0 },
|
|
478
|
+
{ "key": "everyone", "segments": "*", "percentage": 100 }
|
|
479
|
+
]
|
|
307
480
|
},
|
|
308
|
-
"key": "
|
|
481
|
+
"key": "cache",
|
|
309
482
|
"lastModified": {
|
|
310
|
-
"commit": "
|
|
311
|
-
"timestamp": "
|
|
483
|
+
"commit": "baa6580",
|
|
484
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
312
485
|
"author": "Fahad Heylaal"
|
|
313
486
|
}
|
|
314
487
|
},
|
|
488
|
+
{
|
|
489
|
+
"description": "Testing variables without having any variations",
|
|
490
|
+
"tags": ["all"],
|
|
491
|
+
"bucketBy": "userId",
|
|
492
|
+
"variablesSchema": {
|
|
493
|
+
"showPayments": { "type": "boolean", "defaultValue": false },
|
|
494
|
+
"showShipping": { "type": "boolean", "defaultValue": false },
|
|
495
|
+
"paymentMethods": { "type": "array", "defaultValue": ["visa", "mastercard"] }
|
|
496
|
+
},
|
|
497
|
+
"rules": {
|
|
498
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
499
|
+
"production": [
|
|
500
|
+
{
|
|
501
|
+
"key": "1",
|
|
502
|
+
"segments": "countries/netherlands",
|
|
503
|
+
"percentage": 100,
|
|
504
|
+
"variables": { "paymentMethods": ["ideal", "paypal"] }
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"key": "2",
|
|
508
|
+
"segments": "countries/germany",
|
|
509
|
+
"percentage": 100,
|
|
510
|
+
"variables": { "paymentMethods": ["sofort", "paypal"] }
|
|
511
|
+
},
|
|
512
|
+
{ "key": "ch", "segments": "countries/switzerland", "percentage": 0 },
|
|
513
|
+
{
|
|
514
|
+
"key": "3",
|
|
515
|
+
"segments": "*",
|
|
516
|
+
"percentage": 100,
|
|
517
|
+
"variables": {
|
|
518
|
+
"showPayments": true,
|
|
519
|
+
"showShipping": true,
|
|
520
|
+
"paymentMethods": ["visa", "mastercard", "paypal"]
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
]
|
|
524
|
+
},
|
|
525
|
+
"key": "checkout/page"
|
|
526
|
+
},
|
|
315
527
|
{
|
|
316
528
|
"description": "Enable discount in checkout flow",
|
|
317
529
|
"tags": ["all", "checkout"],
|
|
318
530
|
"bucketBy": "userId",
|
|
319
531
|
"required": ["sidebar"],
|
|
320
|
-
"
|
|
321
|
-
"staging":
|
|
322
|
-
"production":
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
]
|
|
332
|
-
}
|
|
532
|
+
"rules": {
|
|
533
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
534
|
+
"production": [
|
|
535
|
+
{
|
|
536
|
+
"key": "2",
|
|
537
|
+
"description": "Black Friday Weekend rule here",
|
|
538
|
+
"segments": ["blackFridayWeekend"],
|
|
539
|
+
"percentage": 100
|
|
540
|
+
},
|
|
541
|
+
{ "key": "1", "segments": "*", "percentage": 0 }
|
|
542
|
+
]
|
|
333
543
|
},
|
|
334
544
|
"key": "discount",
|
|
335
545
|
"lastModified": {
|
|
336
|
-
"commit": "
|
|
337
|
-
"timestamp": "
|
|
546
|
+
"commit": "baa6580",
|
|
547
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
338
548
|
"author": "Fahad Heylaal"
|
|
339
549
|
}
|
|
340
550
|
},
|
|
@@ -343,72 +553,72 @@
|
|
|
343
553
|
"description": "blah",
|
|
344
554
|
"tags": ["all", "sign-in", "sign-up"],
|
|
345
555
|
"bucketBy": "userId",
|
|
346
|
-
"variablesSchema":
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
556
|
+
"variablesSchema": {
|
|
557
|
+
"bar": { "type": "string", "defaultValue": "" },
|
|
558
|
+
"baz": { "type": "string", "defaultValue": "" },
|
|
559
|
+
"qux": {
|
|
560
|
+
"type": "boolean",
|
|
561
|
+
"defaultValue": false,
|
|
562
|
+
"description": "This is a boolean variable"
|
|
563
|
+
}
|
|
564
|
+
},
|
|
351
565
|
"variations": [
|
|
352
566
|
{ "value": "control", "weight": 50 },
|
|
353
567
|
{
|
|
354
568
|
"value": "treatment",
|
|
355
569
|
"weight": 50,
|
|
356
|
-
"variables":
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
{
|
|
365
|
-
|
|
366
|
-
"value": "baz_here",
|
|
367
|
-
"overrides": [{ "segments": "netherlands", "value": "baz for NL" }]
|
|
368
|
-
}
|
|
369
|
-
]
|
|
570
|
+
"variables": { "bar": "bar_here", "baz": "baz_here" },
|
|
571
|
+
"variableOverrides": {
|
|
572
|
+
"bar": [
|
|
573
|
+
{
|
|
574
|
+
"segments": { "or": ["countries/germany", "countries/switzerland"] },
|
|
575
|
+
"value": "bar for DE or CH"
|
|
576
|
+
}
|
|
577
|
+
],
|
|
578
|
+
"baz": [{ "segments": "countries/netherlands", "value": "baz for NL" }]
|
|
579
|
+
}
|
|
370
580
|
}
|
|
371
581
|
],
|
|
372
|
-
"
|
|
373
|
-
"staging":
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
"
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
"and": [
|
|
389
|
-
{ "attribute": "userId", "operator": "equals", "value": "123" },
|
|
390
|
-
{ "attribute": "device", "operator": "equals", "value": "mobile" }
|
|
391
|
-
]
|
|
392
|
-
},
|
|
393
|
-
"variation": "treatment",
|
|
394
|
-
"variables": { "bar": "yoooooo" }
|
|
395
|
-
}
|
|
396
|
-
],
|
|
397
|
-
"rules": [
|
|
398
|
-
{
|
|
399
|
-
"key": "1",
|
|
400
|
-
"segments": { "and": ["mobile", { "or": ["germany", "switzerland"] }] },
|
|
401
|
-
"percentage": 80,
|
|
402
|
-
"variables": { "qux": true }
|
|
582
|
+
"force": {
|
|
583
|
+
"staging": [
|
|
584
|
+
{
|
|
585
|
+
"conditions": [
|
|
586
|
+
{ "attribute": "userId", "operator": "equals", "value": "test-force-id" }
|
|
587
|
+
],
|
|
588
|
+
"variation": "treatment"
|
|
589
|
+
}
|
|
590
|
+
],
|
|
591
|
+
"production": [
|
|
592
|
+
{
|
|
593
|
+
"conditions": {
|
|
594
|
+
"and": [
|
|
595
|
+
{ "attribute": "userId", "operator": "equals", "value": "123" },
|
|
596
|
+
{ "attribute": "device", "operator": "equals", "value": "mobile" }
|
|
597
|
+
]
|
|
403
598
|
},
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
599
|
+
"variation": "treatment",
|
|
600
|
+
"variables": { "bar": "yoooooo" }
|
|
601
|
+
}
|
|
602
|
+
]
|
|
603
|
+
},
|
|
604
|
+
"rules": {
|
|
605
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
606
|
+
"production": [
|
|
607
|
+
{
|
|
608
|
+
"key": "1",
|
|
609
|
+
"segments": {
|
|
610
|
+
"and": ["mobile", { "or": ["countries/germany", "countries/switzerland"] }]
|
|
611
|
+
},
|
|
612
|
+
"percentage": 80,
|
|
613
|
+
"variables": { "qux": true }
|
|
614
|
+
},
|
|
615
|
+
{ "key": "2", "segments": "*", "percentage": 50 }
|
|
616
|
+
]
|
|
407
617
|
},
|
|
408
618
|
"key": "foo",
|
|
409
619
|
"lastModified": {
|
|
410
|
-
"commit": "
|
|
411
|
-
"timestamp": "
|
|
620
|
+
"commit": "e3bacf2",
|
|
621
|
+
"timestamp": "2025-06-26T23:37:14+02:00",
|
|
412
622
|
"author": "Fahad Heylaal"
|
|
413
623
|
}
|
|
414
624
|
},
|
|
@@ -416,16 +626,17 @@
|
|
|
416
626
|
"description": "Checks `not` operator in segments",
|
|
417
627
|
"tags": ["all"],
|
|
418
628
|
"bucketBy": "userId",
|
|
419
|
-
"
|
|
420
|
-
"staging":
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
629
|
+
"rules": {
|
|
630
|
+
"staging": [
|
|
631
|
+
{ "key": "1", "segments": [{ "not": ["version_5.5"] }], "percentage": 100 },
|
|
632
|
+
{ "key": "2", "segments": "*", "percentage": 0 }
|
|
633
|
+
],
|
|
634
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 80 }]
|
|
424
635
|
},
|
|
425
636
|
"key": "footer",
|
|
426
637
|
"lastModified": {
|
|
427
|
-
"commit": "
|
|
428
|
-
"timestamp": "
|
|
638
|
+
"commit": "baa6580",
|
|
639
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
429
640
|
"author": "Fahad Heylaal"
|
|
430
641
|
}
|
|
431
642
|
},
|
|
@@ -433,49 +644,110 @@
|
|
|
433
644
|
"description": "Classic on/off switch, that's not exposed in production",
|
|
434
645
|
"tags": ["all"],
|
|
435
646
|
"bucketBy": "userId",
|
|
436
|
-
"
|
|
437
|
-
"staging":
|
|
438
|
-
"production": {
|
|
439
|
-
"expose": false,
|
|
440
|
-
"rules": [{ "key": "1", "segments": "*", "percentage": 80 }]
|
|
441
|
-
}
|
|
647
|
+
"rules": {
|
|
648
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
649
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 80 }]
|
|
442
650
|
},
|
|
651
|
+
"expose": { "production": false },
|
|
443
652
|
"key": "hidden",
|
|
444
653
|
"lastModified": {
|
|
445
|
-
"commit": "
|
|
446
|
-
"timestamp": "
|
|
654
|
+
"commit": "baa6580",
|
|
655
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
447
656
|
"author": "Fahad Heylaal"
|
|
448
657
|
}
|
|
449
658
|
},
|
|
450
659
|
{
|
|
451
|
-
"description": "
|
|
660
|
+
"description": "Test forced with a variation, and variable overrides in it, without any active rolled out rule",
|
|
452
661
|
"tags": ["all"],
|
|
453
662
|
"bucketBy": "userId",
|
|
454
|
-
"variablesSchema":
|
|
455
|
-
|
|
663
|
+
"variablesSchema": {
|
|
664
|
+
"foo": { "type": "string", "defaultValue": "default foo" },
|
|
665
|
+
"bar": { "type": "string", "defaultValue": "default bar", "deprecated": true }
|
|
666
|
+
},
|
|
667
|
+
"variations": [
|
|
668
|
+
{ "value": "control", "weight": 50 },
|
|
669
|
+
{
|
|
670
|
+
"value": "treatment",
|
|
671
|
+
"weight": 50,
|
|
672
|
+
"variables": { "foo": "foo for treatment", "bar": "bar for treatment" },
|
|
673
|
+
"variableOverrides": {
|
|
674
|
+
"foo": [
|
|
675
|
+
{
|
|
676
|
+
"segments": { "or": ["countries/germany", "countries/switzerland"] },
|
|
677
|
+
"value": "foo for treatment in DE or CH"
|
|
678
|
+
}
|
|
679
|
+
],
|
|
680
|
+
"bar": [{ "segments": "countries/netherlands", "value": "bar for treatment in NL" }]
|
|
681
|
+
}
|
|
682
|
+
}
|
|
456
683
|
],
|
|
684
|
+
"force": {
|
|
685
|
+
"staging": [
|
|
686
|
+
{
|
|
687
|
+
"conditions": [
|
|
688
|
+
{ "attribute": "userId", "operator": "equals", "value": "test-force-id" }
|
|
689
|
+
],
|
|
690
|
+
"enabled": true,
|
|
691
|
+
"variation": "treatment"
|
|
692
|
+
}
|
|
693
|
+
]
|
|
694
|
+
},
|
|
695
|
+
"rules": {
|
|
696
|
+
"staging": [{ "key": "1", "segments": "qa", "percentage": 0 }],
|
|
697
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 100 }]
|
|
698
|
+
},
|
|
699
|
+
"key": "newRedesign",
|
|
700
|
+
"lastModified": {
|
|
701
|
+
"commit": "baa6580",
|
|
702
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
703
|
+
"author": "Fahad Heylaal"
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"description": "Testing two variations with first one having weight of 0",
|
|
708
|
+
"tags": ["checkout"],
|
|
709
|
+
"bucketBy": "userId",
|
|
710
|
+
"variations": [
|
|
711
|
+
{ "value": "control", "weight": 0 },
|
|
712
|
+
{ "value": "treatment", "weight": 100 }
|
|
713
|
+
],
|
|
714
|
+
"rules": {
|
|
715
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
716
|
+
"production": [
|
|
717
|
+
{ "key": "1", "segments": "countries/germany", "percentage": 100 },
|
|
718
|
+
{ "key": "2", "segments": "*", "percentage": 0 }
|
|
719
|
+
]
|
|
720
|
+
},
|
|
721
|
+
"key": "pricing",
|
|
722
|
+
"lastModified": {
|
|
723
|
+
"commit": "baa6580",
|
|
724
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
725
|
+
"author": "Fahad Heylaal"
|
|
726
|
+
}
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"description": "Variations with weights having decimal places",
|
|
730
|
+
"tags": ["all"],
|
|
731
|
+
"bucketBy": "userId",
|
|
732
|
+
"variablesSchema": {
|
|
733
|
+
"fooConfig": { "type": "json", "defaultValue": "{\"foo\": \"bar\"}" }
|
|
734
|
+
},
|
|
457
735
|
"variations": [
|
|
458
736
|
{ "value": "control", "weight": 33.34 },
|
|
459
|
-
{
|
|
460
|
-
"value": "b",
|
|
461
|
-
"weight": 33.33,
|
|
462
|
-
"variables": [{ "key": "fooConfig", "value": "{\"foo\": \"bar b\"}" }]
|
|
463
|
-
},
|
|
737
|
+
{ "value": "b", "weight": 33.33, "variables": { "fooConfig": "{\"foo\": \"bar b\"}" } },
|
|
464
738
|
{ "value": "c", "weight": 33.33 }
|
|
465
739
|
],
|
|
466
|
-
"
|
|
467
|
-
"staging":
|
|
468
|
-
"production":
|
|
469
|
-
"
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
]
|
|
473
|
-
}
|
|
740
|
+
"rules": {
|
|
741
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 50 }],
|
|
742
|
+
"production": [
|
|
743
|
+
{ "key": "1", "segments": ["countries/germany"], "percentage": 50, "variation": "b" },
|
|
744
|
+
{ "key": "2", "segments": "*", "percentage": 50 }
|
|
745
|
+
]
|
|
474
746
|
},
|
|
475
747
|
"key": "qux",
|
|
476
748
|
"lastModified": {
|
|
477
|
-
"commit": "
|
|
478
|
-
"timestamp": "
|
|
749
|
+
"commit": "baa6580",
|
|
750
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
479
751
|
"author": "Fahad Heylaal"
|
|
480
752
|
}
|
|
481
753
|
},
|
|
@@ -483,14 +755,17 @@
|
|
|
483
755
|
"description": "Enable new design",
|
|
484
756
|
"tags": ["all"],
|
|
485
757
|
"bucketBy": "userId",
|
|
486
|
-
"
|
|
487
|
-
"staging":
|
|
488
|
-
"production":
|
|
758
|
+
"rules": {
|
|
759
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
760
|
+
"production": [
|
|
761
|
+
{ "key": "1", "segments": "countries/netherlands", "percentage": 100 },
|
|
762
|
+
{ "key": "2", "segments": "*", "percentage": 0 }
|
|
763
|
+
]
|
|
489
764
|
},
|
|
490
765
|
"key": "redesign",
|
|
491
766
|
"lastModified": {
|
|
492
|
-
"commit": "
|
|
493
|
-
"timestamp": "
|
|
767
|
+
"commit": "baa6580",
|
|
768
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
494
769
|
"author": "Fahad Heylaal"
|
|
495
770
|
}
|
|
496
771
|
},
|
|
@@ -498,24 +773,58 @@
|
|
|
498
773
|
"description": "for testing expose property with tags",
|
|
499
774
|
"tags": ["all", "checkout"],
|
|
500
775
|
"bucketBy": "userId",
|
|
501
|
-
"
|
|
502
|
-
"staging":
|
|
503
|
-
"
|
|
504
|
-
|
|
505
|
-
{ "
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
}
|
|
510
|
-
],
|
|
511
|
-
"rules": [{ "key": "1", "segments": "*", "percentage": 0 }]
|
|
512
|
-
},
|
|
513
|
-
"production": { "rules": [{ "key": "1", "segments": "*", "percentage": 0 }] }
|
|
776
|
+
"force": {
|
|
777
|
+
"staging": [
|
|
778
|
+
{ "segments": "qa", "enabled": true },
|
|
779
|
+
{
|
|
780
|
+
"conditions": [{ "attribute": "userId", "operator": "equals", "value": "user-3" }],
|
|
781
|
+
"enabled": true
|
|
782
|
+
}
|
|
783
|
+
]
|
|
514
784
|
},
|
|
785
|
+
"rules": {
|
|
786
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 0 }],
|
|
787
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 0 }]
|
|
788
|
+
},
|
|
789
|
+
"expose": { "staging": ["checkout"] },
|
|
515
790
|
"key": "showBanner",
|
|
516
791
|
"lastModified": {
|
|
517
|
-
"commit": "
|
|
518
|
-
"timestamp": "
|
|
792
|
+
"commit": "baa6580",
|
|
793
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
794
|
+
"author": "Fahad Heylaal"
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"description": "For testing wrong semver parsing",
|
|
799
|
+
"tags": ["all"],
|
|
800
|
+
"bucketBy": ["userId"],
|
|
801
|
+
"rules": {
|
|
802
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
803
|
+
"production": [
|
|
804
|
+
{ "key": "desktop", "segments": ["version_gt5", "desktop"], "percentage": 100 },
|
|
805
|
+
{ "key": "mobile", "segments": ["mobile"], "percentage": 100 },
|
|
806
|
+
{ "key": "all", "segments": "*", "percentage": 0 }
|
|
807
|
+
]
|
|
808
|
+
},
|
|
809
|
+
"key": "showHeader",
|
|
810
|
+
"lastModified": {
|
|
811
|
+
"commit": "baa6580",
|
|
812
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
813
|
+
"author": "Fahad Heylaal"
|
|
814
|
+
}
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"description": "Classic on/off switch",
|
|
818
|
+
"tags": ["all"],
|
|
819
|
+
"bucketBy": "userId",
|
|
820
|
+
"rules": {
|
|
821
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
822
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 0 }]
|
|
823
|
+
},
|
|
824
|
+
"key": "showNotification",
|
|
825
|
+
"lastModified": {
|
|
826
|
+
"commit": "baa6580",
|
|
827
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
519
828
|
"author": "Fahad Heylaal"
|
|
520
829
|
}
|
|
521
830
|
},
|
|
@@ -523,23 +832,24 @@
|
|
|
523
832
|
"description": "for testing force API in features",
|
|
524
833
|
"tags": ["all"],
|
|
525
834
|
"bucketBy": "userId",
|
|
526
|
-
"
|
|
527
|
-
"staging":
|
|
528
|
-
"
|
|
529
|
-
|
|
530
|
-
{
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
},
|
|
537
|
-
"production":
|
|
835
|
+
"force": {
|
|
836
|
+
"staging": [
|
|
837
|
+
{ "segments": "qa", "enabled": true },
|
|
838
|
+
{
|
|
839
|
+
"conditions": [{ "attribute": "userId", "operator": "equals", "value": "user-3" }],
|
|
840
|
+
"enabled": true
|
|
841
|
+
}
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
"rules": {
|
|
845
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 0 }],
|
|
846
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 0 }]
|
|
538
847
|
},
|
|
848
|
+
"expose": { "production": false },
|
|
539
849
|
"key": "showPopup",
|
|
540
850
|
"lastModified": {
|
|
541
|
-
"commit": "
|
|
542
|
-
"timestamp": "
|
|
851
|
+
"commit": "e3bacf2",
|
|
852
|
+
"timestamp": "2025-06-26T23:37:14+02:00",
|
|
543
853
|
"author": "Fahad Heylaal"
|
|
544
854
|
}
|
|
545
855
|
},
|
|
@@ -547,63 +857,94 @@
|
|
|
547
857
|
"description": "Show sidebar or not",
|
|
548
858
|
"tags": ["all"],
|
|
549
859
|
"bucketBy": "userId",
|
|
550
|
-
"variablesSchema":
|
|
551
|
-
{
|
|
552
|
-
"key": "position",
|
|
860
|
+
"variablesSchema": {
|
|
861
|
+
"position": {
|
|
553
862
|
"type": "string",
|
|
554
863
|
"description": "position of the sidebar",
|
|
555
864
|
"defaultValue": "left"
|
|
556
865
|
},
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
866
|
+
"color": { "type": "string", "defaultValue": "red" },
|
|
867
|
+
"sections": { "type": "array", "defaultValue": [] },
|
|
868
|
+
"title": { "type": "string", "defaultValue": "Sidebar Title" },
|
|
869
|
+
"title2": { "type": "string", "defaultValue": "Sidebar Title 2" },
|
|
870
|
+
"title3": { "type": "string", "defaultValue": "Sidebar Title 3" },
|
|
871
|
+
"title4": { "type": "string", "defaultValue": "Sidebar Title 4" },
|
|
872
|
+
"title5": { "type": "string", "defaultValue": "Sidebar Title 5" },
|
|
873
|
+
"title6": { "type": "string", "defaultValue": "Sidebar Title 6" },
|
|
874
|
+
"title7": { "type": "string", "defaultValue": "Sidebar Title 7" }
|
|
875
|
+
},
|
|
561
876
|
"variations": [
|
|
562
877
|
{ "value": "control", "weight": 10 },
|
|
563
878
|
{
|
|
564
879
|
"value": "treatment",
|
|
565
880
|
"weight": 90,
|
|
566
|
-
"variables":
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
]
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
]
|
|
881
|
+
"variables": {
|
|
882
|
+
"position": "right",
|
|
883
|
+
"color": "red",
|
|
884
|
+
"sections": ["home", "about", "contact"]
|
|
885
|
+
},
|
|
886
|
+
"variableOverrides": {
|
|
887
|
+
"color": [
|
|
888
|
+
{ "segments": ["countries/germany"], "value": "yellow" },
|
|
889
|
+
{ "segments": ["countries/switzerland"], "value": "white" }
|
|
890
|
+
],
|
|
891
|
+
"sections": [
|
|
892
|
+
{
|
|
893
|
+
"segments": ["countries/germany"],
|
|
894
|
+
"value": ["home", "about", "contact", "imprint"]
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"segments": ["countries/netherlands"],
|
|
898
|
+
"value": ["home", "about", "contact", "bitterballen"]
|
|
899
|
+
}
|
|
900
|
+
]
|
|
901
|
+
}
|
|
588
902
|
}
|
|
589
903
|
],
|
|
590
|
-
"
|
|
591
|
-
"staging":
|
|
592
|
-
"production":
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
]
|
|
601
|
-
}
|
|
904
|
+
"rules": {
|
|
905
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
906
|
+
"production": [
|
|
907
|
+
{
|
|
908
|
+
"key": "1",
|
|
909
|
+
"segments": "*",
|
|
910
|
+
"percentage": 100,
|
|
911
|
+
"variables": { "title": "Sidebar Title for production" }
|
|
912
|
+
}
|
|
913
|
+
]
|
|
602
914
|
},
|
|
915
|
+
"expose": { "staging": ["all"] },
|
|
603
916
|
"key": "sidebar",
|
|
604
917
|
"lastModified": {
|
|
605
|
-
"commit": "
|
|
606
|
-
"timestamp": "
|
|
918
|
+
"commit": "baa6580",
|
|
919
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
920
|
+
"author": "Fahad Heylaal"
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"description": "For testing variables when feature itself is disabled",
|
|
925
|
+
"tags": ["all"],
|
|
926
|
+
"bucketBy": "userId",
|
|
927
|
+
"variablesSchema": {
|
|
928
|
+
"foo": { "type": "string", "defaultValue": "foo value" },
|
|
929
|
+
"bar": { "type": "string", "defaultValue": "bar value", "useDefaultWhenDisabled": true },
|
|
930
|
+
"baz": {
|
|
931
|
+
"type": "string",
|
|
932
|
+
"defaultValue": "baz value",
|
|
933
|
+
"disabledValue": "baz value when feature is disabled"
|
|
934
|
+
}
|
|
935
|
+
},
|
|
936
|
+
"variations": [
|
|
937
|
+
{ "value": "control", "weight": 50 },
|
|
938
|
+
{ "value": "treatment", "weight": 50 }
|
|
939
|
+
],
|
|
940
|
+
"rules": {
|
|
941
|
+
"staging": [{ "key": "1", "segments": "*", "percentage": 100 }],
|
|
942
|
+
"production": [{ "key": "1", "segments": "*", "percentage": 0 }]
|
|
943
|
+
},
|
|
944
|
+
"key": "testDisabled",
|
|
945
|
+
"lastModified": {
|
|
946
|
+
"commit": "baa6580",
|
|
947
|
+
"timestamp": "2025-06-26T23:33:49+02:00",
|
|
607
948
|
"author": "Fahad Heylaal"
|
|
608
949
|
}
|
|
609
950
|
}
|