@featurevisor/core 1.35.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +0 -6
  3. package/coverage/clover.xml +321 -237
  4. package/coverage/coverage-final.json +8 -8
  5. package/coverage/lcov-report/index.html +77 -47
  6. package/coverage/lcov-report/lib/builder/allocator.js.html +14 -14
  7. package/coverage/lcov-report/lib/builder/index.html +16 -16
  8. package/coverage/lcov-report/lib/builder/revision.js.html +3 -3
  9. package/coverage/lcov-report/lib/builder/traffic.js.html +88 -64
  10. package/coverage/lcov-report/lib/list/index.html +116 -0
  11. package/coverage/lcov-report/lib/{tester → list}/matrix.js.html +90 -66
  12. package/coverage/lcov-report/lib/tester/helpers.js.html +295 -0
  13. package/coverage/lcov-report/lib/tester/index.html +20 -35
  14. package/coverage/lcov-report/src/builder/allocator.ts.html +2 -2
  15. package/coverage/lcov-report/src/builder/index.html +15 -15
  16. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  17. package/coverage/lcov-report/src/builder/traffic.ts.html +96 -24
  18. package/coverage/lcov-report/src/list/index.html +116 -0
  19. package/coverage/lcov-report/src/{tester → list}/matrix.ts.html +87 -21
  20. package/coverage/lcov-report/src/tester/helpers.ts.html +313 -0
  21. package/coverage/lcov-report/src/tester/index.html +20 -35
  22. package/coverage/lcov.info +592 -436
  23. package/lib/assess-distribution/index.d.ts +1 -1
  24. package/lib/assess-distribution/index.js +102 -162
  25. package/lib/assess-distribution/index.js.map +1 -1
  26. package/lib/benchmark/index.js +87 -143
  27. package/lib/benchmark/index.js.map +1 -1
  28. package/lib/builder/allocator.d.ts +1 -1
  29. package/lib/builder/allocator.js +12 -12
  30. package/lib/builder/allocator.js.map +1 -1
  31. package/lib/builder/allocator.spec.js +22 -22
  32. package/lib/builder/allocator.spec.js.map +1 -1
  33. package/lib/builder/buildDatafile.d.ts +4 -3
  34. package/lib/builder/buildDatafile.js +311 -388
  35. package/lib/builder/buildDatafile.js.map +1 -1
  36. package/lib/builder/buildProject.d.ts +2 -1
  37. package/lib/builder/buildProject.js +96 -183
  38. package/lib/builder/buildProject.js.map +1 -1
  39. package/lib/builder/convertToV1.d.ts +10 -0
  40. package/lib/builder/convertToV1.js +119 -0
  41. package/lib/builder/convertToV1.js.map +1 -0
  42. package/lib/builder/getFeatureRanges.d.ts +1 -1
  43. package/lib/builder/getFeatureRanges.js +32 -105
  44. package/lib/builder/getFeatureRanges.js.map +1 -1
  45. package/lib/builder/hashes.d.ts +4 -0
  46. package/lib/builder/hashes.js +70 -0
  47. package/lib/builder/hashes.js.map +1 -0
  48. package/lib/builder/revision.js +2 -2
  49. package/lib/builder/revision.js.map +1 -1
  50. package/lib/builder/revision.spec.js +1 -1
  51. package/lib/builder/revision.spec.js.map +1 -1
  52. package/lib/builder/traffic.d.ts +1 -1
  53. package/lib/builder/traffic.js +57 -49
  54. package/lib/builder/traffic.js.map +1 -1
  55. package/lib/builder/traffic.spec.js +14 -14
  56. package/lib/builder/traffic.spec.js.map +1 -1
  57. package/lib/cli/cli.js +60 -129
  58. package/lib/cli/cli.js.map +1 -1
  59. package/lib/cli/plugins.js +14 -16
  60. package/lib/cli/plugins.js.map +1 -1
  61. package/lib/config/parsers.js +1 -1
  62. package/lib/config/parsers.js.map +1 -1
  63. package/lib/config/projectConfig.d.ts +8 -6
  64. package/lib/config/projectConfig.js +31 -72
  65. package/lib/config/projectConfig.js.map +1 -1
  66. package/lib/datasource/adapter.d.ts +1 -1
  67. package/lib/datasource/adapter.js +2 -5
  68. package/lib/datasource/adapter.js.map +1 -1
  69. package/lib/datasource/datasource.d.ts +2 -1
  70. package/lib/datasource/datasource.js +107 -148
  71. package/lib/datasource/datasource.js.map +1 -1
  72. package/lib/datasource/filesystemAdapter.d.ts +1 -1
  73. package/lib/datasource/filesystemAdapter.js +224 -360
  74. package/lib/datasource/filesystemAdapter.js.map +1 -1
  75. package/lib/evaluate/index.d.ts +1 -1
  76. package/lib/evaluate/index.js +120 -188
  77. package/lib/evaluate/index.js.map +1 -1
  78. package/lib/find-duplicate-segments/findDuplicateSegments.d.ts +1 -1
  79. package/lib/find-duplicate-segments/findDuplicateSegments.js +40 -128
  80. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  81. package/lib/find-duplicate-segments/index.js +27 -82
  82. package/lib/find-duplicate-segments/index.js.map +1 -1
  83. package/lib/find-usage/index.d.ts +7 -5
  84. package/lib/find-usage/index.js +333 -507
  85. package/lib/find-usage/index.js.map +1 -1
  86. package/lib/generate-code/index.js +36 -91
  87. package/lib/generate-code/index.js.map +1 -1
  88. package/lib/generate-code/typescript.js +117 -157
  89. package/lib/generate-code/typescript.js.map +1 -1
  90. package/lib/index.d.ts +0 -1
  91. package/lib/index.js +0 -1
  92. package/lib/index.js.map +1 -1
  93. package/lib/info/index.js +45 -133
  94. package/lib/info/index.js.map +1 -1
  95. package/lib/init/index.d.ts +1 -1
  96. package/lib/init/index.js +16 -64
  97. package/lib/init/index.js.map +1 -1
  98. package/lib/linter/attributeSchema.d.ts +21 -6
  99. package/lib/linter/attributeSchema.js +18 -4
  100. package/lib/linter/attributeSchema.js.map +1 -1
  101. package/lib/linter/checkCircularDependency.d.ts +1 -1
  102. package/lib/linter/checkCircularDependency.js +22 -80
  103. package/lib/linter/checkCircularDependency.js.map +1 -1
  104. package/lib/linter/checkPercentageExceedingSlot.d.ts +1 -1
  105. package/lib/linter/checkPercentageExceedingSlot.js +36 -76
  106. package/lib/linter/checkPercentageExceedingSlot.js.map +1 -1
  107. package/lib/linter/conditionSchema.d.ts +1 -1
  108. package/lib/linter/conditionSchema.js +89 -41
  109. package/lib/linter/conditionSchema.js.map +1 -1
  110. package/lib/linter/featureSchema.d.ts +345 -197
  111. package/lib/linter/featureSchema.js +313 -172
  112. package/lib/linter/featureSchema.js.map +1 -1
  113. package/lib/linter/groupSchema.js +6 -6
  114. package/lib/linter/groupSchema.js.map +1 -1
  115. package/lib/linter/lintProject.js +306 -480
  116. package/lib/linter/lintProject.js.map +1 -1
  117. package/lib/linter/printError.js +7 -7
  118. package/lib/linter/printError.js.map +1 -1
  119. package/lib/linter/segmentSchema.js +2 -2
  120. package/lib/linter/segmentSchema.js.map +1 -1
  121. package/lib/linter/testSchema.d.ts +155 -3
  122. package/lib/linter/testSchema.js +47 -17
  123. package/lib/linter/testSchema.js.map +1 -1
  124. package/lib/list/index.d.ts +1 -0
  125. package/lib/list/index.js +349 -517
  126. package/lib/list/index.js.map +1 -1
  127. package/lib/{tester → list}/matrix.d.ts +1 -1
  128. package/lib/{tester → list}/matrix.js +50 -42
  129. package/lib/list/matrix.js.map +1 -0
  130. package/lib/{tester → list}/matrix.spec.js +7 -7
  131. package/lib/list/matrix.spec.js.map +1 -0
  132. package/lib/site/exportSite.js +25 -71
  133. package/lib/site/exportSite.js.map +1 -1
  134. package/lib/site/generateHistory.d.ts +1 -1
  135. package/lib/site/generateHistory.js +26 -82
  136. package/lib/site/generateHistory.js.map +1 -1
  137. package/lib/site/generateSiteSearchIndex.d.ts +1 -1
  138. package/lib/site/generateSiteSearchIndex.js +182 -259
  139. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  140. package/lib/site/getLastModifiedFromHistory.d.ts +1 -1
  141. package/lib/site/getLastModifiedFromHistory.js +2 -2
  142. package/lib/site/getLastModifiedFromHistory.js.map +1 -1
  143. package/lib/site/getOwnerAndRepoFromUrl.js +6 -6
  144. package/lib/site/getOwnerAndRepoFromUrl.js.map +1 -1
  145. package/lib/site/getRelativePaths.js +7 -7
  146. package/lib/site/getRelativePaths.js.map +1 -1
  147. package/lib/site/getRepoDetails.js +20 -20
  148. package/lib/site/getRepoDetails.js.map +1 -1
  149. package/lib/site/index.js +25 -73
  150. package/lib/site/index.js.map +1 -1
  151. package/lib/site/serveSite.js +10 -10
  152. package/lib/site/serveSite.js.map +1 -1
  153. package/lib/tester/helpers.d.ts +2 -0
  154. package/lib/tester/helpers.js +71 -0
  155. package/lib/tester/helpers.js.map +1 -0
  156. package/lib/tester/helpers.spec.js +115 -0
  157. package/lib/tester/helpers.spec.js.map +1 -0
  158. package/lib/tester/index.d.ts +0 -1
  159. package/lib/tester/index.js +0 -1
  160. package/lib/tester/index.js.map +1 -1
  161. package/lib/tester/prettyDuration.js +11 -11
  162. package/lib/tester/prettyDuration.js.map +1 -1
  163. package/lib/tester/printTestResult.d.ts +1 -1
  164. package/lib/tester/printTestResult.js +35 -15
  165. package/lib/tester/printTestResult.js.map +1 -1
  166. package/lib/tester/testFeature.d.ts +4 -2
  167. package/lib/tester/testFeature.js +264 -226
  168. package/lib/tester/testFeature.js.map +1 -1
  169. package/lib/tester/testProject.d.ts +3 -7
  170. package/lib/tester/testProject.js +145 -246
  171. package/lib/tester/testProject.js.map +1 -1
  172. package/lib/tester/testSegment.d.ts +5 -2
  173. package/lib/tester/testSegment.js +65 -102
  174. package/lib/tester/testSegment.js.map +1 -1
  175. package/lib/utils/extractKeys.d.ts +2 -1
  176. package/lib/utils/extractKeys.js +57 -12
  177. package/lib/utils/extractKeys.js.map +1 -1
  178. package/lib/utils/git.d.ts +1 -1
  179. package/lib/utils/git.js +23 -23
  180. package/lib/utils/git.js.map +1 -1
  181. package/lib/utils/pretty.js +2 -4
  182. package/lib/utils/pretty.js.map +1 -1
  183. package/package.json +5 -6
  184. package/src/assess-distribution/index.ts +3 -2
  185. package/src/benchmark/index.ts +3 -3
  186. package/src/builder/allocator.spec.ts +1 -1
  187. package/src/builder/allocator.ts +1 -1
  188. package/src/builder/buildDatafile.ts +161 -124
  189. package/src/builder/buildProject.ts +6 -3
  190. package/src/builder/convertToV1.ts +166 -0
  191. package/src/builder/getFeatureRanges.ts +1 -1
  192. package/src/builder/hashes.ts +109 -0
  193. package/src/builder/traffic.ts +40 -16
  194. package/src/cli/cli.ts +1 -1
  195. package/src/cli/plugins.ts +0 -2
  196. package/src/config/projectConfig.ts +13 -10
  197. package/src/datasource/adapter.ts +1 -1
  198. package/src/datasource/datasource.ts +23 -2
  199. package/src/datasource/filesystemAdapter.ts +11 -12
  200. package/src/evaluate/index.ts +7 -6
  201. package/src/find-duplicate-segments/findDuplicateSegments.ts +1 -1
  202. package/src/find-usage/index.ts +111 -44
  203. package/src/generate-code/index.ts +1 -3
  204. package/src/generate-code/typescript.ts +7 -29
  205. package/src/index.ts +0 -1
  206. package/src/info/index.ts +2 -2
  207. package/src/init/index.ts +2 -2
  208. package/src/linter/attributeSchema.ts +18 -2
  209. package/src/linter/checkCircularDependency.ts +1 -1
  210. package/src/linter/checkPercentageExceedingSlot.ts +28 -8
  211. package/src/linter/conditionSchema.ts +66 -10
  212. package/src/linter/featureSchema.ts +312 -116
  213. package/src/linter/lintProject.ts +9 -4
  214. package/src/linter/testSchema.ts +42 -3
  215. package/src/list/index.ts +18 -30
  216. package/src/{tester → list}/matrix.ts +33 -11
  217. package/src/site/exportSite.ts +2 -4
  218. package/src/site/generateHistory.ts +1 -1
  219. package/src/site/generateSiteSearchIndex.ts +58 -50
  220. package/src/site/getLastModifiedFromHistory.ts +1 -1
  221. package/src/tester/helpers.spec.ts +149 -0
  222. package/src/tester/helpers.ts +76 -0
  223. package/src/tester/index.ts +0 -1
  224. package/src/tester/printTestResult.ts +25 -3
  225. package/src/tester/testFeature.ts +270 -124
  226. package/src/tester/testProject.ts +28 -49
  227. package/src/tester/testSegment.ts +48 -40
  228. package/src/utils/extractKeys.ts +58 -1
  229. package/src/utils/git.ts +1 -1
  230. package/tsconfig.cjs.json +1 -0
  231. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +0 -151
  232. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +0 -157
  233. package/lib/restore/index.d.ts +0 -4
  234. package/lib/restore/index.js +0 -91
  235. package/lib/restore/index.js.map +0 -1
  236. package/lib/tester/checkIfArraysAreEqual.d.ts +0 -1
  237. package/lib/tester/checkIfArraysAreEqual.js +0 -18
  238. package/lib/tester/checkIfArraysAreEqual.js.map +0 -1
  239. package/lib/tester/checkIfObjectsAreEqual.d.ts +0 -1
  240. package/lib/tester/checkIfObjectsAreEqual.js +0 -23
  241. package/lib/tester/checkIfObjectsAreEqual.js.map +0 -1
  242. package/lib/tester/checkIfObjectsAreEqual.spec.js +0 -26
  243. package/lib/tester/checkIfObjectsAreEqual.spec.js.map +0 -1
  244. package/lib/tester/matrix.js.map +0 -1
  245. package/lib/tester/matrix.spec.js.map +0 -1
  246. package/src/restore/index.ts +0 -42
  247. package/src/tester/checkIfArraysAreEqual.ts +0 -16
  248. package/src/tester/checkIfObjectsAreEqual.spec.ts +0 -31
  249. package/src/tester/checkIfObjectsAreEqual.ts +0 -24
  250. /package/lib/{tester → list}/matrix.spec.d.ts +0 -0
  251. /package/lib/tester/{checkIfObjectsAreEqual.spec.d.ts → helpers.spec.d.ts} +0 -0
  252. /package/src/{tester → list}/matrix.spec.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"filesystemAdapter.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystemAdapter.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface EvaluateOptions {
5
5
  environment?: string;
6
6
  feature: string;
7
7
  context: Record<string, unknown>;
8
- print?: boolean;
8
+ json?: boolean;
9
9
  pretty?: boolean;
10
10
  verbose?: boolean;
11
11
  schemaVersion?: string;
@@ -1,220 +1,152 @@
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 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["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
- };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
46
- };
47
2
  Object.defineProperty(exports, "__esModule", { value: true });
48
3
  exports.evaluatePlugin = void 0;
49
4
  exports.evaluateFeature = evaluateFeature;
50
- var sdk_1 = require("@featurevisor/sdk");
51
- var config_1 = require("../config");
52
- var builder_1 = require("../builder");
5
+ const sdk_1 = require("@featurevisor/sdk");
6
+ const config_1 = require("../config");
7
+ const builder_1 = require("../builder");
53
8
  function printEvaluationDetails(evaluation) {
54
- var ignoreKeys = ["featureKey", "variableKey", "traffic", "force"];
55
- for (var _i = 0, _a = Object.entries(evaluation); _i < _a.length; _i++) {
56
- var _b = _a[_i], key = _b[0], value = _b[1];
9
+ const ignoreKeys = ["featureKey", "variableKey", "traffic", "force"];
10
+ for (const [key, value] of Object.entries(evaluation)) {
57
11
  if (ignoreKeys.indexOf(key) !== -1) {
58
12
  continue;
59
13
  }
60
14
  if (key === "variation") {
61
- console.log("-", "".concat(key, ":"), value === null || value === void 0 ? void 0 : value.value);
15
+ console.log(`-`, `${key}:`, value?.value);
62
16
  continue;
63
17
  }
64
18
  if (key === "variableSchema") {
65
- console.log("-", "variableType:", value.type);
66
- console.log("-", "defaultValue:", value.defaultValue);
19
+ console.log(`-`, `variableType:`, value.type);
20
+ console.log(`-`, `defaultValue:`, value.defaultValue);
67
21
  continue;
68
22
  }
69
- console.log("-", "".concat(key, ":"), value);
23
+ console.log(`-`, `${key}:`, value);
70
24
  }
71
25
  }
72
26
  function printLogs(logs) {
73
- logs.forEach(function (log) {
74
- console.log("[".concat(log.level, "] ").concat(log.message), log.details);
27
+ logs.forEach((log) => {
28
+ console.log(`[${log.level}] ${log.message}`, log.details);
75
29
  console.log("");
76
30
  });
77
31
  }
78
32
  function printHeader(message) {
79
33
  console.log("\n\n###############");
80
- console.log("# ".concat(message));
34
+ console.log(`# ${message}`);
81
35
  console.log("###############\n");
82
36
  }
83
- function evaluateFeature(deps, options) {
84
- return __awaiter(this, void 0, void 0, function () {
85
- var datasource, projectConfig, existingState, datafileContent, logs, f, flagEvaluation, flagEvaluationLogs, variationEvaluation, variationEvaluationLogs, variableEvaluations, variableEvaluationLogs, feature, variableKeys, allEvaluations, _i, _a, _b, key, value;
86
- var _c;
87
- return __generator(this, function (_d) {
88
- switch (_d.label) {
89
- case 0:
90
- datasource = deps.datasource, projectConfig = deps.projectConfig;
91
- return [4 /*yield*/, datasource.readState(options.environment || false)];
92
- case 1:
93
- existingState = _d.sent();
94
- return [4 /*yield*/, (0, builder_1.buildDatafile)(projectConfig, datasource, {
95
- schemaVersion: options.schemaVersion || config_1.SCHEMA_VERSION,
96
- revision: "include-all-features",
97
- environment: options.environment || false,
98
- inflate: options.inflate,
99
- }, existingState)];
100
- case 2:
101
- datafileContent = _d.sent();
102
- logs = [];
103
- f = (0, sdk_1.createInstance)({
104
- datafile: datafileContent,
105
- logger: (0, sdk_1.createLogger)({
106
- levels: ["error", "warn", "info", "debug"],
107
- handler: function (level, message, details) {
108
- logs.push({
109
- level: level,
110
- message: message,
111
- details: details,
112
- });
113
- },
114
- }),
115
- });
116
- flagEvaluation = f.evaluateFlag(options.feature, options.context);
117
- flagEvaluationLogs = __spreadArray([], logs, true);
118
- logs = [];
119
- variationEvaluation = f.evaluateVariation(options.feature, options.context);
120
- variationEvaluationLogs = __spreadArray([], logs, true);
121
- logs = [];
122
- variableEvaluations = {};
123
- variableEvaluationLogs = {};
124
- feature = f.getFeature(options.feature);
125
- if (feature === null || feature === void 0 ? void 0 : feature.variablesSchema) {
126
- variableKeys = Array.isArray(feature.variablesSchema)
127
- ? feature.variablesSchema
128
- : Object.keys(feature.variablesSchema);
129
- variableKeys.forEach(function (variableKey) {
130
- var variableEvaluation = f.evaluateVariable(options.feature, variableKey, options.context);
131
- variableEvaluationLogs[variableKey] = __spreadArray([], logs, true);
132
- logs = [];
133
- variableEvaluations[variableKey] = variableEvaluation;
134
- });
135
- }
136
- allEvaluations = {
137
- flag: flagEvaluation,
138
- variation: variationEvaluation,
139
- variables: variableEvaluations,
140
- };
141
- if (options.print) {
142
- console.log(options.pretty ? JSON.stringify(allEvaluations, null, 2) : JSON.stringify(allEvaluations));
143
- return [2 /*return*/];
144
- }
145
- console.log("");
146
- console.log("Evaluating feature \"".concat(options.feature, "\" in environment \"").concat(options.environment, "\"..."));
147
- console.log("Against context: ".concat(JSON.stringify(options.context)));
148
- // flag
149
- printHeader("Is enabled?");
150
- if (options.verbose) {
151
- printLogs(flagEvaluationLogs);
152
- }
153
- console.log("Value:", flagEvaluation.enabled);
154
- console.log("\nDetails:\n");
155
- printEvaluationDetails(flagEvaluation);
156
- // variation
157
- printHeader("Variation");
158
- if (feature === null || feature === void 0 ? void 0 : feature.variations) {
159
- if (options.verbose) {
160
- printLogs(variationEvaluationLogs);
161
- }
162
- console.log("Value:", JSON.stringify((_c = variationEvaluation.variation) === null || _c === void 0 ? void 0 : _c.value));
163
- console.log("\nDetails:\n");
164
- printEvaluationDetails(variationEvaluation);
165
- }
166
- else {
167
- console.log("No variations defined.");
168
- }
169
- // variables
170
- if (feature === null || feature === void 0 ? void 0 : feature.variablesSchema) {
171
- for (_i = 0, _a = Object.entries(variableEvaluations); _i < _a.length; _i++) {
172
- _b = _a[_i], key = _b[0], value = _b[1];
173
- printHeader("Variable: ".concat(key));
174
- if (options.verbose) {
175
- printLogs(variableEvaluationLogs[key]);
176
- }
177
- console.log("Value:", typeof value.variableValue !== "undefined"
178
- ? JSON.stringify(value.variableValue)
179
- : value.variableValue);
180
- console.log("\nDetails:\n");
181
- printEvaluationDetails(value);
182
- }
183
- }
184
- else {
185
- printHeader("Variables");
186
- console.log("No variables defined.");
187
- }
188
- return [2 /*return*/];
189
- }
190
- });
37
+ async function evaluateFeature(deps, options) {
38
+ const { datasource, projectConfig } = deps;
39
+ const existingState = await datasource.readState(options.environment || false);
40
+ const datafileContent = await (0, builder_1.buildDatafile)(projectConfig, datasource, {
41
+ schemaVersion: options.schemaVersion || config_1.SCHEMA_VERSION,
42
+ revision: "include-all-features",
43
+ environment: options.environment || false,
44
+ inflate: options.inflate,
45
+ }, existingState);
46
+ let logs = [];
47
+ const f = (0, sdk_1.createInstance)({
48
+ datafile: datafileContent,
49
+ logger: (0, sdk_1.createLogger)({
50
+ level: "debug",
51
+ handler: (level, message, details) => {
52
+ logs.push({
53
+ level,
54
+ message,
55
+ details,
56
+ });
57
+ },
58
+ }),
191
59
  });
60
+ const flagEvaluation = f.evaluateFlag(options.feature, options.context);
61
+ const flagEvaluationLogs = [...logs];
62
+ logs = [];
63
+ const variationEvaluation = f.evaluateVariation(options.feature, options.context);
64
+ const variationEvaluationLogs = [...logs];
65
+ logs = [];
66
+ const variableEvaluations = {};
67
+ const variableEvaluationLogs = {};
68
+ const feature = f.getFeature(options.feature);
69
+ if (feature?.variablesSchema) {
70
+ const variableKeys = Array.isArray(feature.variablesSchema)
71
+ ? feature.variablesSchema
72
+ : Object.keys(feature.variablesSchema);
73
+ variableKeys.forEach((variableKey) => {
74
+ const variableEvaluation = f.evaluateVariable(options.feature, variableKey, options.context);
75
+ variableEvaluationLogs[variableKey] = [...logs];
76
+ logs = [];
77
+ variableEvaluations[variableKey] = variableEvaluation;
78
+ });
79
+ }
80
+ const allEvaluations = {
81
+ flag: flagEvaluation,
82
+ variation: variationEvaluation,
83
+ variables: variableEvaluations,
84
+ };
85
+ if (options.json) {
86
+ console.log(options.pretty ? JSON.stringify(allEvaluations, null, 2) : JSON.stringify(allEvaluations));
87
+ return;
88
+ }
89
+ console.log("");
90
+ console.log(`Evaluating feature "${options.feature}" in environment "${options.environment}"...`);
91
+ console.log(`Against context: ${JSON.stringify(options.context)}`);
92
+ // flag
93
+ printHeader("Is enabled?");
94
+ if (options.verbose) {
95
+ printLogs(flagEvaluationLogs);
96
+ }
97
+ console.log("Value:", flagEvaluation.enabled);
98
+ console.log("\nDetails:\n");
99
+ printEvaluationDetails(flagEvaluation);
100
+ // variation
101
+ printHeader("Variation");
102
+ if (feature?.variations) {
103
+ if (options.verbose) {
104
+ printLogs(variationEvaluationLogs);
105
+ }
106
+ console.log("Value:", JSON.stringify(variationEvaluation.variation?.value));
107
+ console.log("\nDetails:\n");
108
+ printEvaluationDetails(variationEvaluation);
109
+ }
110
+ else {
111
+ console.log("No variations defined.");
112
+ }
113
+ // variables
114
+ if (feature?.variablesSchema) {
115
+ for (const [key, value] of Object.entries(variableEvaluations)) {
116
+ printHeader(`Variable: ${key}`);
117
+ if (options.verbose) {
118
+ printLogs(variableEvaluationLogs[key]);
119
+ }
120
+ console.log("Value:", typeof value.variableValue !== "undefined"
121
+ ? JSON.stringify(value.variableValue)
122
+ : value.variableValue);
123
+ console.log("\nDetails:\n");
124
+ printEvaluationDetails(value);
125
+ }
126
+ }
127
+ else {
128
+ printHeader("Variables");
129
+ console.log("No variables defined.");
130
+ }
192
131
  }
193
132
  exports.evaluatePlugin = {
194
133
  command: "evaluate",
195
- handler: function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
196
- var rootDirectoryPath = _b.rootDirectoryPath, projectConfig = _b.projectConfig, datasource = _b.datasource, parsed = _b.parsed;
197
- return __generator(this, function (_c) {
198
- switch (_c.label) {
199
- case 0: return [4 /*yield*/, evaluateFeature({
200
- rootDirectoryPath: rootDirectoryPath,
201
- projectConfig: projectConfig,
202
- datasource: datasource,
203
- options: parsed,
204
- }, {
205
- environment: parsed.environment,
206
- feature: parsed.feature,
207
- context: parsed.context ? JSON.parse(parsed.context) : {},
208
- print: parsed.print,
209
- pretty: parsed.pretty,
210
- verbose: parsed.verbose,
211
- })];
212
- case 1:
213
- _c.sent();
214
- return [2 /*return*/];
215
- }
134
+ handler: async ({ rootDirectoryPath, projectConfig, datasource, parsed }) => {
135
+ await evaluateFeature({
136
+ rootDirectoryPath,
137
+ projectConfig,
138
+ datasource,
139
+ options: parsed,
140
+ }, {
141
+ environment: parsed.environment,
142
+ feature: parsed.feature,
143
+ context: parsed.context ? JSON.parse(parsed.context) : {},
144
+ // @NOTE: introduce optional --at?
145
+ json: parsed.json,
146
+ pretty: parsed.pretty,
147
+ verbose: parsed.verbose,
216
148
  });
217
- }); },
149
+ },
218
150
  examples: [
219
151
  {
220
152
  command: 'evaluate --environment=production --feature=my_feature --context=\'{"userId": "123"}\'',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluate/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SegmentKey } from "@featurevisor/types";
1
+ import type { SegmentKey } from "@featurevisor/types";
2
2
  import { Dependencies } from "../dependencies";
3
3
  export interface DuplicateSegmentsOptions {
4
4
  authors?: boolean;
@@ -1,134 +1,46 @@
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 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["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
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  exports.findDuplicateSegments = findDuplicateSegments;
40
- var crypto = require("crypto");
41
- function findDuplicateSegments(deps_1) {
42
- return __awaiter(this, arguments, void 0, function (deps, options) {
43
- var datasource, segments, segmentsWithHash, _i, segments_1, segmentKey, segment, conditions, hash, groupedSegments, duplicateSegments, result, _loop_1, _a, duplicateSegments_1, segmentKeys;
44
- if (options === void 0) { options = {}; }
45
- return __generator(this, function (_b) {
46
- switch (_b.label) {
47
- case 0:
48
- datasource = deps.datasource;
49
- return [4 /*yield*/, datasource.listSegments()];
50
- case 1:
51
- segments = _b.sent();
52
- segmentsWithHash = [];
53
- _i = 0, segments_1 = segments;
54
- _b.label = 2;
55
- case 2:
56
- if (!(_i < segments_1.length)) return [3 /*break*/, 5];
57
- segmentKey = segments_1[_i];
58
- return [4 /*yield*/, datasource.readSegment(segmentKey)];
59
- case 3:
60
- segment = _b.sent();
61
- conditions = JSON.stringify(segment.conditions);
62
- hash = crypto.createHash("sha256").update(conditions).digest("hex");
63
- segmentsWithHash.push({
64
- segmentKey: segmentKey,
65
- hash: hash,
66
- });
67
- _b.label = 4;
68
- case 4:
69
- _i++;
70
- return [3 /*break*/, 2];
71
- case 5:
72
- groupedSegments = segmentsWithHash.reduce(function (acc, _a) {
73
- var segmentKey = _a.segmentKey, hash = _a.hash;
74
- if (!acc[hash]) {
75
- acc[hash] = [];
76
- }
77
- acc[hash].push(segmentKey);
78
- return acc;
79
- }, {});
80
- duplicateSegments = Object.values(groupedSegments).filter(function (segmentKeys) { return segmentKeys.length > 1; });
81
- result = [];
82
- _loop_1 = function (segmentKeys) {
83
- var entry, historyEntries_1, _c, segmentKeys_1, segmentKey, entries, authors;
84
- return __generator(this, function (_d) {
85
- switch (_d.label) {
86
- case 0:
87
- entry = {
88
- segments: segmentKeys,
89
- };
90
- if (!options.authors) return [3 /*break*/, 5];
91
- historyEntries_1 = [];
92
- _c = 0, segmentKeys_1 = segmentKeys;
93
- _d.label = 1;
94
- case 1:
95
- if (!(_c < segmentKeys_1.length)) return [3 /*break*/, 4];
96
- segmentKey = segmentKeys_1[_c];
97
- return [4 /*yield*/, datasource.listHistoryEntries("segment", segmentKey)];
98
- case 2:
99
- entries = _d.sent();
100
- entries.forEach(function (entry) {
101
- historyEntries_1.push(entry);
102
- });
103
- _d.label = 3;
104
- case 3:
105
- _c++;
106
- return [3 /*break*/, 1];
107
- case 4:
108
- authors = Array.from(new Set(historyEntries_1.map(function (entry) { return entry.author; })));
109
- entry.authors = authors;
110
- _d.label = 5;
111
- case 5:
112
- result.push(entry);
113
- return [2 /*return*/];
114
- }
115
- });
116
- };
117
- _a = 0, duplicateSegments_1 = duplicateSegments;
118
- _b.label = 6;
119
- case 6:
120
- if (!(_a < duplicateSegments_1.length)) return [3 /*break*/, 9];
121
- segmentKeys = duplicateSegments_1[_a];
122
- return [5 /*yield**/, _loop_1(segmentKeys)];
123
- case 7:
124
- _b.sent();
125
- _b.label = 8;
126
- case 8:
127
- _a++;
128
- return [3 /*break*/, 6];
129
- case 9: return [2 /*return*/, result];
130
- }
4
+ const crypto = require("crypto");
5
+ async function findDuplicateSegments(deps, options = {}) {
6
+ const { datasource } = deps;
7
+ const segments = await datasource.listSegments();
8
+ const segmentsWithHash = [];
9
+ for (const segmentKey of segments) {
10
+ const segment = await datasource.readSegment(segmentKey);
11
+ const conditions = JSON.stringify(segment.conditions);
12
+ const hash = crypto.createHash("sha256").update(conditions).digest("hex");
13
+ segmentsWithHash.push({
14
+ segmentKey,
15
+ hash,
131
16
  });
132
- });
17
+ }
18
+ const groupedSegments = segmentsWithHash.reduce((acc, { segmentKey, hash }) => {
19
+ if (!acc[hash]) {
20
+ acc[hash] = [];
21
+ }
22
+ acc[hash].push(segmentKey);
23
+ return acc;
24
+ }, {});
25
+ const duplicateSegments = Object.values(groupedSegments).filter((segmentKeys) => segmentKeys.length > 1);
26
+ const result = [];
27
+ for (const segmentKeys of duplicateSegments) {
28
+ const entry = {
29
+ segments: segmentKeys,
30
+ };
31
+ if (options.authors) {
32
+ const historyEntries = [];
33
+ for (const segmentKey of segmentKeys) {
34
+ const entries = await datasource.listHistoryEntries("segment", segmentKey);
35
+ entries.forEach((entry) => {
36
+ historyEntries.push(entry);
37
+ });
38
+ }
39
+ const authors = Array.from(new Set(historyEntries.map((entry) => entry.author)));
40
+ entry.authors = authors;
41
+ }
42
+ result.push(entry);
43
+ }
44
+ return result;
133
45
  }
134
46
  //# sourceMappingURL=findDuplicateSegments.js.map