@featurevisor/core 0.60.1 → 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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +22 -0
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
- package/coverage/lcov-report/lib/builder/index.html +1 -1
- 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/src/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/src/builder/index.html +1 -1
- 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/lib/datasource/adapter.d.ts +3 -2
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +5 -2
- package/lib/datasource/datasource.js +10 -2
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +11 -3
- package/lib/datasource/filesystemAdapter.js +127 -1
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/site/exportSite.js +4 -3
- package/lib/site/exportSite.js.map +1 -1
- package/lib/site/generateHistory.d.ts +1 -1
- package/lib/site/generateHistory.js +58 -66
- package/lib/site/generateHistory.js.map +1 -1
- package/lib/tester/testFeature.d.ts +3 -1
- package/lib/tester/testFeature.js +10 -6
- package/lib/tester/testFeature.js.map +1 -1
- package/lib/tester/testProject.d.ts +6 -1
- package/lib/tester/testProject.js +17 -6
- package/lib/tester/testProject.js.map +1 -1
- package/lib/tester/testSegment.d.ts +1 -1
- package/lib/tester/testSegment.js +6 -3
- package/lib/tester/testSegment.js.map +1 -1
- package/lib/{utils.js → utils/extractKeys.js} +1 -1
- package/lib/utils/extractKeys.js.map +1 -0
- package/lib/utils/git.d.ts +6 -0
- package/lib/utils/git.js +121 -0
- package/lib/utils/git.js.map +1 -0
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +19 -0
- package/lib/utils/index.js.map +1 -0
- package/package.json +5 -5
- package/src/datasource/adapter.ts +17 -3
- package/src/datasource/datasource.ts +12 -2
- package/src/datasource/filesystemAdapter.ts +144 -4
- package/src/site/exportSite.ts +1 -3
- package/src/site/generateHistory.ts +3 -77
- package/src/tester/testFeature.ts +14 -5
- package/src/tester/testProject.ts +29 -6
- package/src/tester/testSegment.ts +11 -3
- package/src/utils/git.ts +129 -0
- package/src/utils/index.ts +2 -0
- package/lib/utils.js.map +0 -1
- /package/lib/{utils.d.ts → utils/extractKeys.d.ts} +0 -0
- /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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;
|
|
1
|
+
{"version":3,"file":"filesystemAdapter.js","sourceRoot":"","sources":["../../src/datasource/filesystemAdapter.ts"],"names":[],"mappings":"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"}
|
package/lib/site/exportSite.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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;
|
|
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,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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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":"
|
|
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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { TestFeature } from "@featurevisor/types";
|
|
2
2
|
import { Datasource } from "../datasource";
|
|
3
3
|
import { ProjectConfig } from "../config";
|
|
4
|
-
export declare function testFeature(datasource: Datasource, projectConfig: ProjectConfig, test: TestFeature
|
|
4
|
+
export declare function testFeature(datasource: Datasource, projectConfig: ProjectConfig, test: TestFeature, options: {
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
}, patterns: any): Promise<boolean>;
|
|
@@ -43,7 +43,8 @@ var config_1 = require("../config");
|
|
|
43
43
|
var checkIfArraysAreEqual_1 = require("./checkIfArraysAreEqual");
|
|
44
44
|
var checkIfObjectsAreEqual_1 = require("./checkIfObjectsAreEqual");
|
|
45
45
|
var cliFormat_1 = require("./cliFormat");
|
|
46
|
-
function testFeature(datasource, projectConfig, test) {
|
|
46
|
+
function testFeature(datasource, projectConfig, test, options, patterns) {
|
|
47
|
+
if (options === void 0) { options = {}; }
|
|
47
48
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
49
|
var hasError, featureKey, _loop_1, aIndex;
|
|
49
50
|
return __generator(this, function (_a) {
|
|
@@ -58,8 +59,11 @@ function testFeature(datasource, projectConfig, test) {
|
|
|
58
59
|
switch (_b.label) {
|
|
59
60
|
case 0:
|
|
60
61
|
assertion = test.assertions[aIndex];
|
|
61
|
-
description = assertion.description || "at ".concat(assertion.at, "%");
|
|
62
|
-
|
|
62
|
+
description = " Assertion #".concat(aIndex + 1, ": (").concat(assertion.environment, ") ").concat(assertion.description || "at ".concat(assertion.at, "%"));
|
|
63
|
+
if (patterns.assertionPattern && !patterns.assertionPattern.test(description)) {
|
|
64
|
+
return [2 /*return*/, "continue"];
|
|
65
|
+
}
|
|
66
|
+
console.log(description);
|
|
63
67
|
return [4 /*yield*/, datasource.getRequiredFeaturesChain(test.feature)];
|
|
64
68
|
case 1:
|
|
65
69
|
requiredChain = _b.sent();
|
|
@@ -80,10 +84,10 @@ function testFeature(datasource, projectConfig, test) {
|
|
|
80
84
|
configureBucketValue: function () {
|
|
81
85
|
return assertion.at * (sdk_1.MAX_BUCKETED_NUMBER / 100);
|
|
82
86
|
},
|
|
83
|
-
// logger: createLogger({
|
|
84
|
-
// levels: ["debug", "info", "warn", "error"],
|
|
85
|
-
// }),
|
|
86
87
|
});
|
|
88
|
+
if (options.verbose) {
|
|
89
|
+
sdk.setLogLevels(["debug", "info", "warn", "error"]);
|
|
90
|
+
}
|
|
87
91
|
// isEnabled
|
|
88
92
|
if ("expectedToBeEnabled" in assertion) {
|
|
89
93
|
isEnabled = sdk.isEnabled(featureKey, assertion.context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testFeature.js","sourceRoot":"","sources":["../../src/tester/testFeature.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAwE;AAIxE,sCAA2C;AAC3C,oCAA2C;AAE3C,iEAAgE;AAChE,mEAAkE;AAClE,yCAA8D;AAE9D,SAAsB,WAAW,CAC/B,UAAsB,EACtB,aAA4B,EAC5B,IAAiB;;;;;;
|
|
1
|
+
{"version":3,"file":"testFeature.js","sourceRoot":"","sources":["../../src/tester/testFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import { Dependencies } from "../dependencies";
|
|
2
|
-
export
|
|
2
|
+
export interface TestProjectOptions {
|
|
3
|
+
keyPattern?: string;
|
|
4
|
+
assertionPattern?: string;
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function testProject(deps: Dependencies, options?: TestProjectOptions): Promise<boolean>;
|
|
@@ -41,9 +41,10 @@ var fs = require("fs");
|
|
|
41
41
|
var testSegment_1 = require("./testSegment");
|
|
42
42
|
var testFeature_1 = require("./testFeature");
|
|
43
43
|
var cliFormat_1 = require("./cliFormat");
|
|
44
|
-
function testProject(deps) {
|
|
44
|
+
function testProject(deps, options) {
|
|
45
|
+
if (options === void 0) { options = {}; }
|
|
45
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
-
var rootDirectoryPath, projectConfig, datasource, hasError, testFiles, _i, testFiles_1, testFile, testFilePath, t, test_1, segmentHasError, test_2, featureHasError;
|
|
47
|
+
var rootDirectoryPath, projectConfig, datasource, hasError, testFiles, patterns, _i, testFiles_1, testFile, testFilePath, t, test_1, segmentHasError, test_2, featureHasError;
|
|
47
48
|
return __generator(this, function (_a) {
|
|
48
49
|
switch (_a.label) {
|
|
49
50
|
case 0:
|
|
@@ -62,20 +63,26 @@ function testProject(deps) {
|
|
|
62
63
|
hasError = true;
|
|
63
64
|
return [2 /*return*/, hasError];
|
|
64
65
|
}
|
|
66
|
+
patterns = {
|
|
67
|
+
keyPattern: options.keyPattern ? new RegExp(options.keyPattern) : undefined,
|
|
68
|
+
assertionPattern: options.assertionPattern ? new RegExp(options.assertionPattern) : undefined,
|
|
69
|
+
};
|
|
65
70
|
_i = 0, testFiles_1 = testFiles;
|
|
66
71
|
_a.label = 2;
|
|
67
72
|
case 2:
|
|
68
73
|
if (!(_i < testFiles_1.length)) return [3 /*break*/, 9];
|
|
69
74
|
testFile = testFiles_1[_i];
|
|
70
75
|
testFilePath = datasource.getTestSpecName(testFile);
|
|
71
|
-
console.log("");
|
|
72
|
-
console.log(cliFormat_1.CLI_FORMAT_BOLD, "Testing: ".concat(testFilePath.replace(rootDirectoryPath, "")));
|
|
73
76
|
return [4 /*yield*/, datasource.readTest(testFile)];
|
|
74
77
|
case 3:
|
|
75
78
|
t = _a.sent();
|
|
76
79
|
if (!t.segment) return [3 /*break*/, 5];
|
|
77
80
|
test_1 = t;
|
|
78
|
-
|
|
81
|
+
if (patterns.keyPattern && !patterns.keyPattern.test(test_1.segment)) {
|
|
82
|
+
return [3 /*break*/, 8];
|
|
83
|
+
}
|
|
84
|
+
console.log(cliFormat_1.CLI_FORMAT_BOLD, "\nTesting: ".concat(testFilePath.replace(rootDirectoryPath, "")));
|
|
85
|
+
return [4 /*yield*/, (0, testSegment_1.testSegment)(datasource, test_1, patterns)];
|
|
79
86
|
case 4:
|
|
80
87
|
segmentHasError = _a.sent();
|
|
81
88
|
if (segmentHasError) {
|
|
@@ -85,7 +92,11 @@ function testProject(deps) {
|
|
|
85
92
|
case 5:
|
|
86
93
|
if (!t.feature) return [3 /*break*/, 7];
|
|
87
94
|
test_2 = t;
|
|
88
|
-
|
|
95
|
+
if (patterns.keyPattern && !patterns.keyPattern.test(test_2.feature)) {
|
|
96
|
+
return [3 /*break*/, 8];
|
|
97
|
+
}
|
|
98
|
+
console.log(cliFormat_1.CLI_FORMAT_BOLD, "\nTesting: ".concat(testFilePath.replace(rootDirectoryPath, "")));
|
|
99
|
+
return [4 /*yield*/, (0, testFeature_1.testFeature)(datasource, projectConfig, test_2, options, patterns)];
|
|
89
100
|
case 6:
|
|
90
101
|
featureHasError = _a.sent();
|
|
91
102
|
if (featureHasError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AAIzB,6CAA4C;AAC5C,6CAA4C;AAC5C,yCAAgF;
|
|
1
|
+
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TestSegment } from "@featurevisor/types";
|
|
2
2
|
import { Datasource } from "../datasource";
|
|
3
|
-
export declare function testSegment(datasource: Datasource, test: TestSegment): Promise<boolean>;
|
|
3
|
+
export declare function testSegment(datasource: Datasource, test: TestSegment, patterns: any): Promise<boolean>;
|
|
@@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.testSegment = void 0;
|
|
40
40
|
var sdk_1 = require("@featurevisor/sdk");
|
|
41
41
|
var cliFormat_1 = require("./cliFormat");
|
|
42
|
-
function testSegment(datasource, test) {
|
|
42
|
+
function testSegment(datasource, test, patterns) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function () {
|
|
44
44
|
var hasError, segmentKey, segmentExists, parsedSegment, conditions;
|
|
45
45
|
return __generator(this, function (_a) {
|
|
@@ -61,8 +61,11 @@ function testSegment(datasource, test) {
|
|
|
61
61
|
parsedSegment = _a.sent();
|
|
62
62
|
conditions = parsedSegment.conditions;
|
|
63
63
|
test.assertions.forEach(function (assertion, aIndex) {
|
|
64
|
-
var description = assertion.description || "#".concat(aIndex + 1);
|
|
65
|
-
|
|
64
|
+
var description = " Assertion #".concat(aIndex + 1, ": ").concat(assertion.description || "#".concat(aIndex + 1));
|
|
65
|
+
if (patterns.assertionPattern && !patterns.assertionPattern.test(description)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
console.log(description);
|
|
66
69
|
var expected = assertion.expectedToMatch;
|
|
67
70
|
var actual = (0, sdk_1.allConditionsAreMatched)(conditions, assertion.context);
|
|
68
71
|
if (actual !== expected) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA4D;AAI5D,yCAA8D;AAE9D,SAAsB,WAAW,
|
|
1
|
+
{"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA4D;AAI5D,yCAA8D;AAE9D,SAAsB,WAAW,CAC/B,UAAsB,EACtB,IAAiB,EACjB,QAAQ;;;;;;oBAEJ,QAAQ,GAAG,KAAK,CAAC;oBAEf,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;oBAEhC,OAAO,CAAC,GAAG,CAAC,2BAAe,EAAE,sBAAc,UAAU,QAAI,CAAC,CAAC;oBAErC,qBAAM,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAA1D,aAAa,GAAG,SAA0C;oBAEhE,IAAI,CAAC,aAAa,EAAE;wBAClB,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,oCAA6B,UAAU,CAAE,CAAC,CAAC;wBACzE,QAAQ,GAAG,IAAI,CAAC;wBAEhB,sBAAO,QAAQ,EAAC;qBACjB;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,WAAW,GAAG,uBAAgB,MAAM,GAAG,CAAC,eAAK,SAAS,CAAC,WAAW,IAAI,WAAI,MAAM,GAAG,CAAC,CAAE,CAAE,CAAC;wBAE/F,IAAI,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;4BAC7E,OAAO;yBACR;wBAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAEzB,IAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;wBAC3C,IAAM,MAAM,GAAG,IAAA,6BAAuB,EAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;wBAEtE,IAAI,MAAM,KAAK,QAAQ,EAAE;4BACvB,QAAQ,GAAG,IAAI,CAAC;4BAEhB,OAAO,CAAC,KAAK,CAAC,0BAAc,EAAE,yCAAiC,QAAQ,uBAAW,MAAM,OAAG,CAAC,CAAC;yBAC9F;oBACH,CAAC,CAAC,CAAC;oBAEH,sBAAO,QAAQ,EAAC;;;;CACjB;AA3CD,kCA2CC"}
|
|
@@ -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"}
|
package/lib/utils/git.js
ADDED
|
@@ -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,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"}
|