@featurevisor/core 2.9.0 → 2.10.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 +11 -0
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
- package/coverage/lcov-report/builder/index.html +1 -1
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/parsers/index.html +1 -1
- package/coverage/lcov-report/parsers/json.ts.html +1 -1
- package/coverage/lcov-report/parsers/yml.ts.html +1 -1
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +1 -1
- package/lib/generate-code/typescript.js +150 -16
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +114 -100
- package/lib/linter/featureSchema.js +222 -80
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/propertySchema.d.ts +5 -0
- package/lib/linter/propertySchema.js +43 -0
- package/lib/linter/propertySchema.js.map +1 -0
- package/package.json +5 -5
- package/src/generate-code/typescript.ts +168 -18
- package/src/linter/featureSchema.ts +282 -95
- package/src/linter/propertySchema.ts +47 -0
|
@@ -2,28 +2,127 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFeatureZodSchema = getFeatureZodSchema;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
const propertySchema_1 = require("./propertySchema");
|
|
5
6
|
const tagRegex = /^[a-z0-9-]+$/;
|
|
6
|
-
function isFlatObject(value) {
|
|
7
|
-
let isFlat = true;
|
|
8
|
-
Object.keys(value).forEach((key) => {
|
|
9
|
-
if (typeof value[key] === "object") {
|
|
10
|
-
isFlat = false;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
return isFlat;
|
|
14
|
-
}
|
|
15
7
|
function isArrayOfStrings(value) {
|
|
16
8
|
return Array.isArray(value) && value.every((v) => typeof v === "string");
|
|
17
9
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
10
|
+
function isFlatObjectValue(value) {
|
|
11
|
+
return (value === null ||
|
|
12
|
+
typeof value === "string" ||
|
|
13
|
+
typeof value === "number" ||
|
|
14
|
+
typeof value === "boolean");
|
|
15
|
+
}
|
|
16
|
+
function getVariableLabel(variableSchema, variableKey, path) {
|
|
17
|
+
return (variableKey ??
|
|
18
|
+
variableSchema?.key ??
|
|
19
|
+
(path.length > 0 ? String(path[path.length - 1]) : "variable"));
|
|
20
|
+
}
|
|
21
|
+
function typeOfValue(value) {
|
|
22
|
+
if (value === null)
|
|
23
|
+
return "null";
|
|
24
|
+
if (value === undefined)
|
|
25
|
+
return "undefined";
|
|
26
|
+
if (Array.isArray(value))
|
|
27
|
+
return "array";
|
|
28
|
+
return typeof value;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Validates a variable value against an array schema. Recursively validates each item
|
|
32
|
+
* when the schema defines `items` (nested arrays/objects use the same refinement).
|
|
33
|
+
*/
|
|
34
|
+
function refineVariableValueArray(projectConfig, variableSchema, variableValue, path, ctx, variableKey) {
|
|
35
|
+
const label = getVariableLabel(variableSchema, variableKey, path);
|
|
36
|
+
const itemSchema = variableSchema.items;
|
|
37
|
+
if (itemSchema) {
|
|
38
|
+
variableValue.forEach((item, index) => {
|
|
39
|
+
superRefineVariableValue(projectConfig, itemSchema, item, [...path, index], ctx, variableKey);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!isArrayOfStrings(variableValue)) {
|
|
44
|
+
ctx.addIssue({
|
|
45
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
46
|
+
message: `Variable "${label}" (type array): when \`items\` is not set, array must contain only strings; found non-string element.`,
|
|
47
|
+
path,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (projectConfig.maxVariableArrayStringifiedLength) {
|
|
52
|
+
const stringified = JSON.stringify(variableValue);
|
|
53
|
+
if (stringified.length > projectConfig.maxVariableArrayStringifiedLength) {
|
|
54
|
+
ctx.addIssue({
|
|
55
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
56
|
+
message: `Variable "${label}" array is too long (${stringified.length} characters), max length is ${projectConfig.maxVariableArrayStringifiedLength}`,
|
|
57
|
+
path,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Validates a variable value against an object schema. Recursively validates each property
|
|
64
|
+
* when the schema defines `properties` (nested objects/arrays use the same refinement).
|
|
65
|
+
*/
|
|
66
|
+
function refineVariableValueObject(projectConfig, variableSchema, variableValue, path, ctx, variableKey) {
|
|
67
|
+
const label = getVariableLabel(variableSchema, variableKey, path);
|
|
68
|
+
const schemaProperties = variableSchema.properties;
|
|
69
|
+
if (schemaProperties && typeof schemaProperties === "object") {
|
|
70
|
+
const requiredKeys = variableSchema.required && variableSchema.required.length > 0
|
|
71
|
+
? variableSchema.required
|
|
72
|
+
: Object.keys(schemaProperties);
|
|
73
|
+
for (const key of requiredKeys) {
|
|
74
|
+
if (!Object.prototype.hasOwnProperty.call(variableValue, key)) {
|
|
75
|
+
ctx.addIssue({
|
|
76
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
77
|
+
message: `Missing required property "${key}" in variable "${label}"`,
|
|
78
|
+
path: [...path, key],
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
for (const key of Object.keys(variableValue)) {
|
|
83
|
+
const propSchema = schemaProperties[key];
|
|
84
|
+
if (!propSchema) {
|
|
85
|
+
ctx.addIssue({
|
|
86
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
87
|
+
message: `Unknown property "${key}" in variable "${label}" (not in schema)`,
|
|
88
|
+
path: [...path, key],
|
|
89
|
+
});
|
|
25
90
|
}
|
|
91
|
+
else {
|
|
92
|
+
superRefineVariableValue(projectConfig, propSchema, variableValue[key], [...path, key], ctx, key);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
for (const key of Object.keys(variableValue)) {
|
|
98
|
+
const propValue = variableValue[key];
|
|
99
|
+
if (!isFlatObjectValue(propValue)) {
|
|
100
|
+
ctx.addIssue({
|
|
101
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
102
|
+
message: `Variable "${label}" is a flat object (no \`properties\` in schema); property "${key}" must be a primitive (string, number, boolean, or null), got: ${typeof propValue}`,
|
|
103
|
+
path: [...path, key],
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (projectConfig.maxVariableObjectStringifiedLength) {
|
|
109
|
+
const stringified = JSON.stringify(variableValue);
|
|
110
|
+
if (stringified.length > projectConfig.maxVariableObjectStringifiedLength) {
|
|
111
|
+
ctx.addIssue({
|
|
112
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
113
|
+
message: `Variable "${label}" object is too long (${stringified.length} characters), max length is ${projectConfig.maxVariableObjectStringifiedLength}`,
|
|
114
|
+
path,
|
|
115
|
+
});
|
|
26
116
|
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function superRefineVariableValue(projectConfig, variableSchema, variableValue, path, ctx, variableKey) {
|
|
120
|
+
const label = getVariableLabel(variableSchema, variableKey, path);
|
|
121
|
+
if (!variableSchema) {
|
|
122
|
+
const variableName = path.length > 0 && typeof path[path.length - 1] === "string"
|
|
123
|
+
? String(path[path.length - 1])
|
|
124
|
+
: "variable";
|
|
125
|
+
const message = `Variable "${variableName}" is used but not defined in variablesSchema. Define it under variablesSchema first, then use it here.`;
|
|
27
126
|
ctx.addIssue({
|
|
28
127
|
code: zod_1.z.ZodIssueCode.custom,
|
|
29
128
|
message,
|
|
@@ -31,99 +130,139 @@ function superRefineVariableValue(projectConfig, variableSchema, variableValue,
|
|
|
31
130
|
});
|
|
32
131
|
return;
|
|
33
132
|
}
|
|
34
|
-
//
|
|
35
|
-
if (
|
|
133
|
+
// Require a value (no undefined) for every variable usage
|
|
134
|
+
if (variableValue === undefined) {
|
|
135
|
+
ctx.addIssue({
|
|
136
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
137
|
+
message: `Variable "${label}" value is required (got undefined).`,
|
|
138
|
+
path,
|
|
139
|
+
});
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const expectedType = variableSchema.type;
|
|
143
|
+
const gotType = typeOfValue(variableValue);
|
|
144
|
+
// string — only string allowed
|
|
145
|
+
if (expectedType === "string") {
|
|
36
146
|
if (typeof variableValue !== "string") {
|
|
37
147
|
ctx.addIssue({
|
|
38
148
|
code: zod_1.z.ZodIssueCode.custom,
|
|
39
|
-
message: `
|
|
149
|
+
message: `Variable "${label}" (type string) must be a string; got ${gotType}.`,
|
|
40
150
|
path,
|
|
41
151
|
});
|
|
152
|
+
return;
|
|
42
153
|
}
|
|
43
154
|
if (projectConfig.maxVariableStringLength &&
|
|
44
155
|
variableValue.length > projectConfig.maxVariableStringLength) {
|
|
45
156
|
ctx.addIssue({
|
|
46
157
|
code: zod_1.z.ZodIssueCode.custom,
|
|
47
|
-
message: `Variable "${
|
|
158
|
+
message: `Variable "${label}" value is too long (${variableValue.length} characters), max length is ${projectConfig.maxVariableStringLength}`,
|
|
48
159
|
path,
|
|
49
160
|
});
|
|
50
161
|
}
|
|
51
162
|
return;
|
|
52
163
|
}
|
|
53
|
-
// integer,
|
|
54
|
-
if (
|
|
164
|
+
// integer — only integer number allowed (no NaN, no Infinity, no float)
|
|
165
|
+
if (expectedType === "integer") {
|
|
55
166
|
if (typeof variableValue !== "number") {
|
|
56
167
|
ctx.addIssue({
|
|
57
168
|
code: zod_1.z.ZodIssueCode.custom,
|
|
58
|
-
message: `
|
|
169
|
+
message: `Variable "${label}" (type integer) must be a number; got ${gotType}.`,
|
|
170
|
+
path,
|
|
171
|
+
});
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (!Number.isFinite(variableValue)) {
|
|
175
|
+
ctx.addIssue({
|
|
176
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
177
|
+
message: `Variable "${label}" (type integer) must be a finite number; got ${variableValue}.`,
|
|
178
|
+
path,
|
|
179
|
+
});
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
if (!Number.isInteger(variableValue)) {
|
|
183
|
+
ctx.addIssue({
|
|
184
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
185
|
+
message: `Variable "${label}" (type integer) must be an integer; got ${variableValue}.`,
|
|
59
186
|
path,
|
|
60
187
|
});
|
|
61
188
|
}
|
|
62
189
|
return;
|
|
63
190
|
}
|
|
64
|
-
//
|
|
65
|
-
if (
|
|
66
|
-
if (typeof variableValue !== "
|
|
191
|
+
// double — only finite number allowed
|
|
192
|
+
if (expectedType === "double") {
|
|
193
|
+
if (typeof variableValue !== "number") {
|
|
67
194
|
ctx.addIssue({
|
|
68
195
|
code: zod_1.z.ZodIssueCode.custom,
|
|
69
|
-
message: `
|
|
196
|
+
message: `Variable "${label}" (type double) must be a number; got ${gotType}.`,
|
|
197
|
+
path,
|
|
198
|
+
});
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (!Number.isFinite(variableValue)) {
|
|
202
|
+
ctx.addIssue({
|
|
203
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
204
|
+
message: `Variable "${label}" (type double) must be a finite number; got ${variableValue}.`,
|
|
70
205
|
path,
|
|
71
206
|
});
|
|
72
207
|
}
|
|
73
208
|
return;
|
|
74
209
|
}
|
|
75
|
-
//
|
|
76
|
-
if (
|
|
77
|
-
if (
|
|
210
|
+
// boolean — only boolean allowed
|
|
211
|
+
if (expectedType === "boolean") {
|
|
212
|
+
if (typeof variableValue !== "boolean") {
|
|
78
213
|
ctx.addIssue({
|
|
79
214
|
code: zod_1.z.ZodIssueCode.custom,
|
|
80
|
-
message: `
|
|
215
|
+
message: `Variable "${label}" (type boolean) must be a boolean; got ${gotType}.`,
|
|
81
216
|
path,
|
|
82
217
|
});
|
|
83
218
|
}
|
|
84
|
-
if (projectConfig.maxVariableArrayStringifiedLength) {
|
|
85
|
-
const stringified = JSON.stringify(variableValue);
|
|
86
|
-
if (stringified.length > projectConfig.maxVariableArrayStringifiedLength) {
|
|
87
|
-
ctx.addIssue({
|
|
88
|
-
code: zod_1.z.ZodIssueCode.custom,
|
|
89
|
-
message: `Variable "${variableSchema.key}" array is too long (${stringified.length} characters), max length is ${projectConfig.maxVariableArrayStringifiedLength}`,
|
|
90
|
-
path,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
219
|
return;
|
|
95
220
|
}
|
|
96
|
-
//
|
|
97
|
-
if (
|
|
98
|
-
if (
|
|
221
|
+
// array — only array allowed; without items schema = array of strings
|
|
222
|
+
if (expectedType === "array") {
|
|
223
|
+
if (!Array.isArray(variableValue)) {
|
|
99
224
|
ctx.addIssue({
|
|
100
225
|
code: zod_1.z.ZodIssueCode.custom,
|
|
101
|
-
message: `
|
|
226
|
+
message: `Variable "${label}" (type array) must be an array; got ${gotType}.`,
|
|
102
227
|
path,
|
|
103
228
|
});
|
|
229
|
+
return;
|
|
104
230
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
231
|
+
refineVariableValueArray(projectConfig, variableSchema, variableValue, path, ctx, variableKey);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// object — only plain object allowed (no null, no array)
|
|
235
|
+
if (expectedType === "object") {
|
|
236
|
+
if (typeof variableValue !== "object" ||
|
|
237
|
+
variableValue === null ||
|
|
238
|
+
Array.isArray(variableValue)) {
|
|
239
|
+
ctx.addIssue({
|
|
240
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
241
|
+
message: `Variable "${label}" (type object) must be a plain object; got ${gotType}.`,
|
|
242
|
+
path,
|
|
243
|
+
});
|
|
244
|
+
return;
|
|
114
245
|
}
|
|
246
|
+
refineVariableValueObject(projectConfig, variableSchema, variableValue, path, ctx, variableKey);
|
|
115
247
|
return;
|
|
116
248
|
}
|
|
117
|
-
// json
|
|
118
|
-
if (
|
|
249
|
+
// json — only string containing valid JSON allowed
|
|
250
|
+
if (expectedType === "json") {
|
|
251
|
+
if (typeof variableValue !== "string") {
|
|
252
|
+
ctx.addIssue({
|
|
253
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
254
|
+
message: `Variable "${label}" (type json) must be a string (JSON string); got ${gotType}.`,
|
|
255
|
+
path,
|
|
256
|
+
});
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
119
259
|
try {
|
|
120
260
|
JSON.parse(variableValue);
|
|
121
261
|
if (projectConfig.maxVariableJSONStringifiedLength) {
|
|
122
|
-
|
|
123
|
-
if (stringified.length > projectConfig.maxVariableJSONStringifiedLength) {
|
|
262
|
+
if (variableValue.length > projectConfig.maxVariableJSONStringifiedLength) {
|
|
124
263
|
ctx.addIssue({
|
|
125
264
|
code: zod_1.z.ZodIssueCode.custom,
|
|
126
|
-
message: `Variable "${
|
|
265
|
+
message: `Variable "${label}" JSON is too long (${variableValue.length} characters), max length is ${projectConfig.maxVariableJSONStringifiedLength}`,
|
|
127
266
|
path,
|
|
128
267
|
});
|
|
129
268
|
}
|
|
@@ -133,12 +272,18 @@ function superRefineVariableValue(projectConfig, variableSchema, variableValue,
|
|
|
133
272
|
catch (e) {
|
|
134
273
|
ctx.addIssue({
|
|
135
274
|
code: zod_1.z.ZodIssueCode.custom,
|
|
136
|
-
message: `
|
|
275
|
+
message: `Variable "${label}" (type json) must be a valid JSON string; parse failed.`,
|
|
137
276
|
path,
|
|
138
277
|
});
|
|
139
278
|
}
|
|
140
279
|
return;
|
|
141
280
|
}
|
|
281
|
+
// Unknown variable type — schema is invalid or unsupported
|
|
282
|
+
ctx.addIssue({
|
|
283
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
284
|
+
message: `Variable "${label}" has unknown or unsupported type "${String(expectedType)}" in variablesSchema.`,
|
|
285
|
+
path,
|
|
286
|
+
});
|
|
142
287
|
}
|
|
143
288
|
function refineForce({ ctx, parsedFeature, // eslint-disable-line
|
|
144
289
|
variableSchemaByKey, variationValues, force, pathPrefix, projectConfig, }) {
|
|
@@ -156,7 +301,7 @@ variableSchemaByKey, variationValues, force, pathPrefix, projectConfig, }) {
|
|
|
156
301
|
// force[n].variables[key]
|
|
157
302
|
if (f.variables) {
|
|
158
303
|
Object.keys(f.variables).forEach((variableKey) => {
|
|
159
|
-
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], f.variables[variableKey], pathPrefix.concat([fN, "variables", variableKey]), ctx);
|
|
304
|
+
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], f.variables[variableKey], pathPrefix.concat([fN, "variables", variableKey]), ctx, variableKey);
|
|
160
305
|
});
|
|
161
306
|
}
|
|
162
307
|
});
|
|
@@ -166,7 +311,7 @@ function refineRules({ ctx, parsedFeature, variableSchemaByKey, variationValues,
|
|
|
166
311
|
// rules[n].variables[key]
|
|
167
312
|
if (rule.variables) {
|
|
168
313
|
Object.keys(rule.variables).forEach((variableKey) => {
|
|
169
|
-
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], rule.variables[variableKey], pathPrefix.concat([ruleN, "variables", variableKey]), ctx);
|
|
314
|
+
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], rule.variables[variableKey], pathPrefix.concat([ruleN, "variables", variableKey]), ctx, variableKey);
|
|
170
315
|
});
|
|
171
316
|
}
|
|
172
317
|
// rules[n].variationWeights
|
|
@@ -222,18 +367,9 @@ function refineRules({ ctx, parsedFeature, variableSchemaByKey, variationValues,
|
|
|
222
367
|
});
|
|
223
368
|
}
|
|
224
369
|
function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttributeKeys, availableSegmentKeys, availableFeatureKeys) {
|
|
370
|
+
const propertyZodSchema = (0, propertySchema_1.getPropertyZodSchema)();
|
|
371
|
+
const variableValueZodSchema = propertySchema_1.valueZodSchema;
|
|
225
372
|
const variationValueZodSchema = zod_1.z.string().min(1);
|
|
226
|
-
const variableValueZodSchema = zod_1.z.union([
|
|
227
|
-
zod_1.z.string(),
|
|
228
|
-
zod_1.z.number(),
|
|
229
|
-
zod_1.z.boolean(),
|
|
230
|
-
zod_1.z.array(zod_1.z.string()),
|
|
231
|
-
zod_1.z.record(zod_1.z.unknown()).refine((value) => {
|
|
232
|
-
return isFlatObject(value);
|
|
233
|
-
}, {
|
|
234
|
-
message: "object is not flat",
|
|
235
|
-
}),
|
|
236
|
-
]);
|
|
237
373
|
const plainGroupSegment = zod_1.z.string().refine((value) => value === "*" || availableSegmentKeys.includes(value), (value) => ({
|
|
238
374
|
message: `Unknown segment key "${value}"`,
|
|
239
375
|
}));
|
|
@@ -358,11 +494,15 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
|
|
|
358
494
|
.record(zod_1.z
|
|
359
495
|
.object({
|
|
360
496
|
deprecated: zod_1.z.boolean().optional(),
|
|
361
|
-
type: zod_1.z.
|
|
497
|
+
type: zod_1.z.union([zod_1.z.literal("json"), propertySchema_1.propertyTypeEnum]),
|
|
498
|
+
// array: when omitted, treated as array of strings
|
|
499
|
+
items: propertyZodSchema.optional(),
|
|
500
|
+
// object: when omitted, treated as flat object (primitive values only)
|
|
501
|
+
properties: zod_1.z.record(propertyZodSchema).optional(),
|
|
362
502
|
description: zod_1.z.string().optional(),
|
|
363
503
|
defaultValue: variableValueZodSchema,
|
|
364
|
-
useDefaultWhenDisabled: zod_1.z.boolean().optional(),
|
|
365
504
|
disabledValue: variableValueZodSchema.optional(),
|
|
505
|
+
useDefaultWhenDisabled: zod_1.z.boolean().optional(),
|
|
366
506
|
})
|
|
367
507
|
.strict())
|
|
368
508
|
.optional(),
|
|
@@ -453,9 +593,11 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
|
|
|
453
593
|
});
|
|
454
594
|
}
|
|
455
595
|
// defaultValue
|
|
456
|
-
superRefineVariableValue(projectConfig, variableSchema, variableSchema.defaultValue, ["variablesSchema", variableKey, "defaultValue"], ctx);
|
|
457
|
-
// disabledValue
|
|
458
|
-
|
|
596
|
+
superRefineVariableValue(projectConfig, variableSchema, variableSchema.defaultValue, ["variablesSchema", variableKey, "defaultValue"], ctx, variableKey);
|
|
597
|
+
// disabledValue (only when present)
|
|
598
|
+
if (variableSchema.disabledValue !== undefined) {
|
|
599
|
+
superRefineVariableValue(projectConfig, variableSchema, variableSchema.disabledValue, ["variablesSchema", variableKey, "disabledValue"], ctx, variableKey);
|
|
600
|
+
}
|
|
459
601
|
});
|
|
460
602
|
// variations
|
|
461
603
|
if (value.variations) {
|
|
@@ -466,7 +608,7 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
|
|
|
466
608
|
// variations[n].variables[key]
|
|
467
609
|
for (const variableKey of Object.keys(variation.variables)) {
|
|
468
610
|
const variableValue = variation.variables[variableKey];
|
|
469
|
-
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], variableValue, ["variations", variationN, "variables", variableKey], ctx);
|
|
611
|
+
superRefineVariableValue(projectConfig, variableSchemaByKey[variableKey], variableValue, ["variations", variationN, "variables", variableKey], ctx, variableKey);
|
|
470
612
|
// variations[n].variableOverrides[n].value
|
|
471
613
|
if (variation.variableOverrides) {
|
|
472
614
|
for (const variableKey of Object.keys(variation.variableOverrides)) {
|
|
@@ -480,7 +622,7 @@ function getFeatureZodSchema(projectConfig, conditionsZodSchema, availableAttrib
|
|
|
480
622
|
variableKey,
|
|
481
623
|
overrideN,
|
|
482
624
|
"value",
|
|
483
|
-
], ctx);
|
|
625
|
+
], ctx, variableKey);
|
|
484
626
|
});
|
|
485
627
|
}
|
|
486
628
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"featureSchema.js","sourceRoot":"","sources":["../../src/linter/featureSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PropertySchema, Value } from "@featurevisor/types";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export declare const valueZodSchema: z.ZodType<Value>;
|
|
4
|
+
export declare const propertyTypeEnum: z.ZodEnum<["boolean", "string", "integer", "double", "object", "array"]>;
|
|
5
|
+
export declare function getPropertyZodSchema(): z.ZodType<PropertySchema, z.ZodTypeDef, PropertySchema>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.propertyTypeEnum = exports.valueZodSchema = void 0;
|
|
4
|
+
exports.getPropertyZodSchema = getPropertyZodSchema;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
// Recursive schema for Value: boolean | string | number | ObjectValue | Value[]
|
|
7
|
+
exports.valueZodSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
8
|
+
zod_1.z.boolean(),
|
|
9
|
+
zod_1.z.string(),
|
|
10
|
+
zod_1.z.number(),
|
|
11
|
+
// | Date // @TODO: support in future
|
|
12
|
+
zod_1.z.record(zod_1.z.string(), exports.valueZodSchema),
|
|
13
|
+
zod_1.z.array(exports.valueZodSchema),
|
|
14
|
+
]));
|
|
15
|
+
// @TODO: support "date" in future
|
|
16
|
+
// @TODO: consider "semver" in future
|
|
17
|
+
// @TODO: consider "url" in future
|
|
18
|
+
exports.propertyTypeEnum = zod_1.z.enum([
|
|
19
|
+
"boolean",
|
|
20
|
+
"string",
|
|
21
|
+
"integer",
|
|
22
|
+
"double",
|
|
23
|
+
"object",
|
|
24
|
+
"array",
|
|
25
|
+
]);
|
|
26
|
+
function getPropertyZodSchema() {
|
|
27
|
+
const propertyZodSchema = zod_1.z.lazy(() => zod_1.z
|
|
28
|
+
.object({
|
|
29
|
+
description: zod_1.z.string().optional(),
|
|
30
|
+
type: exports.propertyTypeEnum.optional(),
|
|
31
|
+
// enum?: Value[]; const?: Value;
|
|
32
|
+
// Numeric: maximum?, minimum?
|
|
33
|
+
// String: maxLength?, minLength?, pattern?
|
|
34
|
+
items: propertyZodSchema.optional(),
|
|
35
|
+
// maxItems?, minItems?, uniqueItems?
|
|
36
|
+
required: zod_1.z.array(zod_1.z.string()).optional(),
|
|
37
|
+
properties: zod_1.z.record(zod_1.z.string(), propertyZodSchema).optional(),
|
|
38
|
+
// Annotations: default?: Value; examples?: Value[];
|
|
39
|
+
})
|
|
40
|
+
.strict());
|
|
41
|
+
return propertyZodSchema;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=propertySchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propertySchema.js","sourceRoot":"","sources":["../../src/linter/propertySchema.ts"],"names":[],"mappings":";;;AA2BA,oDAmBC;AA7CD,6BAAwB;AAExB,gFAAgF;AACnE,QAAA,cAAc,GAAqB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1D,OAAC,CAAC,KAAK,CAAC;IACN,OAAC,CAAC,OAAO,EAAE;IACX,OAAC,CAAC,MAAM,EAAE;IACV,OAAC,CAAC,MAAM,EAAE;IACV,qCAAqC;IACrC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,sBAAc,CAAC;IACpC,OAAC,CAAC,KAAK,CAAC,sBAAc,CAAC;CACxB,CAAC,CACH,CAAC;AAEF,kCAAkC;AAClC,qCAAqC;AACrC,kCAAkC;AACrB,QAAA,gBAAgB,GAAG,OAAC,CAAC,IAAI,CAAC;IACrC,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAEH,SAAgB,oBAAoB;IAClC,MAAM,iBAAiB,GAA8B,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/D,OAAC;SACE,MAAM,CAAC;QACN,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,wBAAgB,CAAC,QAAQ,EAAE;QACjC,iCAAiC;QACjC,8BAA8B;QAC9B,2CAA2C;QAC3C,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACnC,qCAAqC;QACrC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;QAC9D,oDAAoD;KACrD,CAAC;SACD,MAAM,EAAE,CACZ,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Core package of Featurevisor for Node.js usage",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
},
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@featurevisor/sdk": "2.
|
|
44
|
-
"@featurevisor/site": "2.
|
|
45
|
-
"@featurevisor/types": "2.
|
|
43
|
+
"@featurevisor/sdk": "2.10.0",
|
|
44
|
+
"@featurevisor/site": "2.10.0",
|
|
45
|
+
"@featurevisor/types": "2.10.0",
|
|
46
46
|
"axios": "^1.3.4",
|
|
47
47
|
"tar": "^7.5.7",
|
|
48
48
|
"yaml": "^1.10.2",
|
|
49
49
|
"yargs": "^17.7.2",
|
|
50
50
|
"zod": "^3.22.4"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "0cbe15fb45fd08ebd70125f1604ae7fe7e20756a"
|
|
53
53
|
}
|