@featurevisor/core 0.53.2 → 0.53.3

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 (77) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +8 -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/src/builder/allocator.ts.html +1 -1
  9. package/coverage/lcov-report/src/builder/index.html +1 -1
  10. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  11. package/lib/builder/buildDatafile.d.ts +1 -1
  12. package/lib/builder/buildDatafile.js +241 -168
  13. package/lib/builder/buildDatafile.js.map +1 -1
  14. package/lib/builder/buildProject.d.ts +1 -1
  15. package/lib/builder/buildProject.js +99 -40
  16. package/lib/builder/buildProject.js.map +1 -1
  17. package/lib/builder/getFeatureRanges.d.ts +1 -1
  18. package/lib/builder/getFeatureRanges.js +92 -31
  19. package/lib/builder/getFeatureRanges.js.map +1 -1
  20. package/lib/datasource/datasource.d.ts +16 -16
  21. package/lib/datasource/datasource.js +123 -67
  22. package/lib/datasource/datasource.js.map +1 -1
  23. package/lib/find-duplicate-segments/findDuplicateSegments.d.ts +1 -1
  24. package/lib/find-duplicate-segments/findDuplicateSegments.js +75 -18
  25. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  26. package/lib/find-duplicate-segments/index.d.ts +1 -1
  27. package/lib/find-duplicate-segments/index.js +56 -9
  28. package/lib/find-duplicate-segments/index.js.map +1 -1
  29. package/lib/generate-code/index.d.ts +1 -1
  30. package/lib/generate-code/index.js +67 -23
  31. package/lib/generate-code/index.js.map +1 -1
  32. package/lib/generate-code/typescript.d.ts +1 -1
  33. package/lib/generate-code/typescript.js +139 -72
  34. package/lib/generate-code/typescript.js.map +1 -1
  35. package/lib/linter/checkCircularDependency.d.ts +1 -1
  36. package/lib/linter/checkCircularDependency.js +78 -22
  37. package/lib/linter/checkCircularDependency.js.map +1 -1
  38. package/lib/linter/groupSchema.js +79 -28
  39. package/lib/linter/groupSchema.js.map +1 -1
  40. package/lib/linter/lintProject.js +122 -101
  41. package/lib/linter/lintProject.js.map +1 -1
  42. package/lib/restore.d.ts +1 -1
  43. package/lib/restore.js +53 -11
  44. package/lib/restore.js.map +1 -1
  45. package/lib/site/exportSite.d.ts +1 -1
  46. package/lib/site/exportSite.js +64 -21
  47. package/lib/site/exportSite.js.map +1 -1
  48. package/lib/site/generateSiteSearchIndex.d.ts +1 -1
  49. package/lib/site/generateSiteSearchIndex.js +203 -111
  50. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  51. package/lib/tester/testFeature.d.ts +1 -1
  52. package/lib/tester/testFeature.js +127 -59
  53. package/lib/tester/testFeature.js.map +1 -1
  54. package/lib/tester/testProject.d.ts +1 -1
  55. package/lib/tester/testProject.js +105 -48
  56. package/lib/tester/testProject.js.map +1 -1
  57. package/lib/tester/testSegment.d.ts +1 -1
  58. package/lib/tester/testSegment.js +69 -21
  59. package/lib/tester/testSegment.js.map +1 -1
  60. package/package.json +2 -2
  61. package/src/builder/buildDatafile.ts +9 -9
  62. package/src/builder/buildProject.ts +2 -2
  63. package/src/builder/getFeatureRanges.ts +4 -4
  64. package/src/datasource/datasource.ts +22 -69
  65. package/src/find-duplicate-segments/findDuplicateSegments.ts +9 -6
  66. package/src/find-duplicate-segments/index.ts +5 -2
  67. package/src/generate-code/index.ts +2 -2
  68. package/src/generate-code/typescript.ts +42 -25
  69. package/src/linter/checkCircularDependency.ts +4 -4
  70. package/src/linter/groupSchema.ts +3 -3
  71. package/src/linter/lintProject.ts +39 -39
  72. package/src/restore.ts +1 -1
  73. package/src/site/exportSite.ts +2 -2
  74. package/src/site/generateSiteSearchIndex.ts +14 -14
  75. package/src/tester/testFeature.ts +8 -6
  76. package/src/tester/testProject.ts +8 -5
  77. package/src/tester/testSegment.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { FeatureKey, Required } from "@featurevisor/types";
2
2
  import { Datasource } from "../datasource";
3
- export declare function checkForCircularDependencyInRequired(datasource: Datasource, featureKey: FeatureKey, required?: Required[], chain?: FeatureKey[]): void;
3
+ export declare function checkForCircularDependencyInRequired(datasource: Datasource, featureKey: FeatureKey, required?: Required[], chain?: FeatureKey[]): Promise<void>;
@@ -1,30 +1,86 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
39
  exports.checkForCircularDependencyInRequired = void 0;
4
40
  function checkForCircularDependencyInRequired(datasource, featureKey, required, chain) {
5
41
  if (chain === void 0) { chain = []; }
6
- if (!required) {
7
- return;
8
- }
9
- var requiredKeys = required.map(function (r) { return (typeof r === "string" ? r : r.key); });
10
- if (requiredKeys.length === 0) {
11
- return;
12
- }
13
- for (var _i = 0, requiredKeys_1 = requiredKeys; _i < requiredKeys_1.length; _i++) {
14
- var requiredKey = requiredKeys_1[_i];
15
- chain.push(requiredKey);
16
- if (chain.indexOf(featureKey) > -1) {
17
- throw new Error("circular dependency found: ".concat(chain.join(" -> ")));
18
- }
19
- var requiredFeatureExists = datasource.entityExists("feature", requiredKey);
20
- if (!requiredFeatureExists) {
21
- throw new Error("required feature \"".concat(requiredKey, "\" not found"));
22
- }
23
- var requiredParsedFeature = datasource.readFeature(requiredKey);
24
- if (requiredParsedFeature.required) {
25
- checkForCircularDependencyInRequired(datasource, featureKey, requiredParsedFeature.required, chain);
26
- }
27
- }
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var requiredKeys, _i, requiredKeys_1, requiredKey, requiredFeatureExists, requiredParsedFeature;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ if (!required) {
48
+ return [2 /*return*/];
49
+ }
50
+ requiredKeys = required.map(function (r) { return (typeof r === "string" ? r : r.key); });
51
+ if (requiredKeys.length === 0) {
52
+ return [2 /*return*/];
53
+ }
54
+ _i = 0, requiredKeys_1 = requiredKeys;
55
+ _a.label = 1;
56
+ case 1:
57
+ if (!(_i < requiredKeys_1.length)) return [3 /*break*/, 6];
58
+ requiredKey = requiredKeys_1[_i];
59
+ chain.push(requiredKey);
60
+ if (chain.indexOf(featureKey) > -1) {
61
+ throw new Error("circular dependency found: ".concat(chain.join(" -> ")));
62
+ }
63
+ return [4 /*yield*/, datasource.entityExists("feature", requiredKey)];
64
+ case 2:
65
+ requiredFeatureExists = _a.sent();
66
+ if (!requiredFeatureExists) {
67
+ throw new Error("required feature \"".concat(requiredKey, "\" not found"));
68
+ }
69
+ return [4 /*yield*/, datasource.readFeature(requiredKey)];
70
+ case 3:
71
+ requiredParsedFeature = _a.sent();
72
+ if (!requiredParsedFeature.required) return [3 /*break*/, 5];
73
+ return [4 /*yield*/, checkForCircularDependencyInRequired(datasource, featureKey, requiredParsedFeature.required, chain)];
74
+ case 4:
75
+ _a.sent();
76
+ _a.label = 5;
77
+ case 5:
78
+ _i++;
79
+ return [3 /*break*/, 1];
80
+ case 6: return [2 /*return*/];
81
+ }
82
+ });
83
+ });
28
84
  }
29
85
  exports.checkForCircularDependencyInRequired = checkForCircularDependencyInRequired;
30
86
  //# sourceMappingURL=checkCircularDependency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkCircularDependency.js","sourceRoot":"","sources":["../../src/linter/checkCircularDependency.ts"],"names":[],"mappings":";;;AAIA,SAAgB,oCAAoC,CAClD,UAAsB,EACtB,UAAsB,EACtB,QAAqB,EACrB,KAAwB;IAAxB,sBAAA,EAAA,UAAwB;IAExB,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,IAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAnC,CAAmC,CAAC,CAAC;IAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO;KACR;IAED,KAA0B,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;QAAnC,IAAM,WAAW,qBAAA;QACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,qCAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;SACrE;QAED,IAAM,qBAAqB,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE9E,IAAI,CAAC,qBAAqB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,6BAAqB,WAAW,iBAAa,CAAC,CAAC;SAChE;QAED,IAAM,qBAAqB,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAElE,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YAClC,oCAAoC,CAClC,UAAU,EACV,UAAU,EACV,qBAAqB,CAAC,QAAQ,EAC9B,KAAK,CACN,CAAC;SACH;KACF;AACH,CAAC;AAxCD,oFAwCC"}
1
+ {"version":3,"file":"checkCircularDependency.js","sourceRoot":"","sources":["../../src/linter/checkCircularDependency.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAsB,oCAAoC,CACxD,UAAsB,EACtB,UAAsB,EACtB,QAAqB,EACrB,KAAwB;IAAxB,sBAAA,EAAA,UAAwB;;;;;;oBAExB,IAAI,CAAC,QAAQ,EAAE;wBACb,sBAAO;qBACR;oBAEK,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAnC,CAAmC,CAAC,CAAC;oBAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC7B,sBAAO;qBACR;0BAEqC,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA3B,WAAW;oBACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAExB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;wBAClC,MAAM,IAAI,KAAK,CAAC,qCAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;qBACrE;oBAE6B,qBAAM,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,EAAA;;oBAA7E,qBAAqB,GAAG,SAAqD;oBAEnF,IAAI,CAAC,qBAAqB,EAAE;wBAC1B,MAAM,IAAI,KAAK,CAAC,6BAAqB,WAAW,iBAAa,CAAC,CAAC;qBAChE;oBAE6B,qBAAM,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;oBAAjE,qBAAqB,GAAG,SAAyC;yBAEnE,qBAAqB,CAAC,QAAQ,EAA9B,wBAA8B;oBAChC,qBAAM,oCAAoC,CACxC,UAAU,EACV,UAAU,EACV,qBAAqB,CAAC,QAAQ,EAC9B,KAAK,CACN,EAAA;;oBALD,SAKC,CAAC;;;oBArBoB,IAAY,CAAA;;;;;;CAwBvC;AAxCD,oFAwCC"}
@@ -1,4 +1,40 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
39
  exports.getGroupJoiSchema = void 0;
4
40
  var Joi = require("joi");
@@ -12,36 +48,51 @@ function getGroupJoiSchema(projectConfig, datasource, availableFeatureKeys) {
12
48
  percentage: Joi.number().precision(3).min(0).max(100),
13
49
  }))
14
50
  .custom(function (value) {
15
- var totalPercentage = value.reduce(function (acc, slot) { return acc + slot.percentage; }, 0);
16
- if (totalPercentage !== 100) {
17
- throw new Error("total percentage is not 100");
18
- }
19
- for (var _i = 0, value_1 = value; _i < value_1.length; _i++) {
20
- var slot = value_1[_i];
21
- var maxPercentageForRule = slot.percentage;
22
- if (slot.feature) {
23
- var featureKey = slot.feature;
24
- var featureExists = datasource.entityExists("feature", featureKey);
25
- if (!featureExists) {
26
- throw new Error("feature ".concat(featureKey, " not found"));
27
- }
28
- var parsedFeature = datasource.readFeature(featureKey);
29
- var environmentKeys = Object.keys(parsedFeature.environments);
30
- for (var _a = 0, environmentKeys_1 = environmentKeys; _a < environmentKeys_1.length; _a++) {
31
- var environmentKey = environmentKeys_1[_a];
32
- var environment = parsedFeature.environments[environmentKey];
33
- var rules = environment.rules;
34
- for (var _b = 0, rules_1 = rules; _b < rules_1.length; _b++) {
35
- var rule = rules_1[_b];
36
- if (rule.percentage > maxPercentageForRule) {
37
- // @TODO: this does not help with same feature belonging to multiple slots. fix that.
38
- throw new Error("Feature ".concat(featureKey, "'s rule ").concat(rule.key, " in ").concat(environmentKey, " has a percentage of ").concat(rule.percentage, " which is greater than the maximum percentage of ").concat(maxPercentageForRule, " for the slot"));
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var totalPercentage, _i, value_1, slot, maxPercentageForRule, featureKey, featureExists, parsedFeature, environmentKeys, _a, environmentKeys_1, environmentKey, environment, rules, _b, rules_1, rule;
53
+ return __generator(this, function (_c) {
54
+ switch (_c.label) {
55
+ case 0:
56
+ totalPercentage = value.reduce(function (acc, slot) { return acc + slot.percentage; }, 0);
57
+ if (totalPercentage !== 100) {
58
+ throw new Error("total percentage is not 100");
39
59
  }
40
- }
60
+ _i = 0, value_1 = value;
61
+ _c.label = 1;
62
+ case 1:
63
+ if (!(_i < value_1.length)) return [3 /*break*/, 4];
64
+ slot = value_1[_i];
65
+ maxPercentageForRule = slot.percentage;
66
+ if (!slot.feature) return [3 /*break*/, 3];
67
+ featureKey = slot.feature;
68
+ featureExists = availableFeatureKeys.indexOf(featureKey) > -1;
69
+ if (!featureExists) {
70
+ throw new Error("feature ".concat(featureKey, " not found"));
71
+ }
72
+ return [4 /*yield*/, datasource.readFeature(featureKey)];
73
+ case 2:
74
+ parsedFeature = _c.sent();
75
+ environmentKeys = Object.keys(parsedFeature.environments);
76
+ for (_a = 0, environmentKeys_1 = environmentKeys; _a < environmentKeys_1.length; _a++) {
77
+ environmentKey = environmentKeys_1[_a];
78
+ environment = parsedFeature.environments[environmentKey];
79
+ rules = environment.rules;
80
+ for (_b = 0, rules_1 = rules; _b < rules_1.length; _b++) {
81
+ rule = rules_1[_b];
82
+ if (rule.percentage > maxPercentageForRule) {
83
+ // @TODO: this does not help with same feature belonging to multiple slots. fix that.
84
+ throw new Error("Feature ".concat(featureKey, "'s rule ").concat(rule.key, " in ").concat(environmentKey, " has a percentage of ").concat(rule.percentage, " which is greater than the maximum percentage of ").concat(maxPercentageForRule, " for the slot"));
85
+ }
86
+ }
87
+ }
88
+ _c.label = 3;
89
+ case 3:
90
+ _i++;
91
+ return [3 /*break*/, 1];
92
+ case 4: return [2 /*return*/, value];
41
93
  }
42
- }
43
- }
44
- return value;
94
+ });
95
+ });
45
96
  })
46
97
  .required(),
47
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"groupSchema.js","sourceRoot":"","sources":["../../src/linter/groupSchema.ts"],"names":[],"mappings":";;;AAAA,yBAA2B;AAK3B,SAAgB,iBAAiB,CAC/B,aAA4B,EAC5B,UAAsB,EACtB,oBAA8B;;IAE9B,IAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;aACf,KAAK,CACJ,GAAG,CAAC,MAAM,CAAC;YACT,OAAO,EAAE,CAAA,KAAA,GAAG,CAAC,MAAM,EAAE,CAAA,CAAC,KAAK,WAAI,oBAAoB,CAAC;YACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;SACtD,CAAC,CACH;aACA,MAAM,CAAC,UAAU,KAAK;YACrB,IAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,CAAC,UAAU,EAArB,CAAqB,EAAE,CAAC,CAAC,CAAC;YAE9E,IAAI,eAAe,KAAK,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAChD;YAED,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAArB,IAAM,IAAI,cAAA;gBACb,IAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;gBAE7C,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAChC,IAAM,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAErE,IAAI,CAAC,aAAa,EAAE;wBAClB,MAAM,IAAI,KAAK,CAAC,kBAAW,UAAU,eAAY,CAAC,CAAC;qBACpD;oBAED,IAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAEzD,IAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBAChE,KAA6B,UAAe,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,EAAE;wBAAzC,IAAM,cAAc,wBAAA;wBACvB,IAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;wBAC/D,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;wBAEhC,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;4BAArB,IAAM,IAAI,cAAA;4BACb,IAAI,IAAI,CAAC,UAAU,GAAG,oBAAoB,EAAE;gCAC1C,qFAAqF;gCACrF,MAAM,IAAI,KAAK,CACb,kBAAW,UAAU,qBAAW,IAAI,CAAC,GAAG,iBAAO,cAAc,kCAAwB,IAAI,CAAC,UAAU,8DAAoD,oBAAoB,kBAAe,CAC5L,CAAC;6BACH;yBACF;qBACF;iBACF;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,QAAQ,EAAE;KACd,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAzDD,8CAyDC"}
1
+ {"version":3,"file":"groupSchema.js","sourceRoot":"","sources":["../../src/linter/groupSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAA2B;AAK3B,SAAgB,iBAAiB,CAC/B,aAA4B,EAC5B,UAAsB,EACtB,oBAA8B;;IAE9B,IAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;aACf,KAAK,CACJ,GAAG,CAAC,MAAM,CAAC;YACT,OAAO,EAAE,CAAA,KAAA,GAAG,CAAC,MAAM,EAAE,CAAA,CAAC,KAAK,WAAI,oBAAoB,CAAC;YACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;SACtD,CAAC,CACH;aACA,MAAM,CAAC,UAAgB,KAAK;;;;;;4BACrB,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,CAAC,UAAU,EAArB,CAAqB,EAAE,CAAC,CAAC,CAAC;4BAE9E,IAAI,eAAe,KAAK,GAAG,EAAE;gCAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;6BAChD;kCAEuB,EAAL,eAAK;;;iCAAL,CAAA,mBAAK,CAAA;4BAAb,IAAI;4BACP,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;iCAEzC,IAAI,CAAC,OAAO,EAAZ,wBAAY;4BACR,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;4BAC1B,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;4BAEpE,IAAI,CAAC,aAAa,EAAE;gCAClB,MAAM,IAAI,KAAK,CAAC,kBAAW,UAAU,eAAY,CAAC,CAAC;6BACpD;4BAEqB,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAA;;4BAAxD,aAAa,GAAG,SAAwC;4BAExD,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;4BAChE,WAA4C,EAAf,mCAAe,EAAf,6BAAe,EAAf,IAAe,EAAE;gCAAnC,cAAc;gCACjB,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gCACzD,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gCAEhC,WAAwB,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;oCAAf,IAAI;oCACb,IAAI,IAAI,CAAC,UAAU,GAAG,oBAAoB,EAAE;wCAC1C,qFAAqF;wCACrF,MAAM,IAAI,KAAK,CACb,kBAAW,UAAU,qBAAW,IAAI,CAAC,GAAG,iBAAO,cAAc,kCAAwB,IAAI,CAAC,UAAU,8DAAoD,oBAAoB,kBAAe,CAC5L,CAAC;qCACH;iCACF;6BACF;;;4BA1Bc,IAAK,CAAA;;gCA8BxB,sBAAO,KAAK,EAAC;;;;SACd,CAAC;aACD,QAAQ,EAAE;KACd,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAzDD,8CAyDC"}
@@ -51,7 +51,7 @@ var checkCircularDependency_1 = require("./checkCircularDependency");
51
51
  var printJoiError_1 = require("./printJoiError");
52
52
  function lintProject(projectConfig) {
53
53
  return __awaiter(this, void 0, void 0, function () {
54
- var hasError, datasource, availableAttributeKeys, availableSegmentKeys, availableFeatureKeys, attributes, attributeJoiSchema, _i, attributes_1, key, parsed, e_1, segments, conditionsJoiSchema, segmentJoiSchema, _a, segments_1, key, parsed, e_2, groups, groupJoiSchema, _b, groups_1, key, parsed, e_3, features, featureJoiSchema, _c, features_1, key, parsed, e_4, tests, testsJoiSchema, _d, tests_1, key, parsed, e_5;
54
+ var hasError, datasource, 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
55
  return __generator(this, function (_e) {
56
56
  switch (_e.label) {
57
57
  case 0:
@@ -60,24 +60,28 @@ function lintProject(projectConfig) {
60
60
  availableAttributeKeys = [];
61
61
  availableSegmentKeys = [];
62
62
  availableFeatureKeys = [];
63
- attributes = datasource.listAttributes();
63
+ return [4 /*yield*/, datasource.listAttributes()];
64
+ case 1:
65
+ attributes = _e.sent();
64
66
  console.log("Linting ".concat(attributes.length, " attributes...\n"));
65
67
  attributeJoiSchema = (0, attributeSchema_1.getAttributeJoiSchema)();
66
68
  _i = 0, attributes_1 = attributes;
67
- _e.label = 1;
68
- case 1:
69
- if (!(_i < attributes_1.length)) return [3 /*break*/, 6];
70
- key = attributes_1[_i];
71
- parsed = datasource.readAttribute(key);
72
- availableAttributeKeys.push(key);
73
69
  _e.label = 2;
74
70
  case 2:
75
- _e.trys.push([2, 4, , 5]);
76
- return [4 /*yield*/, attributeJoiSchema.validateAsync(parsed)];
71
+ if (!(_i < attributes_1.length)) return [3 /*break*/, 8];
72
+ key = attributes_1[_i];
73
+ return [4 /*yield*/, datasource.readAttribute(key)];
77
74
  case 3:
78
- _e.sent();
79
- return [3 /*break*/, 5];
75
+ parsed = _e.sent();
76
+ availableAttributeKeys.push(key);
77
+ _e.label = 4;
80
78
  case 4:
79
+ _e.trys.push([4, 6, , 7]);
80
+ return [4 /*yield*/, attributeJoiSchema.validateAsync(parsed)];
81
+ case 5:
82
+ _e.sent();
83
+ return [3 /*break*/, 7];
84
+ case 6:
81
85
  e_1 = _e.sent();
82
86
  console.log(" =>", key);
83
87
  if (e_1 instanceof Joi.ValidationError) {
@@ -87,30 +91,33 @@ function lintProject(projectConfig) {
87
91
  console.log(e_1);
88
92
  }
89
93
  hasError = true;
90
- return [3 /*break*/, 5];
91
- case 5:
94
+ return [3 /*break*/, 7];
95
+ case 7:
92
96
  _i++;
93
- return [3 /*break*/, 1];
94
- case 6:
95
- segments = datasource.listSegments();
97
+ return [3 /*break*/, 2];
98
+ case 8: return [4 /*yield*/, datasource.listSegments()];
99
+ case 9:
100
+ segments = _e.sent();
96
101
  console.log("\nLinting ".concat(segments.length, " segments...\n"));
97
102
  conditionsJoiSchema = (0, conditionSchema_1.getConditionsJoiSchema)(projectConfig, availableAttributeKeys);
98
103
  segmentJoiSchema = (0, segmentSchema_1.getSegmentJoiSchema)(projectConfig, conditionsJoiSchema);
99
104
  _a = 0, segments_1 = segments;
100
- _e.label = 7;
101
- case 7:
102
- if (!(_a < segments_1.length)) return [3 /*break*/, 12];
105
+ _e.label = 10;
106
+ case 10:
107
+ if (!(_a < segments_1.length)) return [3 /*break*/, 16];
103
108
  key = segments_1[_a];
104
- parsed = datasource.readSegment(key);
109
+ return [4 /*yield*/, datasource.readSegment(key)];
110
+ case 11:
111
+ parsed = _e.sent();
105
112
  availableSegmentKeys.push(key);
106
- _e.label = 8;
107
- case 8:
108
- _e.trys.push([8, 10, , 11]);
113
+ _e.label = 12;
114
+ case 12:
115
+ _e.trys.push([12, 14, , 15]);
109
116
  return [4 /*yield*/, segmentJoiSchema.validateAsync(parsed)];
110
- case 9:
117
+ case 13:
111
118
  _e.sent();
112
- return [3 /*break*/, 11];
113
- case 10:
119
+ return [3 /*break*/, 15];
120
+ case 14:
114
121
  e_2 = _e.sent();
115
122
  console.log(" =>", key);
116
123
  if (e_2 instanceof Joi.ValidationError) {
@@ -120,52 +127,23 @@ function lintProject(projectConfig) {
120
127
  console.log(e_2);
121
128
  }
122
129
  hasError = true;
123
- return [3 /*break*/, 11];
124
- case 11:
125
- _a++;
126
- return [3 /*break*/, 7];
127
- case 12:
128
- if (!fs.existsSync(projectConfig.groupsDirectoryPath)) return [3 /*break*/, 18];
129
- groups = datasource.listGroups();
130
- console.log("\nLinting ".concat(groups.length, " groups...\n"));
131
- groupJoiSchema = (0, groupSchema_1.getGroupJoiSchema)(projectConfig, datasource, availableFeatureKeys);
132
- _b = 0, groups_1 = groups;
133
- _e.label = 13;
134
- case 13:
135
- if (!(_b < groups_1.length)) return [3 /*break*/, 18];
136
- key = groups_1[_b];
137
- parsed = datasource.readGroup(key);
138
- _e.label = 14;
139
- case 14:
140
- _e.trys.push([14, 16, , 17]);
141
- return [4 /*yield*/, groupJoiSchema.validateAsync(parsed)];
130
+ return [3 /*break*/, 15];
142
131
  case 15:
143
- _e.sent();
144
- return [3 /*break*/, 17];
145
- case 16:
146
- e_3 = _e.sent();
147
- console.log(" =>", key);
148
- if (e_3 instanceof Joi.ValidationError) {
149
- (0, printJoiError_1.printJoiError)(e_3);
150
- }
151
- else {
152
- console.log(e_3);
153
- }
154
- hasError = true;
155
- return [3 /*break*/, 17];
132
+ _a++;
133
+ return [3 /*break*/, 10];
134
+ case 16: return [4 /*yield*/, datasource.listFeatures()];
156
135
  case 17:
157
- _b++;
158
- return [3 /*break*/, 13];
159
- case 18:
160
- features = datasource.listFeatures();
136
+ features = _e.sent();
161
137
  console.log("\nLinting ".concat(features.length, " features...\n"));
162
138
  featureJoiSchema = (0, featureSchema_1.getFeatureJoiSchema)(projectConfig, conditionsJoiSchema, availableSegmentKeys, availableFeatureKeys);
163
- _c = 0, features_1 = features;
164
- _e.label = 19;
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];
144
+ return [4 /*yield*/, datasource.readFeature(key)];
165
145
  case 19:
166
- if (!(_c < features_1.length)) return [3 /*break*/, 25];
167
- key = features_1[_c];
168
- parsed = datasource.readFeature(key);
146
+ parsed = _e.sent();
169
147
  availableFeatureKeys.push(key);
170
148
  _e.label = 20;
171
149
  case 20:
@@ -175,50 +153,57 @@ function lintProject(projectConfig) {
175
153
  _e.sent();
176
154
  return [3 /*break*/, 23];
177
155
  case 22:
178
- e_4 = _e.sent();
156
+ e_3 = _e.sent();
179
157
  console.log(" =>", key);
180
- if (e_4 instanceof Joi.ValidationError) {
181
- (0, printJoiError_1.printJoiError)(e_4);
158
+ if (e_3 instanceof Joi.ValidationError) {
159
+ (0, printJoiError_1.printJoiError)(e_3);
182
160
  }
183
161
  else {
184
- console.log(e_4);
162
+ console.log(e_3);
185
163
  }
186
164
  hasError = true;
187
165
  return [3 /*break*/, 23];
188
166
  case 23:
189
- if (parsed.required) {
190
- try {
191
- (0, checkCircularDependency_1.checkForCircularDependencyInRequired)(datasource, key, parsed.required);
192
- }
193
- catch (e) {
194
- console.log(" =>", key);
195
- console.log(" => Error:", e.message);
196
- hasError = true;
197
- }
198
- }
167
+ if (!parsed.required) return [3 /*break*/, 27];
199
168
  _e.label = 24;
200
169
  case 24:
201
- _c++;
202
- return [3 /*break*/, 19];
170
+ _e.trys.push([24, 26, , 27]);
171
+ return [4 /*yield*/, (0, checkCircularDependency_1.checkForCircularDependencyInRequired)(datasource, key, parsed.required)];
203
172
  case 25:
204
- if (!fs.existsSync(projectConfig.testsDirectoryPath)) return [3 /*break*/, 31];
205
- tests = datasource.listTests();
206
- console.log("\nLinting ".concat(tests.length, " tests...\n"));
207
- testsJoiSchema = (0, testSchema_1.getTestsJoiSchema)(projectConfig, availableFeatureKeys, availableSegmentKeys);
208
- _d = 0, tests_1 = tests;
209
- _e.label = 26;
173
+ _e.sent();
174
+ return [3 /*break*/, 27];
210
175
  case 26:
211
- if (!(_d < tests_1.length)) return [3 /*break*/, 31];
212
- key = tests_1[_d];
213
- parsed = datasource.readTest(key);
214
- _e.label = 27;
176
+ e_4 = _e.sent();
177
+ console.log(" =>", key);
178
+ console.log(" => Error:", e_4.message);
179
+ hasError = true;
180
+ return [3 /*break*/, 27];
215
181
  case 27:
216
- _e.trys.push([27, 29, , 30]);
217
- return [4 /*yield*/, testsJoiSchema.validateAsync(parsed)];
182
+ _b++;
183
+ return [3 /*break*/, 18];
218
184
  case 28:
219
- _e.sent();
220
- return [3 /*break*/, 30];
185
+ if (!fs.existsSync(projectConfig.groupsDirectoryPath)) return [3 /*break*/, 36];
186
+ return [4 /*yield*/, datasource.listGroups()];
221
187
  case 29:
188
+ 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;
193
+ case 30:
194
+ if (!(_c < groups_1.length)) return [3 /*break*/, 36];
195
+ key = groups_1[_c];
196
+ return [4 /*yield*/, datasource.readGroup(key)];
197
+ case 31:
198
+ parsed = _e.sent();
199
+ _e.label = 32;
200
+ case 32:
201
+ _e.trys.push([32, 34, , 35]);
202
+ return [4 /*yield*/, groupJoiSchema.validateAsync(parsed)];
203
+ case 33:
204
+ _e.sent();
205
+ return [3 /*break*/, 35];
206
+ case 34:
222
207
  e_5 = _e.sent();
223
208
  console.log(" =>", key);
224
209
  if (e_5 instanceof Joi.ValidationError) {
@@ -228,11 +213,47 @@ function lintProject(projectConfig) {
228
213
  console.log(e_5);
229
214
  }
230
215
  hasError = true;
216
+ return [3 /*break*/, 35];
217
+ case 35:
218
+ _c++;
231
219
  return [3 /*break*/, 30];
232
- case 30:
220
+ case 36:
221
+ if (!fs.existsSync(projectConfig.testsDirectoryPath)) return [3 /*break*/, 44];
222
+ return [4 /*yield*/, datasource.listTests()];
223
+ case 37:
224
+ tests = _e.sent();
225
+ console.log("\nLinting ".concat(tests.length, " tests...\n"));
226
+ testsJoiSchema = (0, testSchema_1.getTestsJoiSchema)(projectConfig, availableFeatureKeys, availableSegmentKeys);
227
+ _d = 0, tests_1 = tests;
228
+ _e.label = 38;
229
+ case 38:
230
+ if (!(_d < tests_1.length)) return [3 /*break*/, 44];
231
+ key = tests_1[_d];
232
+ return [4 /*yield*/, datasource.readTest(key)];
233
+ case 39:
234
+ parsed = _e.sent();
235
+ _e.label = 40;
236
+ case 40:
237
+ _e.trys.push([40, 42, , 43]);
238
+ return [4 /*yield*/, testsJoiSchema.validateAsync(parsed)];
239
+ case 41:
240
+ _e.sent();
241
+ return [3 /*break*/, 43];
242
+ case 42:
243
+ e_6 = _e.sent();
244
+ console.log(" =>", key);
245
+ if (e_6 instanceof Joi.ValidationError) {
246
+ (0, printJoiError_1.printJoiError)(e_6);
247
+ }
248
+ else {
249
+ console.log(e_6);
250
+ }
251
+ hasError = true;
252
+ return [3 /*break*/, 43];
253
+ case 43:
233
254
  _d++;
234
- return [3 /*break*/, 26];
235
- case 31: return [2 /*return*/, hasError];
255
+ return [3 /*break*/, 38];
256
+ case 44: return [2 /*return*/, hasError];
236
257
  }
237
258
  });
238
259
  });
@@ -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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"}
package/lib/restore.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { ProjectConfig } from "./config";
2
- export declare function restoreProject(rootDirectoryPath: any, projectConfig: ProjectConfig): void;
2
+ export declare function restoreProject(rootDirectoryPath: any, projectConfig: ProjectConfig): Promise<void>;