@featurevisor/core 1.5.1 → 1.6.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.
Files changed (60) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/index.html +1 -1
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  6. package/coverage/lcov-report/lib/builder/index.html +1 -1
  7. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  8. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  9. package/coverage/lcov-report/lib/tester/index.html +1 -1
  10. package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
  11. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  12. package/coverage/lcov-report/src/builder/index.html +1 -1
  13. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  14. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  15. package/coverage/lcov-report/src/tester/index.html +1 -1
  16. package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
  17. package/lib/linter/attributeSchema.d.ts +17 -2
  18. package/lib/linter/attributeSchema.js +13 -11
  19. package/lib/linter/attributeSchema.js.map +1 -1
  20. package/lib/linter/checkPercentageExceedingSlot.d.ts +3 -0
  21. package/lib/linter/checkPercentageExceedingSlot.js +86 -0
  22. package/lib/linter/checkPercentageExceedingSlot.js.map +1 -0
  23. package/lib/linter/conditionSchema.d.ts +2 -2
  24. package/lib/linter/conditionSchema.js +112 -57
  25. package/lib/linter/conditionSchema.js.map +1 -1
  26. package/lib/linter/featureSchema.d.ts +229 -2
  27. package/lib/linter/featureSchema.js +195 -139
  28. package/lib/linter/featureSchema.js.map +1 -1
  29. package/lib/linter/groupSchema.d.ts +32 -2
  30. package/lib/linter/groupSchema.js +28 -97
  31. package/lib/linter/groupSchema.js.map +1 -1
  32. package/lib/linter/lintProject.js +169 -118
  33. package/lib/linter/lintProject.js.map +1 -1
  34. package/lib/linter/printError.d.ts +2 -0
  35. package/lib/linter/printError.js +20 -0
  36. package/lib/linter/printError.js.map +1 -0
  37. package/lib/linter/segmentSchema.d.ts +14 -2
  38. package/lib/linter/segmentSchema.js +12 -10
  39. package/lib/linter/segmentSchema.js.map +1 -1
  40. package/lib/linter/testSchema.d.ts +90 -2
  41. package/lib/linter/testSchema.js +49 -38
  42. package/lib/linter/testSchema.js.map +1 -1
  43. package/lib/tester/cliFormat.d.ts +1 -0
  44. package/lib/tester/cliFormat.js +2 -1
  45. package/lib/tester/cliFormat.js.map +1 -1
  46. package/package.json +4 -4
  47. package/src/linter/attributeSchema.ts +11 -9
  48. package/src/linter/checkPercentageExceedingSlot.ts +41 -0
  49. package/src/linter/conditionSchema.ts +120 -97
  50. package/src/linter/featureSchema.ts +241 -177
  51. package/src/linter/groupSchema.ts +38 -54
  52. package/src/linter/lintProject.ts +144 -62
  53. package/src/linter/printError.ts +21 -0
  54. package/src/linter/segmentSchema.ts +10 -8
  55. package/src/linter/testSchema.ts +67 -50
  56. package/src/tester/cliFormat.ts +1 -0
  57. package/lib/linter/printJoiError.d.ts +0 -2
  58. package/lib/linter/printJoiError.js +0 -14
  59. package/lib/linter/printJoiError.js.map +0 -1
  60. package/src/linter/printJoiError.ts +0 -11
@@ -38,7 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.lintProject = void 0;
40
40
  // for use in node only
41
- var Joi = require("joi");
41
+ var path = require("path");
42
42
  var attributeSchema_1 = require("./attributeSchema");
43
43
  var conditionSchema_1 = require("./conditionSchema");
44
44
  var segmentSchema_1 = require("./segmentSchema");
@@ -46,10 +46,39 @@ var groupSchema_1 = require("./groupSchema");
46
46
  var featureSchema_1 = require("./featureSchema");
47
47
  var testSchema_1 = require("./testSchema");
48
48
  var checkCircularDependency_1 = require("./checkCircularDependency");
49
- var printJoiError_1 = require("./printJoiError");
49
+ var checkPercentageExceedingSlot_1 = require("./checkPercentageExceedingSlot");
50
+ var printError_1 = require("./printError");
51
+ var cliFormat_1 = require("../tester/cliFormat");
50
52
  function lintProject(deps) {
51
53
  return __awaiter(this, void 0, void 0, function () {
52
- var projectConfig, datasource, hasError, availableAttributeKeys, availableSegmentKeys, availableFeatureKeys, attributes, attributeJoiSchema, _i, attributes_1, key, parsed, e_1, segments, conditionsJoiSchema, segmentJoiSchema, _a, segments_1, key, parsed, e_2, features, featureJoiSchema, _b, features_1, key, parsed, e_3, e_4, groups, groupJoiSchema, _c, groups_1, key, parsed, e_5, tests, testsJoiSchema, _d, tests_1, key, parsed, e_6;
54
+ function getFullPathFromKey(type, key, relative) {
55
+ if (relative === void 0) { relative = false; }
56
+ var fileName = "".concat(key, ".").concat(datasource.getExtension());
57
+ var fullPath = "";
58
+ if (type === "attribute") {
59
+ fullPath = path.join(projectConfig.attributesDirectoryPath, fileName);
60
+ }
61
+ else if (type === "segment") {
62
+ fullPath = path.join(projectConfig.segmentsDirectoryPath, fileName);
63
+ }
64
+ else if (type === "feature") {
65
+ fullPath = path.join(projectConfig.featuresDirectoryPath, fileName);
66
+ }
67
+ else if (type === "group") {
68
+ fullPath = path.join(projectConfig.groupsDirectoryPath, fileName);
69
+ }
70
+ else if (type === "test") {
71
+ fullPath = path.join(projectConfig.testsDirectoryPath, fileName);
72
+ }
73
+ else {
74
+ throw new Error("Unknown type: ".concat(type));
75
+ }
76
+ if (relative) {
77
+ fullPath = path.relative(process.cwd(), fullPath);
78
+ }
79
+ return fullPath;
80
+ }
81
+ var projectConfig, datasource, hasError, availableAttributeKeys, availableSegmentKeys, availableFeatureKeys, attributes, attributeZodSchema, _i, attributes_1, key, fullPath, parsed, result, e_1, segments, conditionsZodSchema, segmentZodSchema, _a, segments_1, key, fullPath, parsed, result, e_2, features, featureZodSchema, _b, features_1, key, fullPath, parsed, result, e_3, e_4, groups, groupZodSchema, _c, groups_1, key, fullPath, parsed, result, e_5, e_6, tests, testsZodSchema, _d, tests_1, key, fullPath, parsed, result, e_7;
53
82
  return __generator(this, function (_e) {
54
83
  switch (_e.label) {
55
84
  case 0:
@@ -62,198 +91,220 @@ function lintProject(deps) {
62
91
  case 1:
63
92
  attributes = _e.sent();
64
93
  console.log("Linting ".concat(attributes.length, " attributes...\n"));
65
- attributeJoiSchema = (0, attributeSchema_1.getAttributeJoiSchema)();
94
+ attributeZodSchema = (0, attributeSchema_1.getAttributeZodSchema)();
66
95
  _i = 0, attributes_1 = attributes;
67
96
  _e.label = 2;
68
97
  case 2:
69
- if (!(_i < attributes_1.length)) return [3 /*break*/, 8];
98
+ if (!(_i < attributes_1.length)) return [3 /*break*/, 7];
70
99
  key = attributes_1[_i];
100
+ fullPath = getFullPathFromKey("attribute", key);
71
101
  _e.label = 3;
72
102
  case 3:
73
- _e.trys.push([3, 6, , 7]);
103
+ _e.trys.push([3, 5, , 6]);
74
104
  return [4 /*yield*/, datasource.readAttribute(key)];
75
105
  case 4:
76
106
  parsed = _e.sent();
77
107
  availableAttributeKeys.push(key);
78
- return [4 /*yield*/, attributeJoiSchema.validateAsync(parsed)];
108
+ result = attributeZodSchema.safeParse(parsed);
109
+ if (!result.success) {
110
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
111
+ if ("error" in result) {
112
+ (0, printError_1.printZodError)(result.error);
113
+ }
114
+ hasError = true;
115
+ }
116
+ return [3 /*break*/, 6];
79
117
  case 5:
80
- _e.sent();
81
- return [3 /*break*/, 7];
82
- case 6:
83
118
  e_1 = _e.sent();
84
- console.log(" =>", key);
119
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
85
120
  console.log("");
86
- if (e_1 instanceof Joi.ValidationError) {
87
- (0, printJoiError_1.printJoiError)(e_1);
88
- }
89
- else {
90
- console.log(e_1);
91
- }
121
+ console.log(e_1);
92
122
  hasError = true;
93
- return [3 /*break*/, 7];
94
- case 7:
123
+ return [3 /*break*/, 6];
124
+ case 6:
95
125
  _i++;
96
126
  return [3 /*break*/, 2];
97
- case 8: return [4 /*yield*/, datasource.listSegments()];
98
- case 9:
127
+ case 7: return [4 /*yield*/, datasource.listSegments()];
128
+ case 8:
99
129
  segments = _e.sent();
100
130
  console.log("\nLinting ".concat(segments.length, " segments...\n"));
101
- conditionsJoiSchema = (0, conditionSchema_1.getConditionsJoiSchema)(projectConfig, availableAttributeKeys);
102
- segmentJoiSchema = (0, segmentSchema_1.getSegmentJoiSchema)(projectConfig, conditionsJoiSchema);
131
+ conditionsZodSchema = (0, conditionSchema_1.getConditionsZodSchema)(projectConfig, availableAttributeKeys);
132
+ segmentZodSchema = (0, segmentSchema_1.getSegmentZodSchema)(projectConfig, conditionsZodSchema);
103
133
  _a = 0, segments_1 = segments;
134
+ _e.label = 9;
135
+ case 9:
136
+ if (!(_a < segments_1.length)) return [3 /*break*/, 14];
137
+ key = segments_1[_a];
138
+ fullPath = getFullPathFromKey("segment", key);
104
139
  _e.label = 10;
105
140
  case 10:
106
- if (!(_a < segments_1.length)) return [3 /*break*/, 16];
107
- key = segments_1[_a];
108
- _e.label = 11;
109
- case 11:
110
- _e.trys.push([11, 14, , 15]);
141
+ _e.trys.push([10, 12, , 13]);
111
142
  return [4 /*yield*/, datasource.readSegment(key)];
112
- case 12:
143
+ case 11:
113
144
  parsed = _e.sent();
114
145
  availableSegmentKeys.push(key);
115
- return [4 /*yield*/, segmentJoiSchema.validateAsync(parsed)];
116
- case 13:
117
- _e.sent();
118
- return [3 /*break*/, 15];
119
- case 14:
146
+ result = segmentZodSchema.safeParse(parsed);
147
+ if (!result.success) {
148
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
149
+ if ("error" in result) {
150
+ (0, printError_1.printZodError)(result.error);
151
+ }
152
+ hasError = true;
153
+ }
154
+ return [3 /*break*/, 13];
155
+ case 12:
120
156
  e_2 = _e.sent();
121
- console.log(" =>", key);
157
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
122
158
  console.log("");
123
- if (e_2 instanceof Joi.ValidationError) {
124
- (0, printJoiError_1.printJoiError)(e_2);
125
- }
126
- else {
127
- console.log(e_2);
128
- }
159
+ console.log(e_2);
129
160
  hasError = true;
130
- return [3 /*break*/, 15];
131
- case 15:
161
+ return [3 /*break*/, 13];
162
+ case 13:
132
163
  _a++;
133
- return [3 /*break*/, 10];
134
- case 16: return [4 /*yield*/, datasource.listFeatures()];
135
- case 17:
164
+ return [3 /*break*/, 9];
165
+ case 14: return [4 /*yield*/, datasource.listFeatures()];
166
+ case 15:
136
167
  features = _e.sent();
137
168
  console.log("\nLinting ".concat(features.length, " features...\n"));
138
- featureJoiSchema = (0, featureSchema_1.getFeatureJoiSchema)(projectConfig, conditionsJoiSchema, availableSegmentKeys, availableFeatureKeys);
169
+ featureZodSchema = (0, featureSchema_1.getFeatureZodSchema)(projectConfig, conditionsZodSchema, availableAttributeKeys, availableSegmentKeys, features);
139
170
  _b = 0, features_1 = features;
140
- _e.label = 18;
141
- case 18:
142
- if (!(_b < features_1.length)) return [3 /*break*/, 28];
171
+ _e.label = 16;
172
+ case 16:
173
+ if (!(_b < features_1.length)) return [3 /*break*/, 25];
143
174
  key = features_1[_b];
175
+ fullPath = getFullPathFromKey("feature", key);
144
176
  parsed = void 0;
145
- _e.label = 19;
146
- case 19:
147
- _e.trys.push([19, 22, , 23]);
177
+ _e.label = 17;
178
+ case 17:
179
+ _e.trys.push([17, 19, , 20]);
148
180
  return [4 /*yield*/, datasource.readFeature(key)];
149
- case 20:
181
+ case 18:
150
182
  parsed = _e.sent();
151
183
  availableFeatureKeys.push(key);
152
- return [4 /*yield*/, featureJoiSchema.validateAsync(parsed)];
153
- case 21:
154
- _e.sent();
155
- return [3 /*break*/, 23];
156
- case 22:
184
+ result = featureZodSchema.safeParse(parsed);
185
+ if (!result.success) {
186
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
187
+ if ("error" in result) {
188
+ (0, printError_1.printZodError)(result.error);
189
+ }
190
+ hasError = true;
191
+ }
192
+ return [3 /*break*/, 20];
193
+ case 19:
157
194
  e_3 = _e.sent();
158
- console.log(" =>", key);
195
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
159
196
  console.log("");
160
- if (e_3 instanceof Joi.ValidationError) {
161
- (0, printJoiError_1.printJoiError)(e_3);
162
- }
163
- else {
164
- console.log(e_3);
165
- }
197
+ console.log(e_3);
166
198
  hasError = true;
167
- return [3 /*break*/, 23];
168
- case 23:
169
- if (!(parsed && parsed.required)) return [3 /*break*/, 27];
170
- _e.label = 24;
171
- case 24:
172
- _e.trys.push([24, 26, , 27]);
199
+ return [3 /*break*/, 20];
200
+ case 20:
201
+ if (!(parsed && parsed.required)) return [3 /*break*/, 24];
202
+ _e.label = 21;
203
+ case 21:
204
+ _e.trys.push([21, 23, , 24]);
173
205
  return [4 /*yield*/, (0, checkCircularDependency_1.checkForCircularDependencyInRequired)(datasource, key, parsed.required)];
174
- case 25:
206
+ case 22:
175
207
  _e.sent();
176
- return [3 /*break*/, 27];
177
- case 26:
208
+ return [3 /*break*/, 24];
209
+ case 23:
178
210
  e_4 = _e.sent();
179
- console.log(" =>", key);
180
- console.log(" => Error:", e_4.message);
211
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
212
+ console.log(cliFormat_1.CLI_FORMAT_RED, " => Error: ".concat(e_4.message));
181
213
  hasError = true;
182
- return [3 /*break*/, 27];
183
- case 27:
214
+ return [3 /*break*/, 24];
215
+ case 24:
184
216
  _b++;
185
- return [3 /*break*/, 18];
186
- case 28: return [4 /*yield*/, datasource.listGroups()];
187
- case 29:
217
+ return [3 /*break*/, 16];
218
+ case 25: return [4 /*yield*/, datasource.listGroups()];
219
+ case 26:
188
220
  groups = _e.sent();
189
221
  console.log("\nLinting ".concat(groups.length, " groups...\n"));
190
- groupJoiSchema = (0, groupSchema_1.getGroupJoiSchema)(projectConfig, datasource, availableFeatureKeys);
222
+ groupZodSchema = (0, groupSchema_1.getGroupZodSchema)(projectConfig, datasource, availableFeatureKeys);
191
223
  _c = 0, groups_1 = groups;
192
- _e.label = 30;
193
- case 30:
224
+ _e.label = 27;
225
+ case 27:
194
226
  if (!(_c < groups_1.length)) return [3 /*break*/, 36];
195
227
  key = groups_1[_c];
196
- _e.label = 31;
197
- case 31:
198
- _e.trys.push([31, 34, , 35]);
228
+ fullPath = getFullPathFromKey("group", key);
229
+ parsed = void 0;
230
+ _e.label = 28;
231
+ case 28:
232
+ _e.trys.push([28, 30, , 31]);
199
233
  return [4 /*yield*/, datasource.readGroup(key)];
200
- case 32:
234
+ case 29:
201
235
  parsed = _e.sent();
202
- return [4 /*yield*/, groupJoiSchema.validateAsync(parsed)];
236
+ result = groupZodSchema.safeParse(parsed);
237
+ if (!result.success) {
238
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
239
+ if ("error" in result) {
240
+ (0, printError_1.printZodError)(result.error);
241
+ }
242
+ hasError = true;
243
+ }
244
+ return [3 /*break*/, 31];
245
+ case 30:
246
+ e_5 = _e.sent();
247
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
248
+ console.log("");
249
+ console.log(e_5);
250
+ hasError = true;
251
+ return [3 /*break*/, 31];
252
+ case 31:
253
+ if (!parsed) return [3 /*break*/, 35];
254
+ _e.label = 32;
255
+ case 32:
256
+ _e.trys.push([32, 34, , 35]);
257
+ return [4 /*yield*/, (0, checkPercentageExceedingSlot_1.checkForFeatureExceedingGroupSlotPercentage)(datasource, parsed, availableFeatureKeys)];
203
258
  case 33:
204
259
  _e.sent();
205
260
  return [3 /*break*/, 35];
206
261
  case 34:
207
- e_5 = _e.sent();
208
- console.log(" =>", key);
209
- console.log("");
210
- if (e_5 instanceof Joi.ValidationError) {
211
- (0, printJoiError_1.printJoiError)(e_5);
212
- }
213
- else {
214
- console.log(e_5);
215
- }
262
+ e_6 = _e.sent();
263
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
264
+ console.log(cliFormat_1.CLI_FORMAT_RED, " => Error: ".concat(e_6.message));
216
265
  hasError = true;
217
266
  return [3 /*break*/, 35];
218
267
  case 35:
219
268
  _c++;
220
- return [3 /*break*/, 30];
269
+ return [3 /*break*/, 27];
221
270
  case 36: return [4 /*yield*/, datasource.listTests()];
222
271
  case 37:
223
272
  tests = _e.sent();
224
273
  console.log("\nLinting ".concat(tests.length, " tests...\n"));
225
- testsJoiSchema = (0, testSchema_1.getTestsJoiSchema)(projectConfig, availableFeatureKeys, availableSegmentKeys);
274
+ testsZodSchema = (0, testSchema_1.getTestsZodSchema)(projectConfig, availableFeatureKeys, availableSegmentKeys);
226
275
  _d = 0, tests_1 = tests;
227
276
  _e.label = 38;
228
277
  case 38:
229
- if (!(_d < tests_1.length)) return [3 /*break*/, 44];
278
+ if (!(_d < tests_1.length)) return [3 /*break*/, 43];
230
279
  key = tests_1[_d];
280
+ fullPath = getFullPathFromKey("test", key);
231
281
  _e.label = 39;
232
282
  case 39:
233
- _e.trys.push([39, 42, , 43]);
283
+ _e.trys.push([39, 41, , 42]);
234
284
  return [4 /*yield*/, datasource.readTest(key)];
235
285
  case 40:
236
286
  parsed = _e.sent();
237
- return [4 /*yield*/, testsJoiSchema.validateAsync(parsed)];
287
+ result = testsZodSchema.safeParse(parsed);
288
+ if (!result.success) {
289
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
290
+ if ("error" in result) {
291
+ (0, printError_1.printZodError)(result.error);
292
+ process.exit(1);
293
+ }
294
+ hasError = true;
295
+ }
296
+ return [3 /*break*/, 42];
238
297
  case 41:
239
- _e.sent();
240
- return [3 /*break*/, 43];
241
- case 42:
242
- e_6 = _e.sent();
243
- console.log(" =>", key);
298
+ e_7 = _e.sent();
299
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
244
300
  console.log("");
245
- if (e_6 instanceof Joi.ValidationError) {
246
- (0, printJoiError_1.printJoiError)(e_6);
247
- }
248
- else {
249
- console.log(e_6);
250
- }
301
+ console.log(e_7);
251
302
  hasError = true;
252
- return [3 /*break*/, 43];
253
- case 43:
303
+ return [3 /*break*/, 42];
304
+ case 42:
254
305
  _d++;
255
306
  return [3 /*break*/, 38];
256
- case 44: return [2 /*return*/, hasError];
307
+ case 43: return [2 /*return*/, hasError];
257
308
  }
258
309
  });
259
310
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ZodError } from "zod";
2
+ export declare function printZodError(e: ZodError): void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printZodError = void 0;
4
+ var cliFormat_1 = require("../tester/cliFormat");
5
+ function printZodError(e) {
6
+ var issues = e.issues;
7
+ issues.forEach(function (issue) {
8
+ console.error(cliFormat_1.CLI_FORMAT_RED, " => Error: ".concat(issue.message));
9
+ console.error(" Path:", issue.path.join("."));
10
+ var receivedValue = issue.received;
11
+ if (typeof receivedValue !== "undefined" && receivedValue !== "undefined") {
12
+ console.error(" Value:", receivedValue);
13
+ }
14
+ if (issues.length > 1) {
15
+ console.error("");
16
+ }
17
+ });
18
+ }
19
+ exports.printZodError = printZodError;
20
+ //# sourceMappingURL=printError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printError.js","sourceRoot":"","sources":["../../src/linter/printError.ts"],"names":[],"mappings":";;;AAEA,iDAAqD;AAErD,SAAgB,aAAa,CAAC,CAAW;IAC/B,IAAA,MAAM,GAAK,CAAC,OAAN,CAAO;IAErB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QACnB,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,sBAAe,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAElD,IAAM,aAAa,GAAI,KAAa,CAAC,QAAQ,CAAC;QAC9C,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE;YACzE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;SAC7C;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACnB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,sCAgBC"}
@@ -1,3 +1,15 @@
1
- import * as Joi from "joi";
1
+ import { z } from "zod";
2
2
  import { ProjectConfig } from "../config";
3
- export declare function getSegmentJoiSchema(projectConfig: ProjectConfig, conditionsJoiSchema: any): Joi.ObjectSchema<any>;
3
+ export declare function getSegmentZodSchema(projectConfig: ProjectConfig, conditionsZodSchema: any): z.ZodObject<{
4
+ archived: z.ZodOptional<z.ZodBoolean>;
5
+ description: z.ZodString;
6
+ conditions: any;
7
+ }, "strict", z.ZodTypeAny, {
8
+ archived?: boolean;
9
+ description?: string;
10
+ conditions?: any;
11
+ }, {
12
+ archived?: boolean;
13
+ description?: string;
14
+ conditions?: any;
15
+ }>;
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSegmentJoiSchema = void 0;
4
- var Joi = require("joi");
5
- function getSegmentJoiSchema(projectConfig, conditionsJoiSchema) {
6
- var segmentJoiSchema = Joi.object({
7
- archived: Joi.boolean().optional(),
8
- description: Joi.string().required(),
9
- conditions: conditionsJoiSchema.required(),
10
- });
11
- return segmentJoiSchema;
3
+ exports.getSegmentZodSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ function getSegmentZodSchema(projectConfig, conditionsZodSchema) {
6
+ var segmentZodSchema = zod_1.z
7
+ .object({
8
+ archived: zod_1.z.boolean().optional(),
9
+ description: zod_1.z.string(),
10
+ conditions: conditionsZodSchema,
11
+ })
12
+ .strict();
13
+ return segmentZodSchema;
12
14
  }
13
- exports.getSegmentJoiSchema = getSegmentJoiSchema;
15
+ exports.getSegmentZodSchema = getSegmentZodSchema;
14
16
  //# sourceMappingURL=segmentSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentSchema.js","sourceRoot":"","sources":["../../src/linter/segmentSchema.ts"],"names":[],"mappings":";;;AAAA,yBAA2B;AAI3B,SAAgB,mBAAmB,CAAC,aAA4B,EAAE,mBAAmB;IACnF,IAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE;KAC3C,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AARD,kDAQC"}
1
+ {"version":3,"file":"segmentSchema.js","sourceRoot":"","sources":["../../src/linter/segmentSchema.ts"],"names":[],"mappings":";;;AAAA,2BAAwB;AAIxB,SAAgB,mBAAmB,CAAC,aAA4B,EAAE,mBAAmB;IACnF,IAAM,gBAAgB,GAAG,OAAC;SACvB,MAAM,CAAC;QACN,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;QACvB,UAAU,EAAE,mBAAmB;KAChC,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAVD,kDAUC"}
@@ -1,3 +1,91 @@
1
- import * as Joi from "joi";
1
+ import { z } from "zod";
2
2
  import { ProjectConfig } from "../config";
3
- export declare function getTestsJoiSchema(projectConfig: ProjectConfig, availableFeatureKeys: string[], availableSegmentKeys: string[]): Joi.AlternativesSchema<any>;
3
+ export declare function getTestsZodSchema(projectConfig: ProjectConfig, availableFeatureKeys: [string, ...string[]], availableSegmentKeys: [string, ...string[]]): z.ZodUnion<[z.ZodObject<{
4
+ segment: z.ZodEffects<z.ZodString, string, string>;
5
+ assertions: z.ZodArray<z.ZodObject<{
6
+ matrix: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ context: z.ZodRecord<z.ZodString, z.ZodUnknown>;
9
+ expectedToMatch: z.ZodBoolean;
10
+ }, "strict", z.ZodTypeAny, {
11
+ matrix?: Record<string, unknown>;
12
+ description?: string;
13
+ context?: Record<string, unknown>;
14
+ expectedToMatch?: boolean;
15
+ }, {
16
+ matrix?: Record<string, unknown>;
17
+ description?: string;
18
+ context?: Record<string, unknown>;
19
+ expectedToMatch?: boolean;
20
+ }>, "many">;
21
+ }, "strict", z.ZodTypeAny, {
22
+ segment?: string;
23
+ assertions?: {
24
+ matrix?: Record<string, unknown>;
25
+ description?: string;
26
+ context?: Record<string, unknown>;
27
+ expectedToMatch?: boolean;
28
+ }[];
29
+ }, {
30
+ segment?: string;
31
+ assertions?: {
32
+ matrix?: Record<string, unknown>;
33
+ description?: string;
34
+ context?: Record<string, unknown>;
35
+ expectedToMatch?: boolean;
36
+ }[];
37
+ }>, z.ZodObject<{
38
+ feature: z.ZodEffects<z.ZodString, string, string>;
39
+ assertions: z.ZodArray<z.ZodObject<{
40
+ matrix: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ description: z.ZodOptional<z.ZodString>;
42
+ at: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
43
+ environment: z.ZodEffects<z.ZodString, string, string>;
44
+ context: z.ZodRecord<z.ZodString, z.ZodUnknown>;
45
+ expectedToBeEnabled: z.ZodBoolean;
46
+ expectedVariation: z.ZodOptional<z.ZodString>;
47
+ expectedVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
48
+ }, "strict", z.ZodTypeAny, {
49
+ matrix?: Record<string, unknown>;
50
+ description?: string;
51
+ at?: string | number;
52
+ environment?: string;
53
+ context?: Record<string, unknown>;
54
+ expectedToBeEnabled?: boolean;
55
+ expectedVariation?: string;
56
+ expectedVariables?: Record<string, unknown>;
57
+ }, {
58
+ matrix?: Record<string, unknown>;
59
+ description?: string;
60
+ at?: string | number;
61
+ environment?: string;
62
+ context?: Record<string, unknown>;
63
+ expectedToBeEnabled?: boolean;
64
+ expectedVariation?: string;
65
+ expectedVariables?: Record<string, unknown>;
66
+ }>, "many">;
67
+ }, "strict", z.ZodTypeAny, {
68
+ feature?: string;
69
+ assertions?: {
70
+ matrix?: Record<string, unknown>;
71
+ description?: string;
72
+ at?: string | number;
73
+ environment?: string;
74
+ context?: Record<string, unknown>;
75
+ expectedToBeEnabled?: boolean;
76
+ expectedVariation?: string;
77
+ expectedVariables?: Record<string, unknown>;
78
+ }[];
79
+ }, {
80
+ feature?: string;
81
+ assertions?: {
82
+ matrix?: Record<string, unknown>;
83
+ description?: string;
84
+ at?: string | number;
85
+ environment?: string;
86
+ context?: Record<string, unknown>;
87
+ expectedToBeEnabled?: boolean;
88
+ expectedVariation?: string;
89
+ expectedVariables?: Record<string, unknown>;
90
+ }[];
91
+ }>]>;