@featurevisor/core 0.53.4 → 0.54.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 +19 -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/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/lib/builder/buildProject.d.ts +2 -1
- package/lib/builder/buildProject.js +3 -4
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.js +19 -0
- package/lib/config/index.js.map +1 -0
- package/lib/{datasource → config}/parsers.d.ts +3 -3
- package/lib/config/parsers.js +32 -0
- package/lib/config/parsers.js.map +1 -0
- package/lib/{config.d.ts → config/projectConfig.d.ts} +2 -1
- package/lib/{config.js → config/projectConfig.js} +16 -5
- package/lib/config/projectConfig.js.map +1 -0
- package/lib/datasource/adapter.d.ts +10 -0
- package/lib/datasource/adapter.js +10 -0
- package/lib/datasource/adapter.js.map +1 -0
- package/lib/datasource/datasource.d.ts +11 -18
- package/lib/datasource/datasource.js +32 -130
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +20 -0
- package/lib/datasource/filesystemAdapter.js +173 -0
- package/lib/datasource/filesystemAdapter.js.map +1 -0
- package/lib/datasource/index.d.ts +2 -1
- package/lib/datasource/index.js +2 -1
- package/lib/datasource/index.js.map +1 -1
- package/lib/dependencies.d.ts +11 -0
- package/lib/dependencies.js +3 -0
- package/lib/dependencies.js.map +1 -0
- package/lib/find-duplicate-segments/index.d.ts +2 -2
- package/lib/find-duplicate-segments/index.js +2 -3
- package/lib/find-duplicate-segments/index.js.map +1 -1
- package/lib/generate-code/index.d.ts +2 -2
- package/lib/generate-code/index.js +4 -5
- package/lib/generate-code/index.js.map +1 -1
- package/lib/generate-code/typescript.d.ts +2 -3
- package/lib/generate-code/typescript.js +3 -2
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/{init.js → init/index.js} +1 -1
- package/lib/init/index.js.map +1 -0
- package/lib/linter/checkCircularDependency.js +1 -1
- package/lib/linter/checkCircularDependency.js.map +1 -1
- package/lib/linter/lintProject.d.ts +2 -2
- package/lib/linter/lintProject.js +3 -4
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/restore/index.d.ts +2 -0
- package/lib/{restore.js → restore/index.js} +4 -3
- package/lib/restore/index.js.map +1 -0
- package/lib/site/exportSite.d.ts +2 -2
- package/lib/site/exportSite.js +4 -3
- package/lib/site/exportSite.js.map +1 -1
- package/lib/site/generateSiteSearchIndex.d.ts +2 -2
- package/lib/site/generateSiteSearchIndex.js +3 -4
- package/lib/site/generateSiteSearchIndex.js.map +1 -1
- package/lib/site/serveSite.d.ts +2 -2
- package/lib/site/serveSite.js +2 -2
- package/lib/site/serveSite.js.map +1 -1
- package/lib/tester/testProject.d.ts +2 -2
- package/lib/tester/testProject.js +4 -5
- package/lib/tester/testProject.js.map +1 -1
- package/lib/tester/testSegment.js +1 -1
- package/lib/tester/testSegment.js.map +1 -1
- package/package.json +5 -5
- package/src/builder/buildProject.ts +4 -7
- package/src/config/index.ts +2 -0
- package/src/config/parsers.ts +40 -0
- package/src/{config.ts → config/projectConfig.ts} +20 -5
- package/src/datasource/adapter.ts +15 -0
- package/src/datasource/datasource.ts +44 -131
- package/src/datasource/filesystemAdapter.ts +108 -0
- package/src/datasource/index.ts +2 -1
- package/src/dependencies.ts +13 -0
- package/src/find-duplicate-segments/index.ts +3 -8
- package/src/generate-code/index.ts +5 -12
- package/src/generate-code/typescript.ts +4 -8
- package/src/index.ts +2 -0
- package/src/linter/checkCircularDependency.ts +1 -1
- package/src/linter/lintProject.ts +4 -5
- package/src/{restore.ts → restore/index.ts} +4 -2
- package/src/site/exportSite.ts +5 -9
- package/src/site/generateSiteSearchIndex.ts +4 -5
- package/src/site/serveSite.ts +4 -6
- package/src/tester/testProject.ts +5 -9
- package/src/tester/testSegment.ts +1 -1
- package/lib/config.js.map +0 -1
- package/lib/datasource/parsers.js +0 -19
- package/lib/datasource/parsers.js.map +0 -1
- package/lib/init.js.map +0 -1
- package/lib/restore.d.ts +0 -2
- package/lib/restore.js.map +0 -1
- package/src/datasource/parsers.ts +0 -26
- /package/lib/{init.d.ts → init/index.d.ts} +0 -0
- /package/src/{init.ts → init/index.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -23,4 +23,6 @@ __exportStar(require("./site"), exports);
|
|
|
23
23
|
__exportStar(require("./generate-code"), exports);
|
|
24
24
|
__exportStar(require("./restore"), exports);
|
|
25
25
|
__exportStar(require("./find-duplicate-segments"), exports);
|
|
26
|
+
__exportStar(require("./dependencies"), exports);
|
|
27
|
+
__exportStar(require("./datasource"), exports);
|
|
26
28
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,kDAAgC;AAChC,4CAA0B;AAC1B,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,kDAAgC;AAChC,4CAA0B;AAC1B,4DAA0C;AAC1C,iDAA+B;AAC/B,+CAA6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/init/index.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAC1B,yBAA2B;AAEd,QAAA,eAAe,GAAG,aAAa,CAAC;AAEhC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAE9B,QAAA,gBAAgB,GAAG,sCAA+B,yBAAiB,cAAI,0BAAkB,qBAAW,4BAAoB,CAAE,CAAC;AAExI,SAAS,cAAc,CAAC,WAAmB;IACzC,OAAO,UAAG,0BAAkB,cAAI,4BAAoB,uBAAa,WAAW,MAAG,CAAC;AAClF,CAAC;AAED,SAAgB,WAAW,CACzB,aAAqB,EACrB,WAAqC;IAArC,4BAAA,EAAA,cAAsB,uBAAe;IAErC,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO;QAClC,eAAK,CAAC,GAAG,CAAC,wBAAgB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YACpE,QAAQ,CAAC,IAAI;iBACV,IAAI,CACH,GAAG,CAAC,CAAC,CAAC;gBACJ,CAAC,EAAE,aAAa;gBAChB,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAA/C,CAA+C;gBACjE,KAAK,EAAE,CAAC;aACT,CAAC,CACH;iBACA,EAAE,CAAC,OAAO,EAAE,UAAC,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEjB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;iBACD,EAAE,CAAC,QAAQ,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,gCAAyB,aAAa,CAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,oDAAkD,CAAC,CAAC;gBAEhE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,kCA4BC"}
|
|
@@ -60,7 +60,7 @@ function checkForCircularDependencyInRequired(datasource, featureKey, required,
|
|
|
60
60
|
if (chain.indexOf(featureKey) > -1) {
|
|
61
61
|
throw new Error("circular dependency found: ".concat(chain.join(" -> ")));
|
|
62
62
|
}
|
|
63
|
-
return [4 /*yield*/, datasource.
|
|
63
|
+
return [4 /*yield*/, datasource.featureExists(featureKey)];
|
|
64
64
|
case 2:
|
|
65
65
|
requiredFeatureExists = _a.sent();
|
|
66
66
|
if (!requiredFeatureExists) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkCircularDependency.js","sourceRoot":"","sources":["../../src/linter/checkCircularDependency.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAsB,oCAAoC,CACxD,UAAsB,EACtB,UAAsB,EACtB,QAAqB,EACrB,KAAwB;IAAxB,sBAAA,EAAA,UAAwB;;;;;;oBAExB,IAAI,CAAC,QAAQ,EAAE;wBACb,sBAAO;qBACR;oBAEK,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAnC,CAAmC,CAAC,CAAC;oBAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC7B,sBAAO;qBACR;0BAEqC,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA3B,WAAW;oBACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAExB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;wBAClC,MAAM,IAAI,KAAK,CAAC,qCAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;qBACrE;oBAE6B,qBAAM,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"checkCircularDependency.js","sourceRoot":"","sources":["../../src/linter/checkCircularDependency.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAsB,oCAAoC,CACxD,UAAsB,EACtB,UAAsB,EACtB,QAAqB,EACrB,KAAwB;IAAxB,sBAAA,EAAA,UAAwB;;;;;;oBAExB,IAAI,CAAC,QAAQ,EAAE;wBACb,sBAAO;qBACR;oBAEK,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAnC,CAAmC,CAAC,CAAC;oBAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC7B,sBAAO;qBACR;0BAEqC,EAAZ,6BAAY;;;yBAAZ,CAAA,0BAAY,CAAA;oBAA3B,WAAW;oBACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAExB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;wBAClC,MAAM,IAAI,KAAK,CAAC,qCAA8B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;qBACrE;oBAE6B,qBAAM,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAAlE,qBAAqB,GAAG,SAA0C;oBAExE,IAAI,CAAC,qBAAqB,EAAE;wBAC1B,MAAM,IAAI,KAAK,CAAC,6BAAqB,WAAW,iBAAa,CAAC,CAAC;qBAChE;oBAE6B,qBAAM,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;oBAAjE,qBAAqB,GAAG,SAAyC;yBAEnE,qBAAqB,CAAC,QAAQ,EAA9B,wBAA8B;oBAChC,qBAAM,oCAAoC,CACxC,UAAU,EACV,UAAU,EACV,qBAAqB,CAAC,QAAQ,EAC9B,KAAK,CACN,EAAA;;oBALD,SAKC,CAAC;;;oBArBoB,IAAY,CAAA;;;;;;CAwBvC;AAxCD,oFAwCC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function lintProject(
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
|
+
export declare function lintProject(deps: Dependencies): Promise<boolean>;
|
|
@@ -39,7 +39,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.lintProject = void 0;
|
|
40
40
|
// for use in node only
|
|
41
41
|
var Joi = require("joi");
|
|
42
|
-
var datasource_1 = require("../datasource");
|
|
43
42
|
var attributeSchema_1 = require("./attributeSchema");
|
|
44
43
|
var conditionSchema_1 = require("./conditionSchema");
|
|
45
44
|
var segmentSchema_1 = require("./segmentSchema");
|
|
@@ -48,14 +47,14 @@ var featureSchema_1 = require("./featureSchema");
|
|
|
48
47
|
var testSchema_1 = require("./testSchema");
|
|
49
48
|
var checkCircularDependency_1 = require("./checkCircularDependency");
|
|
50
49
|
var printJoiError_1 = require("./printJoiError");
|
|
51
|
-
function lintProject(
|
|
50
|
+
function lintProject(deps) {
|
|
52
51
|
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
-
var
|
|
52
|
+
var projectConfig, datasource, hasError, availableAttributeKeys, availableSegmentKeys, availableFeatureKeys, attributes, attributeJoiSchema, _i, attributes_1, key, parsed, e_1, segments, conditionsJoiSchema, segmentJoiSchema, _a, segments_1, key, parsed, e_2, features, featureJoiSchema, _b, features_1, key, parsed, e_3, e_4, groups, groupJoiSchema, _c, groups_1, key, parsed, e_5, tests, testsJoiSchema, _d, tests_1, key, parsed, e_6;
|
|
54
53
|
return __generator(this, function (_e) {
|
|
55
54
|
switch (_e.label) {
|
|
56
55
|
case 0:
|
|
56
|
+
projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
57
57
|
hasError = false;
|
|
58
|
-
datasource = new datasource_1.Datasource(projectConfig);
|
|
59
58
|
availableAttributeKeys = [];
|
|
60
59
|
availableSegmentKeys = [];
|
|
61
60
|
availableFeatureKeys = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,yBAA2B;AAE3B,
|
|
1
|
+
{"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,10 +39,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.restoreProject = void 0;
|
|
40
40
|
var path = require("path");
|
|
41
41
|
var child_process_1 = require("child_process");
|
|
42
|
-
function restoreProject(
|
|
42
|
+
function restoreProject(deps) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
-
var relativeStateDirPath, cmd;
|
|
44
|
+
var rootDirectoryPath, projectConfig, relativeStateDirPath, cmd;
|
|
45
45
|
return __generator(this, function (_a) {
|
|
46
|
+
rootDirectoryPath = deps.rootDirectoryPath, projectConfig = deps.projectConfig;
|
|
46
47
|
relativeStateDirPath = path.relative(rootDirectoryPath, projectConfig.stateDirectoryPath);
|
|
47
48
|
cmd = "git checkout -- ".concat(relativeStateDirPath).concat(path.sep);
|
|
48
49
|
try {
|
|
@@ -60,4 +61,4 @@ function restoreProject(rootDirectoryPath, projectConfig) {
|
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
exports.restoreProject = restoreProject;
|
|
63
|
-
//# sourceMappingURL=
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/restore/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA6B;AAC7B,+CAAyC;AAIzC,SAAsB,cAAc,CAAC,IAAkB;;;;YAC7C,iBAAiB,GAAoB,IAAI,kBAAxB,EAAE,aAAa,GAAK,IAAI,cAAT,CAAU;YAE5C,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC1F,GAAG,GAAG,0BAAmB,oBAAoB,SAAG,IAAI,CAAC,GAAG,CAAE,CAAC;YAEjE,IAAI;gBACF,IAAA,wBAAQ,EAAC,GAAG,EAAE;oBACZ,GAAG,EAAE,iBAAiB;iBACvB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;aACnD;;;;CACF;AAjBD,wCAiBC"}
|
package/lib/site/exportSite.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function exportSite(
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
|
+
export declare function exportSite(deps: Dependencies): Promise<boolean>;
|
package/lib/site/exportSite.js
CHANGED
|
@@ -43,12 +43,13 @@ var mkdirp = require("mkdirp");
|
|
|
43
43
|
var generateHistory_1 = require("./generateHistory");
|
|
44
44
|
var getRepoDetails_1 = require("./getRepoDetails");
|
|
45
45
|
var generateSiteSearchIndex_1 = require("./generateSiteSearchIndex");
|
|
46
|
-
function exportSite(
|
|
46
|
+
function exportSite(deps) {
|
|
47
47
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var hasError, sitePackagePath, siteDistPath, sitePublicPath, fullHistory, repoDetails, searchIndex, searchIndexFilePath;
|
|
48
|
+
var rootDirectoryPath, projectConfig, hasError, sitePackagePath, siteDistPath, sitePublicPath, fullHistory, repoDetails, searchIndex, searchIndexFilePath;
|
|
49
49
|
return __generator(this, function (_a) {
|
|
50
50
|
switch (_a.label) {
|
|
51
51
|
case 0:
|
|
52
|
+
rootDirectoryPath = deps.rootDirectoryPath, projectConfig = deps.projectConfig;
|
|
52
53
|
hasError = false;
|
|
53
54
|
mkdirp.sync(projectConfig.siteExportDirectoryPath);
|
|
54
55
|
sitePackagePath = path.dirname(require.resolve("@featurevisor/site/package.json"));
|
|
@@ -59,7 +60,7 @@ function exportSite(rootDirectoryPath, projectConfig) {
|
|
|
59
60
|
console.log("Site dist copied to:", projectConfig.siteExportDirectoryPath);
|
|
60
61
|
fullHistory = (0, generateHistory_1.generateHistory)(rootDirectoryPath, projectConfig);
|
|
61
62
|
repoDetails = (0, getRepoDetails_1.getRepoDetails)();
|
|
62
|
-
return [4 /*yield*/, (0, generateSiteSearchIndex_1.generateSiteSearchIndex)(
|
|
63
|
+
return [4 /*yield*/, (0, generateSiteSearchIndex_1.generateSiteSearchIndex)(deps, fullHistory, repoDetails)];
|
|
63
64
|
case 1:
|
|
64
65
|
searchIndex = _a.sent();
|
|
65
66
|
searchIndexFilePath = path.join(projectConfig.siteExportDirectoryPath, "search-index.json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportSite.js","sourceRoot":"","sources":["../../src/site/exportSite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,+BAAiC;
|
|
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,iBAAiB,GAAoB,IAAI,kBAAxB,EAAE,aAAa,GAAK,IAAI,cAAT,CAAU;oBAE5C,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;oBAE9E,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBAC5D,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEtF,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;oBAGrE,WAAW,GAAG,IAAA,iCAAe,EAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;oBAGhE,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;AAtCD,gCAsCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { HistoryEntry, SearchIndex } from "@featurevisor/types";
|
|
2
|
-
import { ProjectConfig } from "../config";
|
|
3
2
|
import { RepoDetails } from "./getRepoDetails";
|
|
4
|
-
|
|
3
|
+
import { Dependencies } from "../dependencies";
|
|
4
|
+
export declare function generateSiteSearchIndex(deps: Dependencies, fullHistory: HistoryEntry[], repoDetails: RepoDetails | undefined): Promise<SearchIndex>;
|
|
@@ -48,16 +48,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.generateSiteSearchIndex = void 0;
|
|
51
|
-
var datasource_1 = require("../datasource");
|
|
52
51
|
var utils_1 = require("../utils");
|
|
53
52
|
var getRelativePaths_1 = require("./getRelativePaths");
|
|
54
53
|
var getLastModifiedFromHistory_1 = require("./getLastModifiedFromHistory");
|
|
55
|
-
function generateSiteSearchIndex(
|
|
54
|
+
function generateSiteSearchIndex(deps, fullHistory, repoDetails) {
|
|
56
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
-
var
|
|
56
|
+
var rootDirectoryPath, projectConfig, datasource, result, _a, relativeAttributesPath, relativeSegmentsPath, relativeFeaturesPath, prefix, attributesUsedInFeatures, attributesUsedInSegments, segmentsUsedInFeatures, featureFiles, _loop_1, _i, featureFiles_1, entityName, segmentFiles, _loop_2, _b, segmentFiles_1, entityName, attributeFiles, _c, attributeFiles_1, entityName, parsed;
|
|
58
57
|
return __generator(this, function (_d) {
|
|
59
58
|
switch (_d.label) {
|
|
60
59
|
case 0:
|
|
60
|
+
rootDirectoryPath = deps.rootDirectoryPath, projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
61
61
|
result = {
|
|
62
62
|
links: undefined,
|
|
63
63
|
entities: {
|
|
@@ -66,7 +66,6 @@ function generateSiteSearchIndex(rootDirectoryPath, projectConfig, fullHistory,
|
|
|
66
66
|
features: [],
|
|
67
67
|
},
|
|
68
68
|
};
|
|
69
|
-
datasource = new datasource_1.Datasource(projectConfig);
|
|
70
69
|
/**
|
|
71
70
|
* Links
|
|
72
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSiteSearchIndex.js","sourceRoot":"","sources":["../../src/site/generateSiteSearchIndex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,
|
|
1
|
+
{"version":3,"file":"generateSiteSearchIndex.js","sourceRoot":"","sources":["../../src/site/generateSiteSearchIndex.ts"],"names":[],"mappings":"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"}
|
package/lib/site/serveSite.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function serveSite(
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
|
+
export declare function serveSite(deps: Dependencies): void;
|
package/lib/site/serveSite.js
CHANGED
|
@@ -4,8 +4,8 @@ exports.serveSite = void 0;
|
|
|
4
4
|
var fs = require("fs");
|
|
5
5
|
var path = require("path");
|
|
6
6
|
var http = require("http");
|
|
7
|
-
function serveSite(
|
|
8
|
-
|
|
7
|
+
function serveSite(deps) {
|
|
8
|
+
var projectConfig = deps.projectConfig, options = deps.options;
|
|
9
9
|
var port = options.p || 3000;
|
|
10
10
|
http
|
|
11
11
|
.createServer(function (request, response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serveSite.js","sourceRoot":"","sources":["../../src/site/serveSite.ts"],"names":[],"mappings":";;;AAAA,uBAAyB;AACzB,2BAA6B;AAC7B,2BAA6B;AAI7B,SAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"serveSite.js","sourceRoot":"","sources":["../../src/site/serveSite.ts"],"names":[],"mappings":";;;AAAA,uBAAyB;AACzB,2BAA6B;AAC7B,2BAA6B;AAI7B,SAAgB,SAAS,CAAC,IAAkB;IAClC,IAAA,aAAa,GAAc,IAAI,cAAlB,EAAE,OAAO,GAAK,IAAI,QAAT,CAAU;IAExC,IAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;IAE/B,IAAI;SACD,YAAY,CAAC,UAAU,OAAO,EAAE,QAAQ;QACvC,IAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;QACjC,IAAM,QAAQ,GACZ,YAAY,KAAK,GAAG;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,YAAY,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,YAAsB,CAAC,CAAC;QAE/E,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;QAE5C,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,QAAQ,OAAO,EAAE;YACf,KAAK,KAAK;gBACR,WAAW,GAAG,iBAAiB,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,GAAG,UAAU,CAAC;gBACzB,MAAM;YACR,KAAK,OAAO;gBACV,WAAW,GAAG,kBAAkB,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,GAAG,WAAW,CAAC;gBAC1B,MAAM;SACT;QAED,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,KAAK,EAAE,OAAO;YAC5C,IAAI,KAAK,EAAE;gBACT,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE;oBAC1B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACzD,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACxC;qBAAM;oBACL,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACxB,QAAQ,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;iBAChB;aACF;iBAAM;gBACL,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;gBACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,6CAAsC,IAAI,MAAG,CAAC,CAAC;AAC7D,CAAC;AAnDD,8BAmDC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function testProject(
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
|
+
export declare function testProject(deps: Dependencies): Promise<boolean>;
|
|
@@ -38,18 +38,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.testProject = void 0;
|
|
40
40
|
var fs = require("fs");
|
|
41
|
-
var datasource_1 = require("../datasource");
|
|
42
41
|
var testSegment_1 = require("./testSegment");
|
|
43
42
|
var testFeature_1 = require("./testFeature");
|
|
44
43
|
var cliFormat_1 = require("./cliFormat");
|
|
45
|
-
function testProject(
|
|
44
|
+
function testProject(deps) {
|
|
46
45
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var
|
|
46
|
+
var rootDirectoryPath, projectConfig, datasource, hasError, testFiles, _i, testFiles_1, testFile, testFilePath, t, test_1, segmentHasError, test_2, featureHasError;
|
|
48
47
|
return __generator(this, function (_a) {
|
|
49
48
|
switch (_a.label) {
|
|
50
49
|
case 0:
|
|
50
|
+
rootDirectoryPath = deps.rootDirectoryPath, projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
51
51
|
hasError = false;
|
|
52
|
-
datasource = new datasource_1.Datasource(projectConfig);
|
|
53
52
|
if (!fs.existsSync(projectConfig.testsDirectoryPath)) {
|
|
54
53
|
console.error("Tests directory does not exist: ".concat(projectConfig.testsDirectoryPath));
|
|
55
54
|
hasError = true;
|
|
@@ -68,7 +67,7 @@ function testProject(rootDirectoryPath, projectConfig) {
|
|
|
68
67
|
case 2:
|
|
69
68
|
if (!(_i < testFiles_1.length)) return [3 /*break*/, 9];
|
|
70
69
|
testFile = testFiles_1[_i];
|
|
71
|
-
testFilePath = datasource.
|
|
70
|
+
testFilePath = datasource.getTestSpecName(testFile);
|
|
72
71
|
console.log("");
|
|
73
72
|
console.log(cliFormat_1.CLI_FORMAT_BOLD, "Testing: ".concat(testFilePath.replace(rootDirectoryPath, "")));
|
|
74
73
|
return [4 /*yield*/, datasource.readTest(testFile)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;
|
|
1
|
+
{"version":3,"file":"testProject.js","sourceRoot":"","sources":["../../src/tester/testProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AAIzB,6CAA4C;AAC5C,6CAA4C;AAC5C,yCAAgF;AAGhF,SAAsB,WAAW,CAAC,IAAkB;;;;;;oBAC1C,iBAAiB,GAAgC,IAAI,kBAApC,EAAE,aAAa,GAAiB,IAAI,cAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;oBAE1D,QAAQ,GAAG,KAAK,CAAC;oBAErB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;wBACpD,OAAO,CAAC,KAAK,CAAC,0CAAmC,aAAa,CAAC,kBAAkB,CAAE,CAAC,CAAC;wBACrF,QAAQ,GAAG,IAAI,CAAC;wBAEhB,sBAAO,QAAQ,EAAC;qBACjB;oBAEiB,qBAAM,UAAU,CAAC,SAAS,EAAE,EAAA;;oBAAxC,SAAS,GAAG,SAA4B;oBAE9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC1B,OAAO,CAAC,KAAK,CAAC,6BAAsB,aAAa,CAAC,kBAAkB,CAAE,CAAC,CAAC;wBACxE,QAAQ,GAAG,IAAI,CAAC;wBAEhB,sBAAO,QAAQ,EAAC;qBACjB;0BAE+B,EAAT,uBAAS;;;yBAAT,CAAA,uBAAS,CAAA;oBAArB,QAAQ;oBACX,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAE1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,2BAAe,EAAE,mBAAY,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAE,CAAC,CAAC;oBAE9E,qBAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAA;;oBAAvC,CAAC,GAAG,SAAmC;yBAExC,CAAiB,CAAC,OAAO,EAA1B,wBAA0B;oBAEtB,SAAO,CAAgB,CAAC;oBAEN,qBAAM,IAAA,yBAAW,EAAC,UAAU,EAAE,MAAI,CAAC,EAAA;;oBAArD,eAAe,GAAG,SAAmC;oBAE3D,IAAI,eAAe,EAAE;wBACnB,QAAQ,GAAG,IAAI,CAAC;qBACjB;;;yBACS,CAAiB,CAAC,OAAO,EAA1B,wBAA0B;oBAE7B,SAAO,CAAgB,CAAC;oBAEN,qBAAM,IAAA,yBAAW,EAAC,UAAU,EAAE,aAAa,EAAE,MAAI,CAAC,EAAA;;oBAApE,eAAe,GAAG,SAAkD;oBAE1E,IAAI,eAAe,EAAE;wBACnB,QAAQ,GAAG,IAAI,CAAC;qBACjB;;;oBAED,OAAO,CAAC,KAAK,CAAC,6BAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;oBAC5D,QAAQ,GAAG,IAAI,CAAC;;;oBA5BG,IAAS,CAAA;;;oBAgChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,IAAI,QAAQ,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,0BAAc,EAAE,mBAAmB,CAAC,CAAC;qBAClD;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,4BAAgB,EAAE,kBAAkB,CAAC,CAAC;qBACnD;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEhB,sBAAO,QAAQ,EAAC;;;;CACjB;AA9DD,kCA8DC"}
|
|
@@ -48,7 +48,7 @@ function testSegment(datasource, test) {
|
|
|
48
48
|
hasError = false;
|
|
49
49
|
segmentKey = test.segment;
|
|
50
50
|
console.log(cliFormat_1.CLI_FORMAT_BOLD, " Segment \"".concat(segmentKey, "\":"));
|
|
51
|
-
return [4 /*yield*/, datasource.
|
|
51
|
+
return [4 /*yield*/, datasource.segmentExists(segmentKey)];
|
|
52
52
|
case 1:
|
|
53
53
|
segmentExists = _a.sent();
|
|
54
54
|
if (!segmentExists) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA4D;AAI5D,yCAA8D;AAE9D,SAAsB,WAAW,CAAC,UAAsB,EAAE,IAAiB;;;;;;oBACrE,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,
|
|
1
|
+
{"version":3,"file":"testSegment.js","sourceRoot":"","sources":["../../src/tester/testSegment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA4D;AAI5D,yCAA8D;AAE9D,SAAsB,WAAW,CAAC,UAAsB,EAAE,IAAiB;;;;;;oBACrE,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,SAAS,CAAC,WAAW,IAAI,WAAI,MAAM,GAAG,CAAC,CAAE,CAAC;wBAE9D,OAAO,CAAC,GAAG,CAAC,uBAAgB,MAAM,GAAG,CAAC,eAAK,WAAW,CAAE,CAAC,CAAC;wBAE1D,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;AAnCD,kCAmCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.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.
|
|
48
|
-
"@featurevisor/site": "^0.
|
|
49
|
-
"@featurevisor/types": "^0.
|
|
47
|
+
"@featurevisor/sdk": "^0.54.0",
|
|
48
|
+
"@featurevisor/site": "^0.54.0",
|
|
49
|
+
"@featurevisor/types": "^0.54.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": "
|
|
60
|
+
"gitHead": "42110a7a96169c6309600e00ed122e86203d34f4"
|
|
61
61
|
}
|
|
@@ -6,9 +6,9 @@ import * as mkdirp from "mkdirp";
|
|
|
6
6
|
import { ExistingState, EnvironmentKey } from "@featurevisor/types";
|
|
7
7
|
|
|
8
8
|
import { SCHEMA_VERSION, ProjectConfig } from "../config";
|
|
9
|
-
import { Datasource } from "../datasource";
|
|
10
9
|
|
|
11
10
|
import { buildDatafile } from "./buildDatafile";
|
|
11
|
+
import { Dependencies } from "../dependencies";
|
|
12
12
|
|
|
13
13
|
export function getDatafilePath(
|
|
14
14
|
projectConfig: ProjectConfig,
|
|
@@ -24,16 +24,13 @@ export interface BuildCLIOptions {
|
|
|
24
24
|
revision?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export async function buildProject(
|
|
28
|
-
rootDirectoryPath,
|
|
29
|
-
|
|
30
|
-
cliOptions: BuildCLIOptions = {},
|
|
31
|
-
) {
|
|
27
|
+
export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptions = {}) {
|
|
28
|
+
const { rootDirectoryPath, projectConfig, datasource } = deps;
|
|
29
|
+
|
|
32
30
|
const tags = projectConfig.tags;
|
|
33
31
|
const environments = projectConfig.environments;
|
|
34
32
|
|
|
35
33
|
const pkg = require(path.join(rootDirectoryPath, "package.json"));
|
|
36
|
-
const datasource = new Datasource(projectConfig);
|
|
37
34
|
|
|
38
35
|
for (const environment of environments) {
|
|
39
36
|
console.log(`\nBuilding datafiles for environment: ${environment}`);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as YAML from "js-yaml";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* If we want to add more built-in parsers,
|
|
5
|
+
* add them to this object with new file extension as the key,
|
|
6
|
+
* and a function that takes file content as string and returns parsed object as the value.
|
|
7
|
+
*/
|
|
8
|
+
export const parsers: { [key: string]: CustomParser } = {
|
|
9
|
+
// YAML
|
|
10
|
+
yml: {
|
|
11
|
+
extension: "yml",
|
|
12
|
+
parse: function <T>(content: string): T {
|
|
13
|
+
return YAML.load(content) as T;
|
|
14
|
+
},
|
|
15
|
+
stringify: function (content: any) {
|
|
16
|
+
return YAML.dump(content);
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
// JSON
|
|
21
|
+
json: {
|
|
22
|
+
extension: "json",
|
|
23
|
+
parse: function <T>(content: string): T {
|
|
24
|
+
return JSON.parse(content) as T;
|
|
25
|
+
},
|
|
26
|
+
stringify: function (content: any) {
|
|
27
|
+
return JSON.stringify(content, null, 2);
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export type BuiltInParser = keyof typeof parsers; // keys of parsers object
|
|
33
|
+
|
|
34
|
+
export interface CustomParser {
|
|
35
|
+
extension: string;
|
|
36
|
+
parse: <T>(content: string) => T;
|
|
37
|
+
stringify: (content: any) => string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type Parser = BuiltInParser | CustomParser;
|
|
@@ -2,7 +2,8 @@ import * as path from "path";
|
|
|
2
2
|
|
|
3
3
|
import { BucketBy } from "@featurevisor/types";
|
|
4
4
|
|
|
5
|
-
import { Parser } from "./
|
|
5
|
+
import { Parser, parsers } from "./parsers";
|
|
6
|
+
import { FilesystemAdapter } from "../datasource/filesystemAdapter";
|
|
6
7
|
|
|
7
8
|
export const FEATURES_DIRECTORY_NAME = "features";
|
|
8
9
|
export const SEGMENTS_DIRECTORY_NAME = "segments";
|
|
@@ -42,6 +43,7 @@ export interface ProjectConfig {
|
|
|
42
43
|
prettyState: boolean;
|
|
43
44
|
prettyDatafile: boolean;
|
|
44
45
|
siteExportDirectoryPath: string;
|
|
46
|
+
adapter: any; // @TODO: type this properly later
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
// rootDirectoryPath: path to the root directory of the project (without ending with a slash)
|
|
@@ -66,20 +68,33 @@ export function getProjectConfig(rootDirectoryPath: string): ProjectConfig {
|
|
|
66
68
|
prettyDatafile: DEFAULT_PRETTY_DATAFILE,
|
|
67
69
|
|
|
68
70
|
siteExportDirectoryPath: path.join(rootDirectoryPath, SITE_EXPORT_DIRECTORY_NAME),
|
|
71
|
+
|
|
72
|
+
adapter: FilesystemAdapter,
|
|
69
73
|
};
|
|
70
74
|
|
|
71
75
|
const configModulePath = path.join(rootDirectoryPath, CONFIG_MODULE_NAME);
|
|
72
76
|
const customConfig = require(configModulePath);
|
|
73
77
|
|
|
74
|
-
const
|
|
78
|
+
const mergedConfig = {};
|
|
75
79
|
|
|
76
80
|
Object.keys(baseConfig).forEach((key) => {
|
|
77
|
-
|
|
81
|
+
mergedConfig[key] = customConfig[key] || baseConfig[key];
|
|
78
82
|
|
|
79
|
-
if (key.endsWith("Path") &&
|
|
80
|
-
|
|
83
|
+
if (key.endsWith("Path") && mergedConfig[key].indexOf(ROOT_DIR_PLACEHOLDER) !== -1) {
|
|
84
|
+
mergedConfig[key] = mergedConfig[key].replace(ROOT_DIR_PLACEHOLDER, rootDirectoryPath);
|
|
81
85
|
}
|
|
82
86
|
});
|
|
83
87
|
|
|
88
|
+
const finalConfig = mergedConfig as ProjectConfig;
|
|
89
|
+
|
|
90
|
+
if (typeof finalConfig.parser === "string") {
|
|
91
|
+
const allowedParsers = Object.keys(parsers);
|
|
92
|
+
if (allowedParsers.indexOf(finalConfig.parser) === -1) {
|
|
93
|
+
throw new Error(`Invalid parser: ${finalConfig.parser}`);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
finalConfig.parser = parsers[finalConfig.parser];
|
|
97
|
+
}
|
|
98
|
+
|
|
84
99
|
return finalConfig as ProjectConfig;
|
|
85
100
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnvironmentKey, ExistingState } from "@featurevisor/types";
|
|
2
|
+
|
|
3
|
+
export type EntityType = "feature" | "group" | "segment" | "attribute" | "test";
|
|
4
|
+
|
|
5
|
+
export abstract class Adapter {
|
|
6
|
+
// entities
|
|
7
|
+
abstract listEntities(entityType: EntityType): Promise<string[]>;
|
|
8
|
+
abstract entityExists(entityType: EntityType, entityKey: string): Promise<boolean>;
|
|
9
|
+
abstract readEntity(entityType: EntityType, entityKey: string): Promise<string>;
|
|
10
|
+
abstract parseEntity<T>(entityType: EntityType, entityKey: string): Promise<T>;
|
|
11
|
+
|
|
12
|
+
// state
|
|
13
|
+
abstract readState(environment: EnvironmentKey): Promise<ExistingState>;
|
|
14
|
+
abstract writeState(environment: EnvironmentKey, existingState: ExistingState): Promise<void>;
|
|
15
|
+
}
|