@featurevisor/core 0.14.0 → 0.14.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 +11 -0
- package/lib/builder.js +0 -1
- package/lib/builder.js.map +1 -1
- package/lib/linter.js +33 -23
- package/lib/linter.js.map +1 -1
- package/lib/traffic.spec.js +0 -22
- package/lib/traffic.spec.js.map +1 -1
- package/package.json +5 -5
- package/src/builder.ts +0 -1
- package/src/linter.ts +75 -61
- package/src/traffic.spec.ts +0 -22
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.14.1](https://github.com/fahad19/featurevisor/compare/v0.14.0...v0.14.1) (2023-04-22)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* do not require variation type in Feature's YAML ([#57](https://github.com/fahad19/featurevisor/issues/57)) ([2e7c0cf](https://github.com/fahad19/featurevisor/commit/2e7c0cfb441a60beffa14dae17152257d97862b0))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.14.0](https://github.com/fahad19/featurevisor/compare/v0.13.1...v0.14.0) (2023-04-21)
|
|
7
18
|
|
|
8
19
|
|
package/lib/builder.js
CHANGED
|
@@ -79,7 +79,6 @@ function buildDatafile(projectConfig, options) {
|
|
|
79
79
|
bucketBy: parsedFeature.bucketBy || projectConfig.defaultBucketBy,
|
|
80
80
|
variations: parsedFeature.variations.map(function (variation) {
|
|
81
81
|
var mappedVariation = {
|
|
82
|
-
type: variation.type,
|
|
83
82
|
value: variation.value,
|
|
84
83
|
};
|
|
85
84
|
if (!variation.variables) {
|
package/lib/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/lib/linter.js
CHANGED
|
@@ -45,17 +45,18 @@ var utils_1 = require("./utils");
|
|
|
45
45
|
function getAttributeJoiSchema(projectConfig) {
|
|
46
46
|
var attributeJoiSchema = Joi.object({
|
|
47
47
|
archived: Joi.boolean(),
|
|
48
|
-
type: Joi.string().allow("boolean", "string", "integer", "double"),
|
|
49
|
-
description: Joi.string(),
|
|
50
|
-
capture: Joi.boolean()
|
|
48
|
+
type: Joi.string().allow("boolean", "string", "integer", "double").required(),
|
|
49
|
+
description: Joi.string().required(),
|
|
50
|
+
capture: Joi.boolean(),
|
|
51
51
|
});
|
|
52
52
|
return attributeJoiSchema;
|
|
53
53
|
}
|
|
54
54
|
exports.getAttributeJoiSchema = getAttributeJoiSchema;
|
|
55
55
|
function getConditionsJoiSchema(projectConfig) {
|
|
56
56
|
var plainConditionJoiSchema = Joi.object({
|
|
57
|
-
attribute: Joi.string(),
|
|
58
|
-
operator: Joi.string()
|
|
57
|
+
attribute: Joi.string().required(),
|
|
58
|
+
operator: Joi.string()
|
|
59
|
+
.valid("equals", "notEquals",
|
|
59
60
|
// numeric
|
|
60
61
|
"greaterThan", "greaterThanOrEquals", "lessThan", "lessThanOrEquals",
|
|
61
62
|
// string
|
|
@@ -63,10 +64,13 @@ function getConditionsJoiSchema(projectConfig) {
|
|
|
63
64
|
// semver (string)
|
|
64
65
|
"semverEquals", "semverNotEquals", "semverGreaterThan", "semverGreaterThanOrEquals", "semverLessThan", "semverLessThanOrEquals",
|
|
65
66
|
// array of strings
|
|
66
|
-
"in", "notIn")
|
|
67
|
-
|
|
67
|
+
"in", "notIn")
|
|
68
|
+
.required(),
|
|
69
|
+
value: Joi.alternatives()
|
|
70
|
+
.try(
|
|
68
71
|
// @TODO: make them more specific
|
|
69
|
-
Joi.string(), Joi.number(), Joi.boolean(), Joi.array().items(Joi.string()))
|
|
72
|
+
Joi.string(), Joi.number(), Joi.boolean(), Joi.array().items(Joi.string()))
|
|
73
|
+
.required(),
|
|
70
74
|
});
|
|
71
75
|
var andOrNotConditionJoiSchema = Joi.alternatives()
|
|
72
76
|
.try(Joi.object({
|
|
@@ -86,8 +90,8 @@ exports.getConditionsJoiSchema = getConditionsJoiSchema;
|
|
|
86
90
|
function getSegmentJoiSchema(projectConfig, conditionsJoiSchema) {
|
|
87
91
|
var segmentJoiSchema = Joi.object({
|
|
88
92
|
archived: Joi.boolean().optional(),
|
|
89
|
-
description: Joi.string(),
|
|
90
|
-
conditions: conditionsJoiSchema,
|
|
93
|
+
description: Joi.string().required(),
|
|
94
|
+
conditions: conditionsJoiSchema.required(),
|
|
91
95
|
});
|
|
92
96
|
return segmentJoiSchema;
|
|
93
97
|
}
|
|
@@ -123,13 +127,15 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema) {
|
|
|
123
127
|
var groupSegmentsJoiSchema = Joi.alternatives().try(Joi.array().items(groupSegment), groupSegment);
|
|
124
128
|
var environmentJoiSchema = Joi.object({
|
|
125
129
|
expose: Joi.boolean(),
|
|
126
|
-
rules: Joi.array()
|
|
130
|
+
rules: Joi.array()
|
|
131
|
+
.items(Joi.object({
|
|
127
132
|
key: Joi.string(),
|
|
128
133
|
segments: groupSegmentsJoiSchema,
|
|
129
134
|
percentage: Joi.number().precision(3).min(0).max(100),
|
|
130
135
|
variation: variationValueJoiSchema.optional(),
|
|
131
136
|
variables: Joi.object().optional(), // @TODO: make it stricter
|
|
132
|
-
}))
|
|
137
|
+
}))
|
|
138
|
+
.required(),
|
|
133
139
|
force: Joi.array().items(Joi.object({
|
|
134
140
|
// @TODO: either of the two below
|
|
135
141
|
segments: groupSegmentsJoiSchema.optional(),
|
|
@@ -140,15 +146,15 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema) {
|
|
|
140
146
|
});
|
|
141
147
|
var allEnvironomentsSchema = {};
|
|
142
148
|
projectConfig.environments.forEach(function (environmentKey) {
|
|
143
|
-
allEnvironomentsSchema[environmentKey] = environmentJoiSchema;
|
|
149
|
+
allEnvironomentsSchema[environmentKey] = environmentJoiSchema.required();
|
|
144
150
|
});
|
|
145
151
|
var allEnvironomentsJoiSchema = Joi.object(allEnvironomentsSchema);
|
|
146
152
|
var featureJoiSchema = Joi.object({
|
|
147
|
-
archived: Joi.boolean()
|
|
148
|
-
description: Joi.string(),
|
|
149
|
-
tags: Joi.array().items(Joi.string()),
|
|
153
|
+
archived: Joi.boolean(),
|
|
154
|
+
description: Joi.string().required(),
|
|
155
|
+
tags: Joi.array().items(Joi.string()).required(),
|
|
150
156
|
defaultVariation: variationValueJoiSchema,
|
|
151
|
-
bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())),
|
|
157
|
+
bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())).required(),
|
|
152
158
|
variablesSchema: Joi.array().items(Joi.object({
|
|
153
159
|
key: Joi.string(),
|
|
154
160
|
type: Joi.string().valid("string", "integer", "boolean", "double", "array", "object", "json"),
|
|
@@ -156,10 +162,9 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema) {
|
|
|
156
162
|
})),
|
|
157
163
|
variations: Joi.array()
|
|
158
164
|
.items(Joi.object({
|
|
159
|
-
description: Joi.string()
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
weight: Joi.number().precision(3).min(0).max(100),
|
|
165
|
+
description: Joi.string(),
|
|
166
|
+
value: variationValueJoiSchema.required(),
|
|
167
|
+
weight: Joi.number().precision(3).min(0).max(100).required(),
|
|
163
168
|
variables: Joi.array().items(Joi.object({
|
|
164
169
|
key: Joi.string(),
|
|
165
170
|
value: variableValueJoiSchema,
|
|
@@ -177,9 +182,14 @@ function getFeatureJoiSchema(projectConfig, conditionsJoiSchema) {
|
|
|
177
182
|
if (total !== 100) {
|
|
178
183
|
throw new Error("Sum of all variation weights must be 100, got ".concat(total));
|
|
179
184
|
}
|
|
185
|
+
var typeOf = new Set(value.map(function (v) { return typeof v.value; }));
|
|
186
|
+
if (typeOf.size > 1) {
|
|
187
|
+
throw new Error("All variations must have the same type, got ".concat(Array.from(typeOf).join(", ")));
|
|
188
|
+
}
|
|
180
189
|
return value;
|
|
181
|
-
})
|
|
182
|
-
|
|
190
|
+
})
|
|
191
|
+
.required(),
|
|
192
|
+
environments: allEnvironomentsJoiSchema.required(),
|
|
183
193
|
});
|
|
184
194
|
return featureJoiSchema;
|
|
185
195
|
}
|
package/lib/linter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../src/linter.ts"],"names":[],"mappings":"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"}
|
package/lib/traffic.spec.js
CHANGED
|
@@ -10,12 +10,10 @@ describe("core: Traffic", function () {
|
|
|
10
10
|
// parsed variations from YAML
|
|
11
11
|
[
|
|
12
12
|
{
|
|
13
|
-
type: "string",
|
|
14
13
|
value: "on",
|
|
15
14
|
weight: 100,
|
|
16
15
|
},
|
|
17
16
|
{
|
|
18
|
-
type: "string",
|
|
19
17
|
value: "off",
|
|
20
18
|
weight: 0,
|
|
21
19
|
},
|
|
@@ -53,12 +51,10 @@ describe("core: Traffic", function () {
|
|
|
53
51
|
// parsed variations from YAML
|
|
54
52
|
[
|
|
55
53
|
{
|
|
56
|
-
type: "string",
|
|
57
54
|
value: "on",
|
|
58
55
|
weight: 50,
|
|
59
56
|
},
|
|
60
57
|
{
|
|
61
|
-
type: "string",
|
|
62
58
|
value: "off",
|
|
63
59
|
weight: 50,
|
|
64
60
|
},
|
|
@@ -96,17 +92,14 @@ describe("core: Traffic", function () {
|
|
|
96
92
|
// parsed variations from YAML
|
|
97
93
|
[
|
|
98
94
|
{
|
|
99
|
-
type: "string",
|
|
100
95
|
value: "yes",
|
|
101
96
|
weight: 33.33,
|
|
102
97
|
},
|
|
103
98
|
{
|
|
104
|
-
type: "string",
|
|
105
99
|
value: "no",
|
|
106
100
|
weight: 33.33,
|
|
107
101
|
},
|
|
108
102
|
{
|
|
109
|
-
type: "string",
|
|
110
103
|
value: "maybe",
|
|
111
104
|
weight: 33.34,
|
|
112
105
|
},
|
|
@@ -148,12 +141,10 @@ describe("core: Traffic", function () {
|
|
|
148
141
|
// parsed variations from YAML
|
|
149
142
|
[
|
|
150
143
|
{
|
|
151
|
-
type: "string",
|
|
152
144
|
value: "on",
|
|
153
145
|
weight: 50,
|
|
154
146
|
},
|
|
155
147
|
{
|
|
156
|
-
type: "string",
|
|
157
148
|
value: "off",
|
|
158
149
|
weight: 50,
|
|
159
150
|
},
|
|
@@ -228,12 +219,10 @@ describe("core: Traffic", function () {
|
|
|
228
219
|
// parsed variations from YAML
|
|
229
220
|
[
|
|
230
221
|
{
|
|
231
|
-
type: "string",
|
|
232
222
|
value: "on",
|
|
233
223
|
weight: 50,
|
|
234
224
|
},
|
|
235
225
|
{
|
|
236
|
-
type: "string",
|
|
237
226
|
value: "off",
|
|
238
227
|
weight: 50,
|
|
239
228
|
},
|
|
@@ -298,17 +287,14 @@ describe("core: Traffic", function () {
|
|
|
298
287
|
// parsed variations from YAML
|
|
299
288
|
[
|
|
300
289
|
{
|
|
301
|
-
type: "string",
|
|
302
290
|
value: "a",
|
|
303
291
|
weight: 33.33,
|
|
304
292
|
},
|
|
305
293
|
{
|
|
306
|
-
type: "string",
|
|
307
294
|
value: "b",
|
|
308
295
|
weight: 33.33,
|
|
309
296
|
},
|
|
310
297
|
{
|
|
311
|
-
type: "string",
|
|
312
298
|
value: "c",
|
|
313
299
|
weight: 33.34,
|
|
314
300
|
},
|
|
@@ -377,22 +363,18 @@ describe("core: Traffic", function () {
|
|
|
377
363
|
// parsed variations from YAML
|
|
378
364
|
[
|
|
379
365
|
{
|
|
380
|
-
type: "string",
|
|
381
366
|
value: "a",
|
|
382
367
|
weight: 25,
|
|
383
368
|
},
|
|
384
369
|
{
|
|
385
|
-
type: "string",
|
|
386
370
|
value: "b",
|
|
387
371
|
weight: 25,
|
|
388
372
|
},
|
|
389
373
|
{
|
|
390
|
-
type: "string",
|
|
391
374
|
value: "c",
|
|
392
375
|
weight: 25,
|
|
393
376
|
},
|
|
394
377
|
{
|
|
395
|
-
type: "string",
|
|
396
378
|
value: "d",
|
|
397
379
|
weight: 25,
|
|
398
380
|
},
|
|
@@ -465,12 +447,10 @@ describe("core: Traffic", function () {
|
|
|
465
447
|
// parsed variations from YAML
|
|
466
448
|
[
|
|
467
449
|
{
|
|
468
|
-
type: "string",
|
|
469
450
|
value: "a",
|
|
470
451
|
weight: 50,
|
|
471
452
|
},
|
|
472
453
|
{
|
|
473
|
-
type: "string",
|
|
474
454
|
value: "b",
|
|
475
455
|
weight: 50,
|
|
476
456
|
},
|
|
@@ -551,12 +531,10 @@ describe("core: Traffic", function () {
|
|
|
551
531
|
// parsed variations from YAML
|
|
552
532
|
[
|
|
553
533
|
{
|
|
554
|
-
type: "string",
|
|
555
534
|
value: "a",
|
|
556
535
|
weight: 50,
|
|
557
536
|
},
|
|
558
537
|
{
|
|
559
|
-
type: "string",
|
|
560
538
|
value: "b",
|
|
561
539
|
weight: 50,
|
|
562
540
|
},
|
package/lib/traffic.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../src/traffic.spec.ts"],"names":[],"mappings":";;AACA,qCAA0C;AAE1C,QAAQ,CAAC,eAAe,EAAE;IACxB,EAAE,CAAC,sBAAsB,EAAE;QACzB,MAAM,CAAC,OAAO,uBAAa,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE;QAC/D,IAAM,MAAM,GAAG,IAAA,uBAAa;QAC1B,8BAA8B;QAC9B;YACE;gBACE,
|
|
1
|
+
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../src/traffic.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "Core package of Featurevisor for Node.js usage",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@featurevisor/sdk": "^0.14.
|
|
45
|
-
"@featurevisor/site": "^0.14.
|
|
46
|
-
"@featurevisor/types": "^0.14.
|
|
44
|
+
"@featurevisor/sdk": "^0.14.1",
|
|
45
|
+
"@featurevisor/site": "^0.14.1",
|
|
46
|
+
"@featurevisor/types": "^0.14.1",
|
|
47
47
|
"axios": "^1.3.4",
|
|
48
48
|
"joi": "^17.8.3",
|
|
49
49
|
"js-yaml": "^4.1.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"@types/js-yaml": "^4.0.5",
|
|
55
55
|
"@types/tar": "^6.1.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "3ddcffdba992a36b564cf4471f0e4982cfd9fc83"
|
|
58
58
|
}
|
package/src/builder.ts
CHANGED
|
@@ -144,7 +144,6 @@ export function buildDatafile(
|
|
|
144
144
|
bucketBy: parsedFeature.bucketBy || projectConfig.defaultBucketBy,
|
|
145
145
|
variations: parsedFeature.variations.map((variation: Variation) => {
|
|
146
146
|
const mappedVariation: any = {
|
|
147
|
-
type: variation.type,
|
|
148
147
|
value: variation.value,
|
|
149
148
|
};
|
|
150
149
|
|
package/src/linter.ts
CHANGED
|
@@ -11,9 +11,9 @@ import { ProjectConfig } from "./config";
|
|
|
11
11
|
export function getAttributeJoiSchema(projectConfig: ProjectConfig) {
|
|
12
12
|
const attributeJoiSchema = Joi.object({
|
|
13
13
|
archived: Joi.boolean(),
|
|
14
|
-
type: Joi.string().allow("boolean", "string", "integer", "double"),
|
|
15
|
-
description: Joi.string(),
|
|
16
|
-
capture: Joi.boolean()
|
|
14
|
+
type: Joi.string().allow("boolean", "string", "integer", "double").required(),
|
|
15
|
+
description: Joi.string().required(),
|
|
16
|
+
capture: Joi.boolean(),
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
return attributeJoiSchema;
|
|
@@ -21,42 +21,46 @@ export function getAttributeJoiSchema(projectConfig: ProjectConfig) {
|
|
|
21
21
|
|
|
22
22
|
export function getConditionsJoiSchema(projectConfig: ProjectConfig) {
|
|
23
23
|
const plainConditionJoiSchema = Joi.object({
|
|
24
|
-
attribute: Joi.string(),
|
|
25
|
-
operator: Joi.string()
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
24
|
+
attribute: Joi.string().required(),
|
|
25
|
+
operator: Joi.string()
|
|
26
|
+
.valid(
|
|
27
|
+
"equals",
|
|
28
|
+
"notEquals",
|
|
29
|
+
|
|
30
|
+
// numeric
|
|
31
|
+
"greaterThan",
|
|
32
|
+
"greaterThanOrEquals",
|
|
33
|
+
"lessThan",
|
|
34
|
+
"lessThanOrEquals",
|
|
35
|
+
|
|
36
|
+
// string
|
|
37
|
+
"contains",
|
|
38
|
+
"notContains",
|
|
39
|
+
"startsWith",
|
|
40
|
+
"endsWith",
|
|
41
|
+
|
|
42
|
+
// semver (string)
|
|
43
|
+
"semverEquals",
|
|
44
|
+
"semverNotEquals",
|
|
45
|
+
"semverGreaterThan",
|
|
46
|
+
"semverGreaterThanOrEquals",
|
|
47
|
+
"semverLessThan",
|
|
48
|
+
"semverLessThanOrEquals",
|
|
49
|
+
|
|
50
|
+
// array of strings
|
|
51
|
+
"in",
|
|
52
|
+
"notIn",
|
|
53
|
+
)
|
|
54
|
+
.required(),
|
|
55
|
+
value: Joi.alternatives()
|
|
56
|
+
.try(
|
|
57
|
+
// @TODO: make them more specific
|
|
58
|
+
Joi.string(),
|
|
59
|
+
Joi.number(),
|
|
60
|
+
Joi.boolean(),
|
|
61
|
+
Joi.array().items(Joi.string()),
|
|
62
|
+
)
|
|
63
|
+
.required(),
|
|
60
64
|
});
|
|
61
65
|
|
|
62
66
|
const andOrNotConditionJoiSchema = Joi.alternatives()
|
|
@@ -90,8 +94,8 @@ export function getConditionsJoiSchema(projectConfig: ProjectConfig) {
|
|
|
90
94
|
export function getSegmentJoiSchema(projectConfig: ProjectConfig, conditionsJoiSchema) {
|
|
91
95
|
const segmentJoiSchema = Joi.object({
|
|
92
96
|
archived: Joi.boolean().optional(),
|
|
93
|
-
description: Joi.string(),
|
|
94
|
-
conditions: conditionsJoiSchema,
|
|
97
|
+
description: Joi.string().required(),
|
|
98
|
+
conditions: conditionsJoiSchema.required(),
|
|
95
99
|
});
|
|
96
100
|
|
|
97
101
|
return segmentJoiSchema;
|
|
@@ -149,15 +153,17 @@ export function getFeatureJoiSchema(projectConfig: ProjectConfig, conditionsJoiS
|
|
|
149
153
|
|
|
150
154
|
const environmentJoiSchema = Joi.object({
|
|
151
155
|
expose: Joi.boolean(),
|
|
152
|
-
rules: Joi.array()
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
rules: Joi.array()
|
|
157
|
+
.items(
|
|
158
|
+
Joi.object({
|
|
159
|
+
key: Joi.string(), // @TODO: make it unique among siblings
|
|
160
|
+
segments: groupSegmentsJoiSchema,
|
|
161
|
+
percentage: Joi.number().precision(3).min(0).max(100),
|
|
162
|
+
variation: variationValueJoiSchema.optional(),
|
|
163
|
+
variables: Joi.object().optional(), // @TODO: make it stricter
|
|
164
|
+
}),
|
|
165
|
+
)
|
|
166
|
+
.required(),
|
|
161
167
|
force: Joi.array().items(
|
|
162
168
|
Joi.object({
|
|
163
169
|
// @TODO: either of the two below
|
|
@@ -172,18 +178,18 @@ export function getFeatureJoiSchema(projectConfig: ProjectConfig, conditionsJoiS
|
|
|
172
178
|
|
|
173
179
|
const allEnvironomentsSchema = {};
|
|
174
180
|
projectConfig.environments.forEach((environmentKey) => {
|
|
175
|
-
allEnvironomentsSchema[environmentKey] = environmentJoiSchema;
|
|
181
|
+
allEnvironomentsSchema[environmentKey] = environmentJoiSchema.required();
|
|
176
182
|
});
|
|
177
183
|
const allEnvironomentsJoiSchema = Joi.object(allEnvironomentsSchema);
|
|
178
184
|
|
|
179
185
|
const featureJoiSchema = Joi.object({
|
|
180
|
-
archived: Joi.boolean()
|
|
181
|
-
description: Joi.string(),
|
|
182
|
-
tags: Joi.array().items(Joi.string()),
|
|
186
|
+
archived: Joi.boolean(),
|
|
187
|
+
description: Joi.string().required(),
|
|
188
|
+
tags: Joi.array().items(Joi.string()).required(),
|
|
183
189
|
|
|
184
190
|
defaultVariation: variationValueJoiSchema,
|
|
185
191
|
|
|
186
|
-
bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())),
|
|
192
|
+
bucketBy: Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())).required(),
|
|
187
193
|
|
|
188
194
|
variablesSchema: Joi.array().items(
|
|
189
195
|
Joi.object({
|
|
@@ -204,10 +210,9 @@ export function getFeatureJoiSchema(projectConfig: ProjectConfig, conditionsJoiS
|
|
|
204
210
|
variations: Joi.array()
|
|
205
211
|
.items(
|
|
206
212
|
Joi.object({
|
|
207
|
-
description: Joi.string()
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
weight: Joi.number().precision(3).min(0).max(100),
|
|
213
|
+
description: Joi.string(),
|
|
214
|
+
value: variationValueJoiSchema.required(), // @TODO: make it unique among siblings
|
|
215
|
+
weight: Joi.number().precision(3).min(0).max(100).required(),
|
|
211
216
|
variables: Joi.array().items(
|
|
212
217
|
Joi.object({
|
|
213
218
|
key: Joi.string(), // @TODO: make it unique among siblings
|
|
@@ -233,10 +238,19 @@ export function getFeatureJoiSchema(projectConfig: ProjectConfig, conditionsJoiS
|
|
|
233
238
|
throw new Error(`Sum of all variation weights must be 100, got ${total}`);
|
|
234
239
|
}
|
|
235
240
|
|
|
241
|
+
const typeOf = new Set(value.map((v) => typeof v.value));
|
|
242
|
+
|
|
243
|
+
if (typeOf.size > 1) {
|
|
244
|
+
throw new Error(
|
|
245
|
+
`All variations must have the same type, got ${Array.from(typeOf).join(", ")}`,
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
|
|
236
249
|
return value;
|
|
237
|
-
})
|
|
250
|
+
})
|
|
251
|
+
.required(),
|
|
238
252
|
|
|
239
|
-
environments: allEnvironomentsJoiSchema,
|
|
253
|
+
environments: allEnvironomentsJoiSchema.required(),
|
|
240
254
|
});
|
|
241
255
|
|
|
242
256
|
return featureJoiSchema;
|
package/src/traffic.spec.ts
CHANGED
|
@@ -11,12 +11,10 @@ describe("core: Traffic", function () {
|
|
|
11
11
|
// parsed variations from YAML
|
|
12
12
|
[
|
|
13
13
|
{
|
|
14
|
-
type: "string",
|
|
15
14
|
value: "on",
|
|
16
15
|
weight: 100,
|
|
17
16
|
},
|
|
18
17
|
{
|
|
19
|
-
type: "string",
|
|
20
18
|
value: "off",
|
|
21
19
|
weight: 0,
|
|
22
20
|
},
|
|
@@ -59,12 +57,10 @@ describe("core: Traffic", function () {
|
|
|
59
57
|
// parsed variations from YAML
|
|
60
58
|
[
|
|
61
59
|
{
|
|
62
|
-
type: "string",
|
|
63
60
|
value: "on",
|
|
64
61
|
weight: 50,
|
|
65
62
|
},
|
|
66
63
|
{
|
|
67
|
-
type: "string",
|
|
68
64
|
value: "off",
|
|
69
65
|
weight: 50,
|
|
70
66
|
},
|
|
@@ -107,17 +103,14 @@ describe("core: Traffic", function () {
|
|
|
107
103
|
// parsed variations from YAML
|
|
108
104
|
[
|
|
109
105
|
{
|
|
110
|
-
type: "string",
|
|
111
106
|
value: "yes",
|
|
112
107
|
weight: 33.33,
|
|
113
108
|
},
|
|
114
109
|
{
|
|
115
|
-
type: "string",
|
|
116
110
|
value: "no",
|
|
117
111
|
weight: 33.33,
|
|
118
112
|
},
|
|
119
113
|
{
|
|
120
|
-
type: "string",
|
|
121
114
|
value: "maybe",
|
|
122
115
|
weight: 33.34,
|
|
123
116
|
},
|
|
@@ -164,12 +157,10 @@ describe("core: Traffic", function () {
|
|
|
164
157
|
// parsed variations from YAML
|
|
165
158
|
[
|
|
166
159
|
{
|
|
167
|
-
type: "string",
|
|
168
160
|
value: "on",
|
|
169
161
|
weight: 50,
|
|
170
162
|
},
|
|
171
163
|
{
|
|
172
|
-
type: "string",
|
|
173
164
|
value: "off",
|
|
174
165
|
weight: 50,
|
|
175
166
|
},
|
|
@@ -250,12 +241,10 @@ describe("core: Traffic", function () {
|
|
|
250
241
|
// parsed variations from YAML
|
|
251
242
|
[
|
|
252
243
|
{
|
|
253
|
-
type: "string",
|
|
254
244
|
value: "on",
|
|
255
245
|
weight: 50,
|
|
256
246
|
},
|
|
257
247
|
{
|
|
258
|
-
type: "string",
|
|
259
248
|
value: "off",
|
|
260
249
|
weight: 50,
|
|
261
250
|
},
|
|
@@ -325,17 +314,14 @@ describe("core: Traffic", function () {
|
|
|
325
314
|
// parsed variations from YAML
|
|
326
315
|
[
|
|
327
316
|
{
|
|
328
|
-
type: "string",
|
|
329
317
|
value: "a",
|
|
330
318
|
weight: 33.33,
|
|
331
319
|
},
|
|
332
320
|
{
|
|
333
|
-
type: "string",
|
|
334
321
|
value: "b",
|
|
335
322
|
weight: 33.33,
|
|
336
323
|
},
|
|
337
324
|
{
|
|
338
|
-
type: "string",
|
|
339
325
|
value: "c",
|
|
340
326
|
weight: 33.34,
|
|
341
327
|
},
|
|
@@ -409,22 +395,18 @@ describe("core: Traffic", function () {
|
|
|
409
395
|
// parsed variations from YAML
|
|
410
396
|
[
|
|
411
397
|
{
|
|
412
|
-
type: "string",
|
|
413
398
|
value: "a",
|
|
414
399
|
weight: 25,
|
|
415
400
|
},
|
|
416
401
|
{
|
|
417
|
-
type: "string",
|
|
418
402
|
value: "b",
|
|
419
403
|
weight: 25,
|
|
420
404
|
},
|
|
421
405
|
{
|
|
422
|
-
type: "string",
|
|
423
406
|
value: "c",
|
|
424
407
|
weight: 25,
|
|
425
408
|
},
|
|
426
409
|
{
|
|
427
|
-
type: "string",
|
|
428
410
|
value: "d",
|
|
429
411
|
weight: 25,
|
|
430
412
|
},
|
|
@@ -502,12 +484,10 @@ describe("core: Traffic", function () {
|
|
|
502
484
|
// parsed variations from YAML
|
|
503
485
|
[
|
|
504
486
|
{
|
|
505
|
-
type: "string",
|
|
506
487
|
value: "a",
|
|
507
488
|
weight: 50,
|
|
508
489
|
},
|
|
509
490
|
{
|
|
510
|
-
type: "string",
|
|
511
491
|
value: "b",
|
|
512
492
|
weight: 50,
|
|
513
493
|
},
|
|
@@ -593,12 +573,10 @@ describe("core: Traffic", function () {
|
|
|
593
573
|
// parsed variations from YAML
|
|
594
574
|
[
|
|
595
575
|
{
|
|
596
|
-
type: "string",
|
|
597
576
|
value: "a",
|
|
598
577
|
weight: 50,
|
|
599
578
|
},
|
|
600
579
|
{
|
|
601
|
-
type: "string",
|
|
602
580
|
value: "b",
|
|
603
581
|
weight: 50,
|
|
604
582
|
},
|