@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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +22 -0
- package/coverage/clover.xml +33 -5
- package/coverage/coverage-final.json +2 -0
- package/coverage/lcov-report/index.html +26 -26
- package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
- package/coverage/lcov-report/lib/builder/index.html +23 -8
- package/coverage/lcov-report/lib/builder/revision.js.html +151 -0
- package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
- package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
- package/coverage/lcov-report/lib/tester/index.html +1 -1
- package/coverage/lcov-report/lib/tester/matrix.js.html +1 -1
- package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/src/builder/index.html +23 -8
- package/coverage/lcov-report/src/builder/revision.ts.html +151 -0
- package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
- package/coverage/lcov-report/src/tester/index.html +1 -1
- package/coverage/lcov-report/src/tester/matrix.ts.html +1 -1
- package/coverage/lcov.info +57 -0
- package/lib/builder/buildProject.js +34 -23
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/builder/revision.d.ts +1 -0
- package/lib/builder/revision.js +23 -0
- package/lib/builder/revision.js.map +1 -0
- package/lib/builder/revision.spec.d.ts +1 -0
- package/lib/builder/revision.spec.js +21 -0
- package/lib/builder/revision.spec.js.map +1 -0
- package/lib/datasource/adapter.d.ts +2 -0
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +5 -0
- package/lib/datasource/datasource.js +9 -0
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +6 -0
- package/lib/datasource/filesystemAdapter.js +45 -1
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/tester/testSegment.js +3 -2
- package/lib/tester/testSegment.js.map +1 -1
- package/package.json +3 -3
- package/src/builder/buildProject.ts +13 -5
- package/src/builder/revision.spec.ts +22 -0
- package/src/builder/revision.ts +22 -0
- package/src/datasource/adapter.ts +4 -0
- package/src/datasource/datasource.ts +11 -0
- package/src/datasource/filesystemAdapter.ts +39 -0
- package/src/tester/testSegment.ts +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProject.js","sourceRoot":"","sources":["../../src/builder/buildProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
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;
|
|
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,
|
|
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.
|
|
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.
|
|
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": "
|
|
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 {
|
|
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
|
|
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:
|
|
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) {
|