@featurevisor/core 1.10.0 → 1.11.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 (46) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/coverage/clover.xml +33 -5
  4. package/coverage/coverage-final.json +2 -0
  5. package/coverage/lcov-report/index.html +26 -26
  6. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  7. package/coverage/lcov-report/lib/builder/index.html +23 -8
  8. package/coverage/lcov-report/lib/builder/revision.js.html +151 -0
  9. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  10. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  11. package/coverage/lcov-report/lib/tester/index.html +1 -1
  12. package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
  13. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  14. package/coverage/lcov-report/src/builder/index.html +23 -8
  15. package/coverage/lcov-report/src/builder/revision.ts.html +151 -0
  16. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  17. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  18. package/coverage/lcov-report/src/tester/index.html +1 -1
  19. package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
  20. package/coverage/lcov.info +57 -0
  21. package/lib/builder/buildProject.js +34 -23
  22. package/lib/builder/buildProject.js.map +1 -1
  23. package/lib/builder/revision.d.ts +1 -0
  24. package/lib/builder/revision.js +23 -0
  25. package/lib/builder/revision.js.map +1 -0
  26. package/lib/builder/revision.spec.d.ts +1 -0
  27. package/lib/builder/revision.spec.js +21 -0
  28. package/lib/builder/revision.spec.js.map +1 -0
  29. package/lib/datasource/adapter.d.ts +2 -0
  30. package/lib/datasource/adapter.js.map +1 -1
  31. package/lib/datasource/datasource.d.ts +5 -0
  32. package/lib/datasource/datasource.js +9 -0
  33. package/lib/datasource/datasource.js.map +1 -1
  34. package/lib/datasource/filesystemAdapter.d.ts +6 -0
  35. package/lib/datasource/filesystemAdapter.js +45 -1
  36. package/lib/datasource/filesystemAdapter.js.map +1 -1
  37. package/lib/tester/testSegment.js +3 -2
  38. package/lib/tester/testSegment.js.map +1 -1
  39. package/package.json +3 -3
  40. package/src/builder/buildProject.ts +13 -5
  41. package/src/builder/revision.spec.ts +22 -0
  42. package/src/builder/revision.ts +22 -0
  43. package/src/datasource/adapter.ts +4 -0
  44. package/src/datasource/datasource.ts +11 -0
  45. package/src/datasource/filesystemAdapter.ts +39 -0
  46. package/src/tester/testSegment.ts +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA6B;AAE7B,oCAA2C;AAE3C,iDAAmE;AAanE,SAAsB,YAAY,CAAC,IAAkB,EAAE,UAAgC;IAAhC,2BAAA,EAAA,eAAgC;;;;;;oBAC7E,iBAAiB,GAAgC,IAAI,kBAApC,EAAE,aAAa,GAAiB,IAAI,cAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;yBAY1D,CAAA,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAA,EAA1C,wBAA0C;oBACpB,qBAAM,IAAA,iCAAiB,EAAC;4BAC9C,UAAU,EAAE,UAAU,CAAC,OAAO;4BAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;4BACnC,aAAa,eAAA;4BACb,UAAU,YAAA;4BACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;yBAC9B,CAAC,EAAA;;oBANI,eAAe,GAAG,SAMtB;oBAEF,IAAI,UAAU,CAAC,MAAM,EAAE;wBACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;qBACvD;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;qBAC9C;oBAED,sBAAO;;oBAMH,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;oBAC1B,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;oBAE1C,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;0BAE5B,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA3B,WAAW;oBACpB,OAAO,CAAC,GAAG,CAAC,gDAAyC,WAAW,CAAE,CAAC,CAAC;oBAE9C,qBAAM,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAA;;oBAAvD,aAAa,GAAG,SAAuC;0BAEvC,EAAJ,aAAI;;;yBAAJ,CAAA,kBAAI,CAAA;oBAAX,GAAG;oBACZ,OAAO,CAAC,GAAG,CAAC,sBAAe,GAAG,CAAE,CAAC,CAAC;oBAEV,qBAAM,IAAA,6BAAa,EACzC,aAAa,EACb,UAAU,EACV;4BACE,aAAa,EAAE,uBAAc;4BAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO;4BAC5C,WAAW,EAAE,WAAW;4BACxB,GAAG,EAAE,GAAG;yBACT,EACD,aAAa,CACd,EAAA;;oBAVK,eAAe,GAAG,SAUvB;oBAED,qCAAqC;oBACrC,qBAAM,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE;4BAC9C,WAAW,aAAA;4BACX,GAAG,KAAA;yBACJ,CAAC,EAAA;;oBAJF,qCAAqC;oBACrC,SAGE,CAAC;;;oBAnBa,IAAI,CAAA;;;gBAsBtB,8BAA8B;gBAC9B,qBAAM,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,EAAA;;oBADvD,8BAA8B;oBAC9B,SAAuD,CAAC;;;oBA5BhC,IAAY,CAAA;;;;;;CA8BvC;AArED,oCAqEC"}
1
+ {"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA2C;AAE3C,uCAA6C;AAC7C,iDAAmE;AAanE,SAAsB,YAAY,CAAC,IAAkB,EAAE,UAAgC;IAAhC,2BAAA,EAAA,eAAgC;;;;;;oBAC7E,aAAa,GAAiB,IAAI,cAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;yBAYvC,CAAA,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAA,EAA1C,wBAA0C;oBACpB,qBAAM,IAAA,iCAAiB,EAAC;4BAC9C,UAAU,EAAE,UAAU,CAAC,OAAO;4BAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;4BACnC,aAAa,eAAA;4BACb,UAAU,YAAA;4BACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;yBAC9B,CAAC,EAAA;;oBANI,eAAe,GAAG,SAMtB;oBAEF,IAAI,UAAU,CAAC,MAAM,EAAE;wBACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;qBACvD;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;qBAC9C;oBAED,sBAAO;;oBAMH,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;oBAC1B,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;oBAExB,qBAAM,UAAU,CAAC,YAAY,EAAE,EAAA;;oBAAjD,eAAe,GAAG,SAA+B;oBACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;oBAE9C,YAAY,GAChB,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAA,0BAAe,EAAC,eAAe,CAAC,CAAC;0BAExD,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA3B,WAAW;oBACpB,OAAO,CAAC,GAAG,CAAC,gDAAyC,WAAW,CAAE,CAAC,CAAC;oBAE9C,qBAAM,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAA;;oBAAvD,aAAa,GAAG,SAAuC;0BAEvC,EAAJ,aAAI;;;yBAAJ,CAAA,kBAAI,CAAA;oBAAX,GAAG;oBACZ,OAAO,CAAC,GAAG,CAAC,sBAAe,GAAG,CAAE,CAAC,CAAC;oBAEV,qBAAM,IAAA,6BAAa,EACzC,aAAa,EACb,UAAU,EACV;4BACE,aAAa,EAAE,uBAAc;4BAC7B,QAAQ,EAAE,YAAY;4BACtB,WAAW,EAAE,WAAW;4BACxB,GAAG,EAAE,GAAG;yBACT,EACD,aAAa,CACd,EAAA;;oBAVK,eAAe,GAAG,SAUvB;oBAED,qCAAqC;oBACrC,qBAAM,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE;4BAC9C,WAAW,aAAA;4BACX,GAAG,KAAA;yBACJ,CAAC,EAAA;;oBAJF,qCAAqC;oBACrC,SAGE,CAAC;;;oBAnBa,IAAI,CAAA;;;gBAsBtB,8BAA8B;gBAC9B,qBAAM,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,EAAA;;oBADvD,8BAA8B;oBAC9B,SAAuD,CAAC;oBAExD,iBAAiB;oBACjB,qBAAM,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,EAAA;;oBAD5C,iBAAiB;oBACjB,SAA4C,CAAC;;;oBA/BrB,IAAY,CAAA;;;oBAkCtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;;;;;CACjD;AA9ED,oCA8EC"}
@@ -0,0 +1 @@
1
+ export declare function getNextRevision(currentRevision: string): string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextRevision = void 0;
4
+ function getNextRevision(currentRevision) {
5
+ // If the string is empty or can't be parsed with parseInt(), return "1".
6
+ if (!currentRevision || isNaN(parseInt(currentRevision, 10))) {
7
+ return "1";
8
+ }
9
+ // If the string is like an integer, increment it by 1 and return the value.
10
+ if (currentRevision.indexOf(".") === -1) {
11
+ return (parseInt(currentRevision, 10) + 1).toString();
12
+ }
13
+ // If the string is a semver, parse the patch version out of it, increment it by one and return it.
14
+ var parts = currentRevision.split(".");
15
+ var lastPart = parseInt(parts[parts.length - 1], 10);
16
+ if (!isNaN(lastPart)) {
17
+ return (lastPart + 1).toString();
18
+ }
19
+ // If the string can't be parsed as a semver, return "1".
20
+ return "1";
21
+ }
22
+ exports.getNextRevision = getNextRevision;
23
+ //# sourceMappingURL=revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.js","sourceRoot":"","sources":["../../src/builder/revision.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAC,eAAuB;IACrD,yEAAyE;IACzE,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,EAAE;QAC5D,OAAO,GAAG,CAAC;KACZ;IAED,4EAA4E;IAC5E,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KACvD;IAED,mGAAmG;IACnG,IAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KAClC;IAED,yDAAyD;IACzD,OAAO,GAAG,CAAC;AACb,CAAC;AArBD,0CAqBC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var revision_1 = require("./revision");
4
+ describe("core: Revision", function () {
5
+ it("should be a function", function () {
6
+ expect(typeof revision_1.getNextRevision).toEqual("function");
7
+ });
8
+ it("should return next version number", function () {
9
+ // string-string
10
+ expect((0, revision_1.getNextRevision)("")).toEqual("1");
11
+ expect((0, revision_1.getNextRevision)("random text")).toEqual("1");
12
+ // string-numeric
13
+ expect((0, revision_1.getNextRevision)("1")).toEqual("2");
14
+ expect((0, revision_1.getNextRevision)("2024")).toEqual("2025");
15
+ // string-semver
16
+ expect((0, revision_1.getNextRevision)("1.0.0")).toEqual("1");
17
+ expect((0, revision_1.getNextRevision)("0.0.0")).toEqual("1");
18
+ expect((0, revision_1.getNextRevision)("0.0.1523")).toEqual("1524");
19
+ });
20
+ });
21
+ //# sourceMappingURL=revision.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.spec.js","sourceRoot":"","sources":["../../src/builder/revision.spec.ts"],"names":[],"mappings":";;AAAA,uCAA6C;AAE7C,QAAQ,CAAC,gBAAgB,EAAE;IACzB,EAAE,CAAC,sBAAsB,EAAE;QACzB,MAAM,CAAC,OAAO,0BAAe,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE;QACtC,gBAAgB;QAChB,MAAM,CAAC,IAAA,0BAAe,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,iBAAiB;QACjB,MAAM,CAAC,IAAA,0BAAe,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAA,0BAAe,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhD,gBAAgB;QAChB,MAAM,CAAC,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAA,0BAAe,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -13,6 +13,8 @@ export declare abstract class Adapter {
13
13
  abstract writeState(environment: EnvironmentKey, existingState: ExistingState): Promise<void>;
14
14
  abstract readDatafile(options: DatafileOptions): Promise<DatafileContent>;
15
15
  abstract writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>;
16
+ abstract readRevision(): Promise<string>;
17
+ abstract writeRevision(revision: string): Promise<void>;
16
18
  abstract listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>;
17
19
  abstract readCommit(commit: CommitHash, entityType?: EntityType, entityKey?: string): Promise<Commit>;
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/datasource/adapter.ts"],"names":[],"mappings":";;;AAeA;IAAA;IAuBA,CAAC;IAAD,cAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBqB,0BAAO"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/datasource/adapter.ts"],"names":[],"mappings":";;;AAeA;IAAA;IA2BA,CAAC;IAAD,cAAC;AAAD,CAAC,AA3BD,IA2BC;AA3BqB,0BAAO"}
@@ -12,6 +12,11 @@ export declare class Datasource {
12
12
  */
13
13
  readState(environment: EnvironmentKey): Promise<ExistingState>;
14
14
  writeState(environment: EnvironmentKey, existingState: ExistingState): Promise<void>;
15
+ /**
16
+ * Revision
17
+ */
18
+ readRevision(): Promise<string>;
19
+ writeRevision(revision: string): Promise<void>;
15
20
  /**
16
21
  * Datafile
17
22
  */
@@ -56,6 +56,15 @@ var Datasource = /** @class */ (function () {
56
56
  Datasource.prototype.writeState = function (environment, existingState) {
57
57
  return this.adapter.writeState(environment, existingState);
58
58
  };
59
+ /**
60
+ * Revision
61
+ */
62
+ Datasource.prototype.readRevision = function () {
63
+ return this.adapter.readRevision();
64
+ };
65
+ Datasource.prototype.writeRevision = function (revision) {
66
+ return this.adapter.writeRevision(revision);
67
+ };
59
68
  /**
60
69
  * Datafile
61
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ExistingState, EnvironmentKey, DatafileContent, EntityType, HistoryEntr
2
2
  import { Adapter, DatafileOptions } from "./adapter";
3
3
  import { ProjectConfig } from "../config";
4
4
  export declare function getExistingStateFilePath(projectConfig: ProjectConfig, environment: EnvironmentKey): string;
5
+ export declare function getRevisionFilePath(projectConfig: ProjectConfig): string;
5
6
  export declare class FilesystemAdapter extends Adapter {
6
7
  private config;
7
8
  private rootDirectoryPath?;
@@ -19,6 +20,11 @@ export declare class FilesystemAdapter extends Adapter {
19
20
  */
20
21
  readState(environment: EnvironmentKey): Promise<ExistingState>;
21
22
  writeState(environment: EnvironmentKey, existingState: ExistingState): Promise<void>;
23
+ /**
24
+ * Revision
25
+ */
26
+ readRevision(): Promise<string>;
27
+ writeRevision(revision: string): Promise<void>;
22
28
  /**
23
29
  * Datafile
24
30
  */
@@ -51,7 +51,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
51
  }
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.FilesystemAdapter = exports.getExistingStateFilePath = void 0;
54
+ exports.FilesystemAdapter = exports.getRevisionFilePath = exports.getExistingStateFilePath = void 0;
55
55
  var fs = require("fs");
56
56
  var path = require("path");
57
57
  var child_process_1 = require("child_process");
@@ -63,6 +63,10 @@ function getExistingStateFilePath(projectConfig, environment) {
63
63
  return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
64
64
  }
65
65
  exports.getExistingStateFilePath = getExistingStateFilePath;
66
+ function getRevisionFilePath(projectConfig) {
67
+ return path.join(projectConfig.stateDirectoryPath, "REVISION");
68
+ }
69
+ exports.getRevisionFilePath = getRevisionFilePath;
66
70
  var FilesystemAdapter = /** @class */ (function (_super) {
67
71
  __extends(FilesystemAdapter, _super);
68
72
  function FilesystemAdapter(config, rootDirectoryPath) {
@@ -185,6 +189,46 @@ var FilesystemAdapter = /** @class */ (function (_super) {
185
189
  });
186
190
  });
187
191
  };
192
+ /**
193
+ * Revision
194
+ */
195
+ FilesystemAdapter.prototype.readRevision = function () {
196
+ return __awaiter(this, void 0, void 0, function () {
197
+ var filePath, pkg, pkgVersion;
198
+ return __generator(this, function (_a) {
199
+ filePath = getRevisionFilePath(this.config);
200
+ if (fs.existsSync(filePath)) {
201
+ return [2 /*return*/, fs.readFileSync(filePath, "utf8")];
202
+ }
203
+ // maintain backwards compatibility
204
+ try {
205
+ pkg = require(path.join(this.rootDirectoryPath, "package.json"));
206
+ pkgVersion = pkg.version;
207
+ if (pkgVersion) {
208
+ return [2 /*return*/, pkgVersion];
209
+ }
210
+ return [2 /*return*/, "0"];
211
+ }
212
+ catch (e) {
213
+ return [2 /*return*/, "0"];
214
+ }
215
+ return [2 /*return*/];
216
+ });
217
+ });
218
+ };
219
+ FilesystemAdapter.prototype.writeRevision = function (revision) {
220
+ return __awaiter(this, void 0, void 0, function () {
221
+ var filePath;
222
+ return __generator(this, function (_a) {
223
+ filePath = getRevisionFilePath(this.config);
224
+ if (!fs.existsSync(this.config.stateDirectoryPath)) {
225
+ mkdirp.sync(this.config.stateDirectoryPath);
226
+ }
227
+ fs.writeFileSync(filePath, revision);
228
+ return [2 /*return*/];
229
+ });
230
+ });
231
+ };
188
232
  /**
189
233
  * Datafile
190
234
  */
@@ -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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"}
@@ -41,7 +41,7 @@ var sdk_1 = require("@featurevisor/sdk");
41
41
  var matrix_1 = require("./matrix");
42
42
  function testSegment(datasource, test, patterns) {
43
43
  return __awaiter(this, void 0, void 0, function () {
44
- var testStartTime, segmentKey, testResult, segmentExists, parsedSegment, conditions;
44
+ var testStartTime, segmentKey, testResult, segmentExists, parsedSegment, conditions, logger;
45
45
  return __generator(this, function (_a) {
46
46
  switch (_a.label) {
47
47
  case 0:
@@ -68,6 +68,7 @@ function testSegment(datasource, test, patterns) {
68
68
  case 2:
69
69
  parsedSegment = _a.sent();
70
70
  conditions = parsedSegment.conditions;
71
+ logger = (0, sdk_1.createLogger)();
71
72
  test.assertions.forEach(function (assertion, aIndex) {
72
73
  var assertions = (0, matrix_1.getSegmentAssertionsFromMatrix)(aIndex, assertion);
73
74
  assertions.forEach(function (assertion) {
@@ -82,7 +83,7 @@ function testSegment(datasource, test, patterns) {
82
83
  return;
83
84
  }
84
85
  var expected = assertion.expectedToMatch;
85
- var actual = (0, sdk_1.allConditionsAreMatched)(conditions, assertion.context);
86
+ var actual = (0, sdk_1.allConditionsAreMatched)(conditions, assertion.context, logger);
86
87
  var passed = actual === expected;
87
88
  if (!passed) {
88
89
  var testResultAssertionError = {
@@ -1 +1 @@
1
- {"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,yCAA4D;AAI5D,mCAA0D;AAE1D,SAAsB,WAAW,CAC/B,UAAsB,EACtB,IAAiB,EACjB,QAAQ;;;;;;oBAEF,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAE1B,UAAU,GAAe;wBAC7B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,UAAU;wBAEf,sBAAsB;wBACtB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,CAAC;wBACX,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,EAAE;qBACf,CAAC;oBAEoB,qBAAM,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAA1D,aAAa,GAAG,SAA0C;oBAEhE,IAAI,CAAC,aAAa,EAAE;wBAClB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC3B,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;wBAE1B,sBAAO,UAAU,EAAC;qBACnB;oBAEqB,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAA;;oBAAxD,aAAa,GAAG,SAAwC;oBACxD,UAAU,GAAG,aAAa,CAAC,UAAqC,CAAC;oBAEvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE,MAAM;wBACjD,IAAM,UAAU,GAAG,IAAA,uCAA8B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBAErE,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS;4BACpC,IAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACtC,IAAM,mBAAmB,GAAwB;gCAC/C,WAAW,EAAE,SAAS,CAAC,WAAqB;gCAC5C,QAAQ,EAAE,CAAC;gCACX,MAAM,EAAE,IAAI;gCACZ,MAAM,EAAE,EAAE;6BACX,CAAC;4BAEF,IAAI,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gCACvF,OAAO;6BACR;4BAED,IAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;4BAC3C,IAAM,MAAM,GAAG,IAAA,6BAAuB,EAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;4BACtE,IAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;4BAEnC,IAAI,CAAC,MAAM,EAAE;gCACX,IAAM,wBAAwB,GAA6B;oCACzD,IAAI,EAAE,SAAS;oCACf,QAAQ,UAAA;oCACR,MAAM,QAAA;iCACP,CAAC;gCAED,mBAAmB,CAAC,MAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gCAC1F,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;gCAC1B,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC;6BACrC;4BAED,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BAChD,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;wBACjE,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;oBAEjD,sBAAO,UAAU,EAAC;;;;CACnB;AAvED,kCAuEC"}
1
+ {"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,yCAA0E;AAI1E,mCAA0D;AAE1D,SAAsB,WAAW,CAC/B,UAAsB,EACtB,IAAiB,EACjB,QAAQ;;;;;;oBAEF,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAE1B,UAAU,GAAe;wBAC7B,IAAI,EAAE,SAAS;wBACf,GAAG,EAAE,UAAU;wBAEf,sBAAsB;wBACtB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,CAAC;wBACX,MAAM,EAAE,IAAI;wBACZ,UAAU,EAAE,EAAE;qBACf,CAAC;oBAEoB,qBAAM,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAA1D,aAAa,GAAG,SAA0C;oBAEhE,IAAI,CAAC,aAAa,EAAE;wBAClB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC3B,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;wBAE1B,sBAAO,UAAU,EAAC;qBACnB;oBAEqB,qBAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAA;;oBAAxD,aAAa,GAAG,SAAwC;oBACxD,UAAU,GAAG,aAAa,CAAC,UAAqC,CAAC;oBACjE,MAAM,GAAG,IAAA,kBAAY,GAAE,CAAC;oBAE9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE,MAAM;wBACjD,IAAM,UAAU,GAAG,IAAA,uCAA8B,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBAErE,UAAU,CAAC,OAAO,CAAC,UAAU,SAAS;4BACpC,IAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACtC,IAAM,mBAAmB,GAAwB;gCAC/C,WAAW,EAAE,SAAS,CAAC,WAAqB;gCAC5C,QAAQ,EAAE,CAAC;gCACX,MAAM,EAAE,IAAI;gCACZ,MAAM,EAAE,EAAE;6BACX,CAAC;4BAEF,IAAI,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gCACvF,OAAO;6BACR;4BAED,IAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;4BAC3C,IAAM,MAAM,GAAG,IAAA,6BAAuB,EAAC,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;4BAC9E,IAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;4BAEnC,IAAI,CAAC,MAAM,EAAE;gCACX,IAAM,wBAAwB,GAA6B;oCACzD,IAAI,EAAE,SAAS;oCACf,QAAQ,UAAA;oCACR,MAAM,QAAA;iCACP,CAAC;gCAED,mBAAmB,CAAC,MAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gCAC1F,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;gCAC1B,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC;6BACrC;4BAED,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BAChD,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;wBACjE,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;oBAEjD,sBAAO,UAAU,EAAC;;;;CACnB;AAxED,kCAwEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "1.10.0",
3
+ "version": "1.11.1",
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,7 +44,7 @@
44
44
  },
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
- "@featurevisor/sdk": "^1.3.0",
47
+ "@featurevisor/sdk": "^1.11.1",
48
48
  "@featurevisor/site": "^1.7.1",
49
49
  "@featurevisor/types": "^1.3.0",
50
50
  "axios": "^1.3.4",
@@ -57,5 +57,5 @@
57
57
  "@types/js-yaml": "^4.0.5",
58
58
  "@types/tar": "^6.1.4"
59
59
  },
60
- "gitHead": "d64bb9d1e56a7e1f776d66a70284f894128a7cfe"
60
+ "gitHead": "b0de54112d2af4ba4af13dc7a554b18a60b2a574"
61
61
  }
@@ -1,7 +1,6 @@
1
- import * as path from "path";
2
-
3
1
  import { SCHEMA_VERSION } from "../config";
4
2
 
3
+ import { getNextRevision } from "./revision";
5
4
  import { buildDatafile, getCustomDatafile } from "./buildDatafile";
6
5
  import { Dependencies } from "../dependencies";
7
6
 
@@ -16,7 +15,7 @@ export interface BuildCLIOptions {
16
15
  }
17
16
 
18
17
  export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptions = {}) {
19
- const { rootDirectoryPath, projectConfig, datasource } = deps;
18
+ const { projectConfig, datasource } = deps;
20
19
 
21
20
  /**
22
21
  * This build process does not write to disk, and prints only to stdout.
@@ -52,7 +51,11 @@ export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptio
52
51
  const tags = projectConfig.tags;
53
52
  const environments = projectConfig.environments;
54
53
 
55
- const pkg = require(path.join(rootDirectoryPath, "package.json"));
54
+ const currentRevision = await datasource.readRevision();
55
+ console.log("\nCurrent revision:", currentRevision);
56
+
57
+ const nextRevision =
58
+ (cliOptions.revision && cliOptions.revision.toString()) || getNextRevision(currentRevision);
56
59
 
57
60
  for (const environment of environments) {
58
61
  console.log(`\nBuilding datafiles for environment: ${environment}`);
@@ -67,7 +70,7 @@ export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptio
67
70
  datasource,
68
71
  {
69
72
  schemaVersion: SCHEMA_VERSION,
70
- revision: cliOptions.revision || pkg.version,
73
+ revision: nextRevision,
71
74
  environment: environment,
72
75
  tag: tag,
73
76
  },
@@ -83,5 +86,10 @@ export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptio
83
86
 
84
87
  // write state for environment
85
88
  await datasource.writeState(environment, existingState);
89
+
90
+ // write revision
91
+ await datasource.writeRevision(nextRevision);
86
92
  }
93
+
94
+ console.log("\nLatest revision:", nextRevision);
87
95
  }
@@ -0,0 +1,22 @@
1
+ import { getNextRevision } from "./revision";
2
+
3
+ describe("core: Revision", function () {
4
+ it("should be a function", function () {
5
+ expect(typeof getNextRevision).toEqual("function");
6
+ });
7
+
8
+ it("should return next version number", function () {
9
+ // string-string
10
+ expect(getNextRevision("")).toEqual("1");
11
+ expect(getNextRevision("random text")).toEqual("1");
12
+
13
+ // string-numeric
14
+ expect(getNextRevision("1")).toEqual("2");
15
+ expect(getNextRevision("2024")).toEqual("2025");
16
+
17
+ // string-semver
18
+ expect(getNextRevision("1.0.0")).toEqual("1");
19
+ expect(getNextRevision("0.0.0")).toEqual("1");
20
+ expect(getNextRevision("0.0.1523")).toEqual("1524");
21
+ });
22
+ });
@@ -0,0 +1,22 @@
1
+ export function getNextRevision(currentRevision: string) {
2
+ // If the string is empty or can't be parsed with parseInt(), return "1".
3
+ if (!currentRevision || isNaN(parseInt(currentRevision, 10))) {
4
+ return "1";
5
+ }
6
+
7
+ // If the string is like an integer, increment it by 1 and return the value.
8
+ if (currentRevision.indexOf(".") === -1) {
9
+ return (parseInt(currentRevision, 10) + 1).toString();
10
+ }
11
+
12
+ // If the string is a semver, parse the patch version out of it, increment it by one and return it.
13
+ const parts = currentRevision.split(".");
14
+ const lastPart = parseInt(parts[parts.length - 1], 10);
15
+
16
+ if (!isNaN(lastPart)) {
17
+ return (lastPart + 1).toString();
18
+ }
19
+
20
+ // If the string can't be parsed as a semver, return "1".
21
+ return "1";
22
+ }
@@ -29,6 +29,10 @@ export abstract class Adapter {
29
29
  abstract readDatafile(options: DatafileOptions): Promise<DatafileContent>;
30
30
  abstract writeDatafile(datafileContent: DatafileContent, options: DatafileOptions): Promise<void>;
31
31
 
32
+ // revision
33
+ abstract readRevision(): Promise<string>;
34
+ abstract writeRevision(revision: string): Promise<void>;
35
+
32
36
  // history
33
37
  abstract listHistoryEntries(entityType?: EntityType, entityKey?: string): Promise<HistoryEntry[]>;
34
38
  abstract readCommit(
@@ -40,6 +40,17 @@ export class Datasource {
40
40
  return this.adapter.writeState(environment, existingState);
41
41
  }
42
42
 
43
+ /**
44
+ * Revision
45
+ */
46
+ readRevision() {
47
+ return this.adapter.readRevision();
48
+ }
49
+
50
+ writeRevision(revision: string) {
51
+ return this.adapter.writeRevision(revision);
52
+ }
53
+
43
54
  /**
44
55
  * Datafile
45
56
  */
@@ -28,6 +28,10 @@ export function getExistingStateFilePath(
28
28
  return path.join(projectConfig.stateDirectoryPath, `existing-state-${environment}.json`);
29
29
  }
30
30
 
31
+ export function getRevisionFilePath(projectConfig: ProjectConfig): string {
32
+ return path.join(projectConfig.stateDirectoryPath, `REVISION`);
33
+ }
34
+
31
35
  export class FilesystemAdapter extends Adapter {
32
36
  private parser: CustomParser;
33
37
 
@@ -136,6 +140,41 @@ export class FilesystemAdapter extends Adapter {
136
140
  fs.writeFileSync(filePath, JSON.stringify(existingState, null, 2));
137
141
  }
138
142
 
143
+ /**
144
+ * Revision
145
+ */
146
+ async readRevision(): Promise<string> {
147
+ const filePath = getRevisionFilePath(this.config);
148
+
149
+ if (fs.existsSync(filePath)) {
150
+ return fs.readFileSync(filePath, "utf8");
151
+ }
152
+
153
+ // maintain backwards compatibility
154
+ try {
155
+ const pkg = require(path.join(this.rootDirectoryPath as string, "package.json"));
156
+ const pkgVersion = pkg.version;
157
+
158
+ if (pkgVersion) {
159
+ return pkgVersion;
160
+ }
161
+
162
+ return "0";
163
+ } catch (e) {
164
+ return "0";
165
+ }
166
+ }
167
+
168
+ async writeRevision(revision: string): Promise<void> {
169
+ const filePath = getRevisionFilePath(this.config);
170
+
171
+ if (!fs.existsSync(this.config.stateDirectoryPath)) {
172
+ mkdirp.sync(this.config.stateDirectoryPath);
173
+ }
174
+
175
+ fs.writeFileSync(filePath, revision);
176
+ }
177
+
139
178
  /**
140
179
  * Datafile
141
180
  */
@@ -5,7 +5,7 @@ import {
5
5
  TestResultAssertion,
6
6
  TestResultAssertionError,
7
7
  } from "@featurevisor/types";
8
- import { allConditionsAreMatched } from "@featurevisor/sdk";
8
+ import { allConditionsAreMatched, createLogger } from "@featurevisor/sdk";
9
9
 
10
10
  import { Datasource } from "../datasource";
11
11
 
@@ -41,6 +41,7 @@ export async function testSegment(
41
41
 
42
42
  const parsedSegment = await datasource.readSegment(segmentKey);
43
43
  const conditions = parsedSegment.conditions as Condition | Condition[];
44
+ const logger = createLogger();
44
45
 
45
46
  test.assertions.forEach(function (assertion, aIndex) {
46
47
  const assertions = getSegmentAssertionsFromMatrix(aIndex, assertion);
@@ -59,7 +60,7 @@ export async function testSegment(
59
60
  }
60
61
 
61
62
  const expected = assertion.expectedToMatch;
62
- const actual = allConditionsAreMatched(conditions, assertion.context);
63
+ const actual = allConditionsAreMatched(conditions, assertion.context, logger);
63
64
  const passed = actual === expected;
64
65
 
65
66
  if (!passed) {