@featurevisor/core 1.5.1 → 1.7.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 (61) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +22 -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.d.ts +5 -1
  33. package/lib/linter/lintProject.js +213 -139
  34. package/lib/linter/lintProject.js.map +1 -1
  35. package/lib/linter/printError.d.ts +2 -0
  36. package/lib/linter/printError.js +20 -0
  37. package/lib/linter/printError.js.map +1 -0
  38. package/lib/linter/segmentSchema.d.ts +14 -2
  39. package/lib/linter/segmentSchema.js +12 -10
  40. package/lib/linter/segmentSchema.js.map +1 -1
  41. package/lib/linter/testSchema.d.ts +90 -2
  42. package/lib/linter/testSchema.js +49 -38
  43. package/lib/linter/testSchema.js.map +1 -1
  44. package/lib/tester/cliFormat.d.ts +1 -0
  45. package/lib/tester/cliFormat.js +2 -1
  46. package/lib/tester/cliFormat.js.map +1 -1
  47. package/package.json +4 -4
  48. package/src/linter/attributeSchema.ts +11 -9
  49. package/src/linter/checkPercentageExceedingSlot.ts +41 -0
  50. package/src/linter/conditionSchema.ts +120 -97
  51. package/src/linter/featureSchema.ts +241 -177
  52. package/src/linter/groupSchema.ts +38 -54
  53. package/src/linter/lintProject.ts +233 -110
  54. package/src/linter/printError.ts +21 -0
  55. package/src/linter/segmentSchema.ts +10 -8
  56. package/src/linter/testSchema.ts +67 -50
  57. package/src/tester/cliFormat.ts +1 -0
  58. package/lib/linter/printJoiError.d.ts +0 -2
  59. package/lib/linter/printJoiError.js +0 -14
  60. package/lib/linter/printJoiError.js.map +0 -1
  61. 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,214 +46,288 @@ 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");
50
- function lintProject(deps) {
49
+ var checkPercentageExceedingSlot_1 = require("./checkPercentageExceedingSlot");
50
+ var printError_1 = require("./printError");
51
+ var cliFormat_1 = require("../tester/cliFormat");
52
+ function lintProject(deps, options) {
53
+ if (options === void 0) { options = {}; }
51
54
  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;
55
+ function getFullPathFromKey(type, key, relative) {
56
+ if (relative === void 0) { relative = false; }
57
+ var fileName = "".concat(key, ".").concat(datasource.getExtension());
58
+ var fullPath = "";
59
+ if (type === "attribute") {
60
+ fullPath = path.join(projectConfig.attributesDirectoryPath, fileName);
61
+ }
62
+ else if (type === "segment") {
63
+ fullPath = path.join(projectConfig.segmentsDirectoryPath, fileName);
64
+ }
65
+ else if (type === "feature") {
66
+ fullPath = path.join(projectConfig.featuresDirectoryPath, fileName);
67
+ }
68
+ else if (type === "group") {
69
+ fullPath = path.join(projectConfig.groupsDirectoryPath, fileName);
70
+ }
71
+ else if (type === "test") {
72
+ fullPath = path.join(projectConfig.testsDirectoryPath, fileName);
73
+ }
74
+ else {
75
+ throw new Error("Unknown type: ".concat(type));
76
+ }
77
+ if (relative) {
78
+ fullPath = path.relative(process.cwd(), fullPath);
79
+ }
80
+ return fullPath;
81
+ }
82
+ var projectConfig, datasource, hasError, keyPattern, attributes, attributeZodSchema, filteredKeys, _i, filteredKeys_1, key, fullPath, parsed, result, e_1, segments, conditionsZodSchema, segmentZodSchema, filteredKeys, _a, filteredKeys_2, key, fullPath, parsed, result, e_2, features, featureZodSchema, filteredKeys, _b, filteredKeys_3, key, fullPath, parsed, result, e_3, e_4, groups, groupZodSchema, filteredKeys, _c, filteredKeys_4, key, fullPath, parsed, result, e_5, e_6, tests, testsZodSchema, filteredKeys, _d, filteredKeys_5, key, fullPath, parsed, result, e_7;
53
83
  return __generator(this, function (_e) {
54
84
  switch (_e.label) {
55
85
  case 0:
56
86
  projectConfig = deps.projectConfig, datasource = deps.datasource;
57
87
  hasError = false;
58
- availableAttributeKeys = [];
59
- availableSegmentKeys = [];
60
- availableFeatureKeys = [];
88
+ keyPattern = options.keyPattern ? new RegExp(options.keyPattern) : null;
89
+ if (keyPattern) {
90
+ console.log("");
91
+ console.log("Linting only keys matching pattern: ".concat(keyPattern));
92
+ console.log("");
93
+ }
61
94
  return [4 /*yield*/, datasource.listAttributes()];
62
95
  case 1:
63
96
  attributes = _e.sent();
64
- console.log("Linting ".concat(attributes.length, " attributes...\n"));
65
- attributeJoiSchema = (0, attributeSchema_1.getAttributeJoiSchema)();
66
- _i = 0, attributes_1 = attributes;
97
+ attributeZodSchema = (0, attributeSchema_1.getAttributeZodSchema)();
98
+ if (!(!options.entityType || options.entityType === "attribute")) return [3 /*break*/, 7];
99
+ filteredKeys = !keyPattern
100
+ ? attributes
101
+ : attributes.filter(function (key) { return keyPattern.test(key); });
102
+ if (filteredKeys.length > 0) {
103
+ console.log("Linting ".concat(filteredKeys.length, " attributes...\n"));
104
+ }
105
+ _i = 0, filteredKeys_1 = filteredKeys;
67
106
  _e.label = 2;
68
107
  case 2:
69
- if (!(_i < attributes_1.length)) return [3 /*break*/, 8];
70
- key = attributes_1[_i];
108
+ if (!(_i < filteredKeys_1.length)) return [3 /*break*/, 7];
109
+ key = filteredKeys_1[_i];
110
+ fullPath = getFullPathFromKey("attribute", key);
71
111
  _e.label = 3;
72
112
  case 3:
73
- _e.trys.push([3, 6, , 7]);
113
+ _e.trys.push([3, 5, , 6]);
74
114
  return [4 /*yield*/, datasource.readAttribute(key)];
75
115
  case 4:
76
116
  parsed = _e.sent();
77
- availableAttributeKeys.push(key);
78
- return [4 /*yield*/, attributeJoiSchema.validateAsync(parsed)];
117
+ result = attributeZodSchema.safeParse(parsed);
118
+ if (!result.success) {
119
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
120
+ if ("error" in result) {
121
+ (0, printError_1.printZodError)(result.error);
122
+ }
123
+ hasError = true;
124
+ }
125
+ return [3 /*break*/, 6];
79
126
  case 5:
80
- _e.sent();
81
- return [3 /*break*/, 7];
82
- case 6:
83
127
  e_1 = _e.sent();
84
- console.log(" =>", key);
128
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
85
129
  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
- }
130
+ console.log(e_1);
92
131
  hasError = true;
93
- return [3 /*break*/, 7];
94
- case 7:
132
+ return [3 /*break*/, 6];
133
+ case 6:
95
134
  _i++;
96
135
  return [3 /*break*/, 2];
97
- case 8: return [4 /*yield*/, datasource.listSegments()];
98
- case 9:
136
+ case 7: return [4 /*yield*/, datasource.listSegments()];
137
+ case 8:
99
138
  segments = _e.sent();
100
- console.log("\nLinting ".concat(segments.length, " segments...\n"));
101
- conditionsJoiSchema = (0, conditionSchema_1.getConditionsJoiSchema)(projectConfig, availableAttributeKeys);
102
- segmentJoiSchema = (0, segmentSchema_1.getSegmentJoiSchema)(projectConfig, conditionsJoiSchema);
103
- _a = 0, segments_1 = segments;
139
+ conditionsZodSchema = (0, conditionSchema_1.getConditionsZodSchema)(projectConfig, attributes);
140
+ segmentZodSchema = (0, segmentSchema_1.getSegmentZodSchema)(projectConfig, conditionsZodSchema);
141
+ if (!(!options.entityType || options.entityType === "segment")) return [3 /*break*/, 14];
142
+ filteredKeys = !keyPattern ? segments : segments.filter(function (key) { return keyPattern.test(key); });
143
+ if (filteredKeys.length > 0) {
144
+ console.log("Linting ".concat(filteredKeys.length, " segments...\n"));
145
+ }
146
+ _a = 0, filteredKeys_2 = filteredKeys;
147
+ _e.label = 9;
148
+ case 9:
149
+ if (!(_a < filteredKeys_2.length)) return [3 /*break*/, 14];
150
+ key = filteredKeys_2[_a];
151
+ fullPath = getFullPathFromKey("segment", key);
104
152
  _e.label = 10;
105
153
  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]);
154
+ _e.trys.push([10, 12, , 13]);
111
155
  return [4 /*yield*/, datasource.readSegment(key)];
112
- case 12:
156
+ case 11:
113
157
  parsed = _e.sent();
114
- availableSegmentKeys.push(key);
115
- return [4 /*yield*/, segmentJoiSchema.validateAsync(parsed)];
116
- case 13:
117
- _e.sent();
118
- return [3 /*break*/, 15];
119
- case 14:
158
+ result = segmentZodSchema.safeParse(parsed);
159
+ if (!result.success) {
160
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
161
+ if ("error" in result) {
162
+ (0, printError_1.printZodError)(result.error);
163
+ }
164
+ hasError = true;
165
+ }
166
+ return [3 /*break*/, 13];
167
+ case 12:
120
168
  e_2 = _e.sent();
121
- console.log(" =>", key);
169
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
122
170
  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
- }
171
+ console.log(e_2);
129
172
  hasError = true;
130
- return [3 /*break*/, 15];
131
- case 15:
173
+ return [3 /*break*/, 13];
174
+ case 13:
132
175
  _a++;
133
- return [3 /*break*/, 10];
134
- case 16: return [4 /*yield*/, datasource.listFeatures()];
135
- case 17:
176
+ return [3 /*break*/, 9];
177
+ case 14: return [4 /*yield*/, datasource.listFeatures()];
178
+ case 15:
136
179
  features = _e.sent();
137
- console.log("\nLinting ".concat(features.length, " features...\n"));
138
- featureJoiSchema = (0, featureSchema_1.getFeatureJoiSchema)(projectConfig, conditionsJoiSchema, availableSegmentKeys, availableFeatureKeys);
139
- _b = 0, features_1 = features;
140
- _e.label = 18;
141
- case 18:
142
- if (!(_b < features_1.length)) return [3 /*break*/, 28];
143
- key = features_1[_b];
180
+ featureZodSchema = (0, featureSchema_1.getFeatureZodSchema)(projectConfig, conditionsZodSchema, attributes, segments, features);
181
+ if (!(!options.entityType || options.entityType === "feature")) return [3 /*break*/, 25];
182
+ filteredKeys = !keyPattern ? features : features.filter(function (key) { return keyPattern.test(key); });
183
+ if (filteredKeys.length > 0) {
184
+ console.log("Linting ".concat(filteredKeys.length, " features...\n"));
185
+ }
186
+ _b = 0, filteredKeys_3 = filteredKeys;
187
+ _e.label = 16;
188
+ case 16:
189
+ if (!(_b < filteredKeys_3.length)) return [3 /*break*/, 25];
190
+ key = filteredKeys_3[_b];
191
+ fullPath = getFullPathFromKey("feature", key);
144
192
  parsed = void 0;
145
- _e.label = 19;
146
- case 19:
147
- _e.trys.push([19, 22, , 23]);
193
+ _e.label = 17;
194
+ case 17:
195
+ _e.trys.push([17, 19, , 20]);
148
196
  return [4 /*yield*/, datasource.readFeature(key)];
149
- case 20:
197
+ case 18:
150
198
  parsed = _e.sent();
151
- availableFeatureKeys.push(key);
152
- return [4 /*yield*/, featureJoiSchema.validateAsync(parsed)];
153
- case 21:
154
- _e.sent();
155
- return [3 /*break*/, 23];
156
- case 22:
199
+ result = featureZodSchema.safeParse(parsed);
200
+ if (!result.success) {
201
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
202
+ if ("error" in result) {
203
+ (0, printError_1.printZodError)(result.error);
204
+ }
205
+ hasError = true;
206
+ }
207
+ return [3 /*break*/, 20];
208
+ case 19:
157
209
  e_3 = _e.sent();
158
- console.log(" =>", key);
210
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
159
211
  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
- }
212
+ console.log(e_3);
166
213
  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]);
214
+ return [3 /*break*/, 20];
215
+ case 20:
216
+ if (!(parsed && parsed.required)) return [3 /*break*/, 24];
217
+ _e.label = 21;
218
+ case 21:
219
+ _e.trys.push([21, 23, , 24]);
173
220
  return [4 /*yield*/, (0, checkCircularDependency_1.checkForCircularDependencyInRequired)(datasource, key, parsed.required)];
174
- case 25:
221
+ case 22:
175
222
  _e.sent();
176
- return [3 /*break*/, 27];
177
- case 26:
223
+ return [3 /*break*/, 24];
224
+ case 23:
178
225
  e_4 = _e.sent();
179
- console.log(" =>", key);
180
- console.log(" => Error:", e_4.message);
226
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
227
+ console.log(cliFormat_1.CLI_FORMAT_RED, " => Error: ".concat(e_4.message));
181
228
  hasError = true;
182
- return [3 /*break*/, 27];
183
- case 27:
229
+ return [3 /*break*/, 24];
230
+ case 24:
184
231
  _b++;
185
- return [3 /*break*/, 18];
186
- case 28: return [4 /*yield*/, datasource.listGroups()];
187
- case 29:
232
+ return [3 /*break*/, 16];
233
+ case 25: return [4 /*yield*/, datasource.listGroups()];
234
+ case 26:
188
235
  groups = _e.sent();
189
- console.log("\nLinting ".concat(groups.length, " groups...\n"));
190
- groupJoiSchema = (0, groupSchema_1.getGroupJoiSchema)(projectConfig, datasource, availableFeatureKeys);
191
- _c = 0, groups_1 = groups;
192
- _e.label = 30;
236
+ groupZodSchema = (0, groupSchema_1.getGroupZodSchema)(projectConfig, datasource, features);
237
+ if (!(!options.entityType || options.entityType === "group")) return [3 /*break*/, 36];
238
+ filteredKeys = !keyPattern ? groups : groups.filter(function (key) { return keyPattern.test(key); });
239
+ if (filteredKeys.length > 0) {
240
+ console.log("Linting ".concat(filteredKeys.length, " groups...\n"));
241
+ }
242
+ _c = 0, filteredKeys_4 = filteredKeys;
243
+ _e.label = 27;
244
+ case 27:
245
+ if (!(_c < filteredKeys_4.length)) return [3 /*break*/, 36];
246
+ key = filteredKeys_4[_c];
247
+ fullPath = getFullPathFromKey("group", key);
248
+ parsed = void 0;
249
+ _e.label = 28;
250
+ case 28:
251
+ _e.trys.push([28, 30, , 31]);
252
+ return [4 /*yield*/, datasource.readGroup(key)];
253
+ case 29:
254
+ parsed = _e.sent();
255
+ result = groupZodSchema.safeParse(parsed);
256
+ if (!result.success) {
257
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
258
+ if ("error" in result) {
259
+ (0, printError_1.printZodError)(result.error);
260
+ }
261
+ hasError = true;
262
+ }
263
+ return [3 /*break*/, 31];
193
264
  case 30:
194
- if (!(_c < groups_1.length)) return [3 /*break*/, 36];
195
- key = groups_1[_c];
196
- _e.label = 31;
265
+ e_5 = _e.sent();
266
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
267
+ console.log("");
268
+ console.log(e_5);
269
+ hasError = true;
270
+ return [3 /*break*/, 31];
197
271
  case 31:
198
- _e.trys.push([31, 34, , 35]);
199
- return [4 /*yield*/, datasource.readGroup(key)];
272
+ if (!parsed) return [3 /*break*/, 35];
273
+ _e.label = 32;
200
274
  case 32:
201
- parsed = _e.sent();
202
- return [4 /*yield*/, groupJoiSchema.validateAsync(parsed)];
275
+ _e.trys.push([32, 34, , 35]);
276
+ return [4 /*yield*/, (0, checkPercentageExceedingSlot_1.checkForFeatureExceedingGroupSlotPercentage)(datasource, parsed, features)];
203
277
  case 33:
204
278
  _e.sent();
205
279
  return [3 /*break*/, 35];
206
280
  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
- }
281
+ e_6 = _e.sent();
282
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
283
+ console.log(cliFormat_1.CLI_FORMAT_RED, " => Error: ".concat(e_6.message));
216
284
  hasError = true;
217
285
  return [3 /*break*/, 35];
218
286
  case 35:
219
287
  _c++;
220
- return [3 /*break*/, 30];
288
+ return [3 /*break*/, 27];
221
289
  case 36: return [4 /*yield*/, datasource.listTests()];
222
290
  case 37:
223
291
  tests = _e.sent();
224
- console.log("\nLinting ".concat(tests.length, " tests...\n"));
225
- testsJoiSchema = (0, testSchema_1.getTestsJoiSchema)(projectConfig, availableFeatureKeys, availableSegmentKeys);
226
- _d = 0, tests_1 = tests;
292
+ testsZodSchema = (0, testSchema_1.getTestsZodSchema)(projectConfig, features, segments);
293
+ if (!(!options.entityType || options.entityType === "test")) return [3 /*break*/, 43];
294
+ filteredKeys = !keyPattern ? tests : tests.filter(function (key) { return keyPattern.test(key); });
295
+ if (filteredKeys.length > 0) {
296
+ console.log("Linting ".concat(filteredKeys.length, " tests...\n"));
297
+ }
298
+ _d = 0, filteredKeys_5 = filteredKeys;
227
299
  _e.label = 38;
228
300
  case 38:
229
- if (!(_d < tests_1.length)) return [3 /*break*/, 44];
230
- key = tests_1[_d];
301
+ if (!(_d < filteredKeys_5.length)) return [3 /*break*/, 43];
302
+ key = filteredKeys_5[_d];
303
+ fullPath = getFullPathFromKey("test", key);
231
304
  _e.label = 39;
232
305
  case 39:
233
- _e.trys.push([39, 42, , 43]);
306
+ _e.trys.push([39, 41, , 42]);
234
307
  return [4 /*yield*/, datasource.readTest(key)];
235
308
  case 40:
236
309
  parsed = _e.sent();
237
- return [4 /*yield*/, testsJoiSchema.validateAsync(parsed)];
310
+ result = testsZodSchema.safeParse(parsed);
311
+ if (!result.success) {
312
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
313
+ if ("error" in result) {
314
+ (0, printError_1.printZodError)(result.error);
315
+ process.exit(1);
316
+ }
317
+ hasError = true;
318
+ }
319
+ return [3 /*break*/, 42];
238
320
  case 41:
239
- _e.sent();
240
- return [3 /*break*/, 43];
241
- case 42:
242
- e_6 = _e.sent();
243
- console.log(" =>", key);
321
+ e_7 = _e.sent();
322
+ console.log(cliFormat_1.CLI_FORMAT_UNDERLINE, fullPath);
244
323
  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
- }
324
+ console.log(e_7);
251
325
  hasError = true;
252
- return [3 /*break*/, 43];
253
- case 43:
326
+ return [3 /*break*/, 42];
327
+ case 42:
254
328
  _d++;
255
329
  return [3 /*break*/, 38];
256
- case 44: return [2 /*return*/, hasError];
330
+ case 43: return [2 /*return*/, hasError];
257
331
  }
258
332
  });
259
333
  });
@@ -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"}