@featurevisor/core 0.61.0 → 0.62.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 (46) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/index.html +1 -1
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  6. package/coverage/lcov-report/lib/builder/index.html +1 -1
  7. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  8. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  9. package/coverage/lcov-report/lib/tester/index.html +1 -1
  10. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  11. package/coverage/lcov-report/src/builder/index.html +1 -1
  12. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  13. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  14. package/coverage/lcov-report/src/tester/index.html +1 -1
  15. package/lib/datasource/adapter.d.ts +3 -2
  16. package/lib/datasource/adapter.js.map +1 -1
  17. package/lib/datasource/datasource.d.ts +5 -2
  18. package/lib/datasource/datasource.js +10 -2
  19. package/lib/datasource/datasource.js.map +1 -1
  20. package/lib/datasource/filesystemAdapter.d.ts +11 -3
  21. package/lib/datasource/filesystemAdapter.js +127 -1
  22. package/lib/datasource/filesystemAdapter.js.map +1 -1
  23. package/lib/site/exportSite.js +4 -3
  24. package/lib/site/exportSite.js.map +1 -1
  25. package/lib/site/generateHistory.d.ts +1 -1
  26. package/lib/site/generateHistory.js +58 -66
  27. package/lib/site/generateHistory.js.map +1 -1
  28. package/lib/{utils.js → utils/extractKeys.js} +1 -1
  29. package/lib/utils/extractKeys.js.map +1 -0
  30. package/lib/utils/git.d.ts +6 -0
  31. package/lib/utils/git.js +121 -0
  32. package/lib/utils/git.js.map +1 -0
  33. package/lib/utils/index.d.ts +2 -0
  34. package/lib/utils/index.js +19 -0
  35. package/lib/utils/index.js.map +1 -0
  36. package/package.json +5 -5
  37. package/src/datasource/adapter.ts +17 -3
  38. package/src/datasource/datasource.ts +12 -2
  39. package/src/datasource/filesystemAdapter.ts +144 -4
  40. package/src/site/exportSite.ts +1 -3
  41. package/src/site/generateHistory.ts +3 -77
  42. package/src/utils/git.ts +129 -0
  43. package/src/utils/index.ts +2 -0
  44. package/lib/utils.js.map +0 -1
  45. /package/lib/{utils.d.ts → utils/extractKeys.d.ts} +0 -0
  46. /package/src/{utils.ts → utils/extractKeys.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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"}
@@ -56,17 +56,18 @@ function exportSite(deps) {
56
56
  siteDistPath = path.join(sitePackagePath, "dist");
57
57
  fs.cpSync(siteDistPath, projectConfig.siteExportDirectoryPath, { recursive: true });
58
58
  console.log("Site dist copied to:", projectConfig.siteExportDirectoryPath);
59
- fullHistory = (0, generateHistory_1.generateHistory)(deps);
59
+ return [4 /*yield*/, (0, generateHistory_1.generateHistory)(deps)];
60
+ case 1:
61
+ fullHistory = _a.sent();
60
62
  repoDetails = (0, getRepoDetails_1.getRepoDetails)();
61
63
  return [4 /*yield*/, (0, generateSiteSearchIndex_1.generateSiteSearchIndex)(deps, fullHistory, repoDetails)];
62
- case 1:
64
+ case 2:
63
65
  searchIndex = _a.sent();
64
66
  searchIndexFilePath = path.join(projectConfig.siteExportDirectoryPath, "search-index.json");
65
67
  fs.writeFileSync(searchIndexFilePath, JSON.stringify(searchIndex));
66
68
  console.log("Site search index written at: ".concat(searchIndexFilePath));
67
69
  // copy datafiles
68
70
  fs.cpSync(projectConfig.outputDirectoryPath, path.join(projectConfig.siteExportDirectoryPath, "datafiles"), { recursive: true });
69
- // @TODO: replace placeoholders in index.html
70
71
  return [2 /*return*/, hasError];
71
72
  }
72
73
  });
@@ -1 +1 @@
1
- {"version":3,"file":"exportSite.js","sourceRoot":"","sources":["../../src/site/exportSite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,+BAAiC;AAEjC,qDAAoD;AACpD,mDAAkD;AAClD,qEAAoE;AAGpE,SAAsB,UAAU,CAAC,IAAkB;;;;;;oBACzC,aAAa,GAAK,IAAI,cAAT,CAAU;oBAEzB,QAAQ,GAAG,KAAK,CAAC;oBAEvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBAE7C,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC;oBAGnF,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBACxD,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEpF,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBAGrE,WAAW,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;oBAGpC,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;oBACjB,qBAAM,IAAA,iDAAuB,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAA;;oBAA3E,WAAW,GAAG,SAA6D;oBAC3E,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;oBAClG,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,wCAAiC,mBAAmB,CAAE,CAAC,CAAC;oBAEpE,iBAAiB;oBACjB,EAAE,CAAC,MAAM,CACP,aAAa,CAAC,mBAAmB,EACjC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAC7D,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;oBAEF,6CAA6C;oBAE7C,sBAAO,QAAQ,EAAC;;;;CACjB;AAnCD,gCAmCC"}
1
+ {"version":3,"file":"exportSite.js","sourceRoot":"","sources":["../../src/site/exportSite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,+BAAiC;AAEjC,qDAAoD;AACpD,mDAAkD;AAClD,qEAAoE;AAGpE,SAAsB,UAAU,CAAC,IAAkB;;;;;;oBACzC,aAAa,GAAK,IAAI,cAAT,CAAU;oBAEzB,QAAQ,GAAG,KAAK,CAAC;oBAEvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBAE7C,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC;oBAGnF,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBACxD,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEpF,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBAGvD,qBAAM,IAAA,iCAAe,EAAC,IAAI,CAAC,EAAA;;oBAAzC,WAAW,GAAG,SAA2B;oBAGzC,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;oBACjB,qBAAM,IAAA,iDAAuB,EAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAA;;oBAA3E,WAAW,GAAG,SAA6D;oBAC3E,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;oBAClG,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,wCAAiC,mBAAmB,CAAE,CAAC,CAAC;oBAEpE,iBAAiB;oBACjB,EAAE,CAAC,MAAM,CACP,aAAa,CAAC,mBAAmB,EACjC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAC7D,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;oBAEF,sBAAO,QAAQ,EAAC;;;;CACjB;AAjCD,gCAiCC"}
@@ -1,3 +1,3 @@
1
1
  import { HistoryEntry } from "@featurevisor/types";
2
2
  import { Dependencies } from "../dependencies";
3
- export declare function generateHistory(deps: Dependencies): HistoryEntry[];
3
+ export declare function generateHistory(deps: Dependencies): Promise<HistoryEntry[]>;
@@ -1,77 +1,69 @@
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.generateHistory = void 0;
4
40
  var path = require("path");
5
41
  var fs = require("fs");
6
- var child_process_1 = require("child_process");
7
- var getRelativePaths_1 = require("./getRelativePaths");
8
42
  function generateHistory(deps) {
9
- var rootDirectoryPath = deps.rootDirectoryPath, projectConfig = deps.projectConfig, datasource = deps.datasource;
10
- try {
11
- // raw history
12
- var rawHistoryFilePath = path.join(projectConfig.siteExportDirectoryPath, "history-raw.txt");
13
- var _a = (0, getRelativePaths_1.getRelativePaths)(rootDirectoryPath, projectConfig), relativeFeaturesPath = _a.relativeFeaturesPath, relativeSegmentsPath_1 = _a.relativeSegmentsPath, relativeAttributesPath_1 = _a.relativeAttributesPath;
14
- var separator_1 = "|";
15
- var cmd = "git log --name-only --pretty=format:\"%h".concat(separator_1, "%an").concat(separator_1, "%aI\" --no-merges --relative -- ").concat(relativeFeaturesPath, " ").concat(relativeSegmentsPath_1, " ").concat(relativeAttributesPath_1, " > ").concat(rawHistoryFilePath);
16
- (0, child_process_1.execSync)(cmd);
17
- console.log("History (raw) generated at: ".concat(rawHistoryFilePath));
18
- // structured history
19
- var rawHistory = fs.readFileSync(rawHistoryFilePath, "utf8");
20
- var fullHistory_1 = [];
21
- var entry_1 = {
22
- commit: "",
23
- author: "",
24
- timestamp: "",
25
- entities: [],
26
- };
27
- rawHistory.split("\n").forEach(function (line, index) {
28
- if (index === 0 && line.length === 0) {
29
- // no history found
30
- return;
31
- }
32
- if (index > 0 && line.length === 0) {
33
- // commit finished
34
- fullHistory_1.push(entry_1);
35
- return;
36
- }
37
- if (line.indexOf(separator_1) > -1) {
38
- // commit line
39
- var parts = line.split("|");
40
- entry_1 = {
41
- commit: parts[0],
42
- author: parts[1],
43
- timestamp: parts[2],
44
- entities: [],
45
- };
46
- }
47
- else {
48
- // file line
49
- var lineSplit = line.split(path.sep);
50
- var fileName = lineSplit.pop();
51
- var relativeDir = lineSplit.join(path.sep);
52
- var key = fileName.replace("." + datasource.getExtension(), "");
53
- var type = "feature";
54
- if (relativeDir === relativeSegmentsPath_1) {
55
- type = "segment";
56
- }
57
- else if (relativeDir === relativeAttributesPath_1) {
58
- type = "attribute";
59
- }
60
- entry_1.entities.push({
61
- type: type,
62
- key: key,
63
- });
43
+ return __awaiter(this, void 0, void 0, function () {
44
+ var projectConfig, datasource, fullHistory, fullHistoryFilePath, error_1;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ projectConfig = deps.projectConfig, datasource = deps.datasource;
49
+ _a.label = 1;
50
+ case 1:
51
+ _a.trys.push([1, 3, , 4]);
52
+ return [4 /*yield*/, datasource.listHistoryEntries()];
53
+ case 2:
54
+ fullHistory = _a.sent();
55
+ fullHistoryFilePath = path.join(projectConfig.siteExportDirectoryPath, "history-full.json");
56
+ fs.writeFileSync(fullHistoryFilePath, JSON.stringify(fullHistory));
57
+ console.log("History (full) generated at: ".concat(fullHistoryFilePath));
58
+ return [2 /*return*/, fullHistory];
59
+ case 3:
60
+ error_1 = _a.sent();
61
+ console.error("Error when generating history from git: ".concat(error_1.status, "\n").concat(error_1.stderr.toString()));
62
+ return [2 /*return*/, []];
63
+ case 4: return [2 /*return*/];
64
64
  }
65
65
  });
66
- var fullHistoryFilePath = path.join(projectConfig.siteExportDirectoryPath, "history-full.json");
67
- fs.writeFileSync(fullHistoryFilePath, JSON.stringify(fullHistory_1));
68
- console.log("History (full) generated at: ".concat(fullHistoryFilePath));
69
- return fullHistory_1;
70
- }
71
- catch (error) {
72
- console.error("Error when generating history from git: ".concat(error.status, "\n").concat(error.stderr.toString()));
73
- return [];
74
- }
66
+ });
75
67
  }
76
68
  exports.generateHistory = generateHistory;
77
69
  //# sourceMappingURL=generateHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateHistory.js","sourceRoot":"","sources":["../../src/site/generateHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateHistory.js","sourceRoot":"","sources":["../../src/site/generateHistory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA6B;AAC7B,uBAAyB;AAKzB,SAAsB,eAAe,CAAC,IAAkB;;;;;;oBAC9C,aAAa,GAAiB,IAAI,cAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;;;;oBAGrB,qBAAM,UAAU,CAAC,kBAAkB,EAAE,EAAA;;oBAAnD,WAAW,GAAG,SAAqC;oBAEnD,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,aAAa,CAAC,uBAAuB,EACrC,mBAAmB,CACpB,CAAC;oBACF,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CAAC,uCAAgC,mBAAmB,CAAE,CAAC,CAAC;oBAEnE,sBAAO,WAAW,EAAC;;;oBAEnB,OAAO,CAAC,KAAK,CACX,kDAA2C,OAAK,CAAC,MAAM,eAAK,OAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAE,CACtF,CAAC;oBAEF,sBAAO,EAAE,EAAC;;;;;CAEb;AArBD,0CAqBC"}
@@ -63,4 +63,4 @@ function extractAttributeKeysFromConditions(conditions) {
63
63
  return result;
64
64
  }
65
65
  exports.extractAttributeKeysFromConditions = extractAttributeKeysFromConditions;
66
- //# sourceMappingURL=utils.js.map
66
+ //# sourceMappingURL=extractKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractKeys.js","sourceRoot":"","sources":["../../src/utils/extractKeys.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mCAAmC,CACjD,QAAuC;IAEvC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAc,CAAC;IAErC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;YACvB,mCAAmC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,UAAU;gBAC9D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,IAAI,KAAK,IAAI,QAAQ,EAAE;YACrB,mCAAmC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,UAAU;gBACnE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,mCAAmC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,UAAU;gBAClE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,KAAK,IAAI,QAAQ,EAAE;YACrB,mCAAmC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,UAAU;gBACnE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;KACF;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtCD,kFAsCC;AAED,SAAgB,kCAAkC,CAChD,UAAmC;IAEnC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS;YAC3B,kCAAkC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,YAAY;gBACjE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,WAAW,IAAI,UAAU,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,IAAI,UAAU,EAAE;QACvB,kCAAkC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,YAAY;YACtE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,IAAI,IAAI,UAAU,EAAE;QACtB,kCAAkC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,YAAY;YACrE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,KAAK,IAAI,UAAU,EAAE;QACvB,kCAAkC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,YAAY;YACtE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AApCD,gFAoCC"}
@@ -0,0 +1,6 @@
1
+ import { Commit } from "@featurevisor/types";
2
+ import { ProjectConfig } from "../config";
3
+ export declare function getCommit(gitShowOutput: string, options: {
4
+ rootDirectoryPath: string;
5
+ projectConfig: ProjectConfig;
6
+ }): Commit;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCommit = void 0;
4
+ var path = require("path");
5
+ function parseGitCommitShowOutput(gitShowOutput) {
6
+ var result = {
7
+ hash: "",
8
+ author: "",
9
+ date: "",
10
+ message: "",
11
+ diffs: {},
12
+ };
13
+ var lines = gitShowOutput.split("\n");
14
+ var currentFile = "";
15
+ var parsingDiffs = false;
16
+ var parsingMessage = false;
17
+ lines.forEach(function (line) {
18
+ if (line.startsWith("commit ")) {
19
+ result.hash = line.replace("commit ", "").trim();
20
+ }
21
+ else if (line.startsWith("Author:")) {
22
+ result.author = line.replace("Author:", "").trim();
23
+ parsingMessage = false;
24
+ }
25
+ else if (line.startsWith("Date:")) {
26
+ result.date = line.replace("Date:", "").trim();
27
+ parsingMessage = true; // Start parsing commit message
28
+ }
29
+ else if (line.startsWith("diff --git")) {
30
+ if (currentFile) {
31
+ // Finish capturing the previous file's diff
32
+ parsingDiffs = false;
33
+ }
34
+ currentFile = line.split(" ")[2].substring(2);
35
+ result.diffs[currentFile] = line + "\n"; // Include the diff --git line
36
+ parsingDiffs = true;
37
+ parsingMessage = false; // Stop parsing commit message
38
+ }
39
+ else if (parsingDiffs) {
40
+ result.diffs[currentFile] += line + "\n";
41
+ }
42
+ else if (parsingMessage && line.trim() !== "") {
43
+ result.message += line.trim() + "\n"; // Capture commit message
44
+ }
45
+ });
46
+ return result;
47
+ }
48
+ function analyzeFileChange(diff) {
49
+ var status = "updated"; // Default to 'updated'
50
+ // Check for file creation or deletion
51
+ if (diff.includes("new file mode")) {
52
+ status = "created";
53
+ }
54
+ else if (diff.includes("deleted file mode")) {
55
+ status = "deleted";
56
+ }
57
+ return status;
58
+ }
59
+ function getCommit(gitShowOutput, options) {
60
+ var parsed = parseGitCommitShowOutput(gitShowOutput);
61
+ var rootDirectoryPath = options.rootDirectoryPath, projectConfig = options.projectConfig;
62
+ var commit = {
63
+ hash: parsed.hash,
64
+ author: parsed.author,
65
+ timestamp: parsed.date,
66
+ entities: [],
67
+ };
68
+ Object.keys(parsed.diffs).forEach(function (file) {
69
+ var diff = parsed.diffs[file];
70
+ var status = analyzeFileChange(diff);
71
+ var absolutePath = path.join(rootDirectoryPath, file);
72
+ var relativeDir = path.dirname(absolutePath);
73
+ // get entity type
74
+ var type = "attribute";
75
+ if (relativeDir === projectConfig.attributesDirectoryPath) {
76
+ type = "attribute";
77
+ }
78
+ else if (relativeDir === projectConfig.segmentsDirectoryPath) {
79
+ type = "segment";
80
+ }
81
+ else if (relativeDir === projectConfig.featuresDirectoryPath) {
82
+ type = "feature";
83
+ }
84
+ else if (relativeDir === projectConfig.groupsDirectoryPath) {
85
+ type = "group";
86
+ }
87
+ else if (relativeDir === projectConfig.testsDirectoryPath) {
88
+ type = "test";
89
+ }
90
+ else {
91
+ // unknown type
92
+ return;
93
+ }
94
+ // get entity key
95
+ var fileName = absolutePath.split(path.sep).pop();
96
+ var extensionWithDot = "." + projectConfig.parser.extension;
97
+ if (!fileName.endsWith(extensionWithDot)) {
98
+ // unknown extension
99
+ return;
100
+ }
101
+ var key = fileName.replace(extensionWithDot, "");
102
+ var entityDiff = {
103
+ type: type,
104
+ key: key,
105
+ content: diff,
106
+ };
107
+ if (status === "created") {
108
+ entityDiff.created = true;
109
+ }
110
+ else if (status === "deleted") {
111
+ entityDiff.deleted = true;
112
+ }
113
+ else {
114
+ entityDiff.updated = true;
115
+ }
116
+ commit.entities.push(entityDiff);
117
+ });
118
+ return commit;
119
+ }
120
+ exports.getCommit = getCommit;
121
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./extractKeys";
2
+ export * from "./git";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./extractKeys"), exports);
18
+ __exportStar(require("./git"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,wCAAsB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "0.61.0",
3
+ "version": "0.62.0",
4
4
  "description": "Core package of Featurevisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -44,9 +44,9 @@
44
44
  },
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
- "@featurevisor/sdk": "^0.61.0",
48
- "@featurevisor/site": "^0.61.0",
49
- "@featurevisor/types": "^0.61.0",
47
+ "@featurevisor/sdk": "^0.62.0",
48
+ "@featurevisor/site": "^0.62.0",
49
+ "@featurevisor/types": "^0.62.0",
50
50
  "axios": "^1.3.4",
51
51
  "joi": "^17.8.3",
52
52
  "js-yaml": "^4.1.0",
@@ -57,5 +57,5 @@
57
57
  "@types/js-yaml": "^4.0.5",
58
58
  "@types/tar": "^6.1.4"
59
59
  },
60
- "gitHead": "c781bff1767a1c1680995e7e00b4aad7f0e5c58e"
60
+ "gitHead": "64ff2edd5bbc0deedfc69aa2ada36b36e5e0c13a"
61
61
  }
@@ -1,6 +1,12 @@
1
- import { DatafileContent, EnvironmentKey, ExistingState } from "@featurevisor/types";
2
-
3
- export type EntityType = "feature" | "group" | "segment" | "attribute" | "test";
1
+ import {
2
+ DatafileContent,
3
+ EnvironmentKey,
4
+ ExistingState,
5
+ HistoryEntry,
6
+ Commit,
7
+ CommitHash,
8
+ EntityType,
9
+ } from "@featurevisor/types";
4
10
 
5
11
  export interface DatafileOptions {
6
12
  environment: EnvironmentKey;
@@ -22,4 +28,12 @@ export abstract class Adapter {
22
28
  // datafile
23
29
  abstract readDatafile(options: DatafileOptions): Promise<DatafileContent>;
24
30
  abstract writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>;
31
+
32
+ // history
33
+ abstract listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>;
34
+ abstract readCommit(
35
+ commit: CommitHash,
36
+ entityType?: EntityType,
37
+ entityKey?: string,
38
+ ): Promise<Commit>;
25
39
  }
@@ -10,6 +10,7 @@ import {
10
10
  SegmentKey,
11
11
  AttributeKey,
12
12
  DatafileContent,
13
+ EntityType,
13
14
  } from "@featurevisor/types";
14
15
 
15
16
  import { ProjectConfig, CustomParser } from "../config";
@@ -19,8 +20,8 @@ import { Adapter, DatafileOptions } from "./adapter";
19
20
  export class Datasource {
20
21
  private adapter: Adapter;
21
22
 
22
- constructor(private config: ProjectConfig) {
23
- this.adapter = new config.adapter(config);
23
+ constructor(private config: ProjectConfig, private rootDirectoryPath?: string) {
24
+ this.adapter = new config.adapter(config, rootDirectoryPath);
24
25
  }
25
26
 
26
27
  // @TODO: only site generator needs it, find a way to get it out of here later
@@ -187,4 +188,13 @@ export class Datasource {
187
188
  getTestSpecName(testKey: string) {
188
189
  return `${testKey}.${this.getExtension()}`;
189
190
  }
191
+
192
+ // history
193
+ listHistoryEntries(entityType?: EntityType, entityKey?: string) {
194
+ return this.adapter.listHistoryEntries(entityType, entityKey);
195
+ }
196
+
197
+ readCommit(commitHash: string, entityType?: EntityType, entityKey?: string) {
198
+ return this.adapter.readCommit(commitHash, entityType, entityKey);
199
+ }
190
200
  }