@featurevisor/core 0.53.3 → 0.53.5
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 +16 -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 -2
- package/lib/builder/buildProject.js +23 -33
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/datasource/datasource.d.ts +8 -2
- package/lib/datasource/datasource.js +43 -2
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/parsers.js +2 -2
- package/lib/datasource/parsers.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/linter/lintProject.d.ts +2 -2
- package/lib/linter/lintProject.js +5 -11
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/restore.d.ts +2 -2
- package/lib/restore.js +3 -2
- package/lib/restore.js.map +1 -1
- 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/testFeature.js +6 -4
- package/lib/tester/testFeature.js.map +1 -1
- package/lib/tester/testProject.d.ts +2 -2
- package/lib/tester/testProject.js +3 -4
- package/lib/tester/testProject.js.map +1 -1
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +1 -15
- package/lib/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/builder/buildProject.ts +6 -29
- package/src/datasource/datasource.ts +55 -2
- package/src/datasource/parsers.ts +2 -2
- 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/lintProject.ts +39 -47
- package/src/restore.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/testFeature.ts +4 -7
- package/src/tester/testProject.ts +4 -8
- package/src/utils.ts +0 -18
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
2
|
export declare const ALLOWED_LANGUAGES_FOR_CODE_GENERATION: string[];
|
|
3
3
|
export interface GenerateCodeCLIOptions {
|
|
4
4
|
language: string;
|
|
5
5
|
outDir: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function generateCodeForProject(
|
|
7
|
+
export declare function generateCodeForProject(deps: Dependencies, cliOptions: GenerateCodeCLIOptions): Promise<void>;
|
|
@@ -40,22 +40,21 @@ exports.generateCodeForProject = exports.ALLOWED_LANGUAGES_FOR_CODE_GENERATION =
|
|
|
40
40
|
var fs = require("fs");
|
|
41
41
|
var path = require("path");
|
|
42
42
|
var mkdirp = require("mkdirp");
|
|
43
|
-
var datasource_1 = require("../datasource");
|
|
44
43
|
var typescript_1 = require("./typescript");
|
|
45
44
|
exports.ALLOWED_LANGUAGES_FOR_CODE_GENERATION = ["typescript"];
|
|
46
|
-
function generateCodeForProject(
|
|
45
|
+
function generateCodeForProject(deps, cliOptions) {
|
|
47
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var
|
|
47
|
+
var rootDirectoryPath, absolutePath;
|
|
49
48
|
return __generator(this, function (_a) {
|
|
50
49
|
switch (_a.label) {
|
|
51
50
|
case 0:
|
|
51
|
+
rootDirectoryPath = deps.rootDirectoryPath;
|
|
52
52
|
if (!cliOptions.language) {
|
|
53
53
|
throw new Error("Option `--language` is required");
|
|
54
54
|
}
|
|
55
55
|
if (!cliOptions.outDir) {
|
|
56
56
|
throw new Error("Option `--out-dir` is required");
|
|
57
57
|
}
|
|
58
|
-
datasource = new datasource_1.Datasource(projectConfig);
|
|
59
58
|
absolutePath = path.resolve(rootDirectoryPath, cliOptions.outDir);
|
|
60
59
|
if (!fs.existsSync(absolutePath)) {
|
|
61
60
|
console.log("Creating output directory: ".concat(absolutePath));
|
|
@@ -69,7 +68,7 @@ function generateCodeForProject(rootDirectoryPath, projectConfig, cliOptions) {
|
|
|
69
68
|
throw new Error("Language ".concat(cliOptions.language, " is not supported for code generation"));
|
|
70
69
|
}
|
|
71
70
|
if (!(cliOptions.language === "typescript")) return [3 /*break*/, 2];
|
|
72
|
-
return [4 /*yield*/, (0, typescript_1.generateTypeScriptCodeForProject)(
|
|
71
|
+
return [4 /*yield*/, (0, typescript_1.generateTypeScriptCodeForProject)(deps, absolutePath)];
|
|
73
72
|
case 1: return [2 /*return*/, _a.sent()];
|
|
74
73
|
case 2: throw new Error("Language ".concat(cliOptions.language, " is not supported"));
|
|
75
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate-code/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,+BAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate-code/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,2BAA6B;AAE7B,+BAAiC;AAEjC,2CAAgE;AAGnD,QAAA,qCAAqC,GAAG,CAAC,YAAY,CAAC,CAAC;AAOpE,SAAsB,sBAAsB,CAC1C,IAAkB,EAClB,UAAkC;;;;;;oBAE1B,iBAAiB,GAAK,IAAI,kBAAT,CAAU;oBAEnC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;wBACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;qBACpD;oBAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;qBACnD;oBAEK,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBAExE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;wBAChC,OAAO,CAAC,GAAG,CAAC,qCAA8B,YAAY,CAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBAC3B;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,8CAAuC,YAAY,CAAE,CAAC,CAAC;qBACpE;oBAED,IAAI,CAAC,6CAAqC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;wBACxE,OAAO,CAAC,GAAG,CACT,8CAAuC,6CAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAC1F,CAAC;wBAEF,MAAM,IAAI,KAAK,CAAC,mBAAY,UAAU,CAAC,QAAQ,0CAAuC,CAAC,CAAC;qBACzF;yBAEG,CAAA,UAAU,CAAC,QAAQ,KAAK,YAAY,CAAA,EAApC,wBAAoC;oBAC/B,qBAAM,IAAA,6CAAgC,EAAC,IAAI,EAAE,YAAY,CAAC,EAAA;wBAAjE,sBAAO,SAA0D,EAAC;wBAGpE,MAAM,IAAI,KAAK,CAAC,mBAAY,UAAU,CAAC,QAAQ,sBAAmB,CAAC,CAAC;;;;CACrE;AApCD,wDAoCC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare function generateTypeScriptCodeForProject(rootDirectoryPath: string, projectConfig: ProjectConfig, datasource: Datasource, outputPath: string): Promise<void>;
|
|
1
|
+
import { Dependencies } from "../dependencies";
|
|
2
|
+
export declare function generateTypeScriptCodeForProject(deps: Dependencies, outputPath: string): Promise<void>;
|
|
@@ -95,12 +95,13 @@ function getFeaturevisorTypeFromValue(value) {
|
|
|
95
95
|
throw new Error("Could not detect Featurevisor type from value");
|
|
96
96
|
}
|
|
97
97
|
var instanceSnippet = "\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nlet _instance: FeaturevisorInstance;\n\nexport function setInstance(instance: FeaturevisorInstance) {\n _instance = instance;\n}\n\nexport function getInstance(): FeaturevisorInstance {\n return _instance as FeaturevisorInstance;\n}\n".trimStart();
|
|
98
|
-
function generateTypeScriptCodeForProject(
|
|
98
|
+
function generateTypeScriptCodeForProject(deps, outputPath) {
|
|
99
99
|
return __awaiter(this, void 0, void 0, function () {
|
|
100
|
-
var instanceFilePath, attributeFiles, attributes, _i, attributeFiles_1, attributeKey, parsedAttribute, attributeProperties, contextContent, contextTypeFilePath, featureNamespaces, featureFiles, _a, featureFiles_1, featureKey, parsedFeature, namespaceValue, variableMethods, _b, _c, variableSchema, variableKey, variableType, internalMethodName, featureContent, featureNamespaceFilePath, indexContent, indexFilePath;
|
|
100
|
+
var rootDirectoryPath, datasource, instanceFilePath, attributeFiles, attributes, _i, attributeFiles_1, attributeKey, parsedAttribute, attributeProperties, contextContent, contextTypeFilePath, featureNamespaces, featureFiles, _a, featureFiles_1, featureKey, parsedFeature, namespaceValue, variableMethods, _b, _c, variableSchema, variableKey, variableType, internalMethodName, featureContent, featureNamespaceFilePath, indexContent, indexFilePath;
|
|
101
101
|
return __generator(this, function (_d) {
|
|
102
102
|
switch (_d.label) {
|
|
103
103
|
case 0:
|
|
104
|
+
rootDirectoryPath = deps.rootDirectoryPath, datasource = deps.datasource;
|
|
104
105
|
console.log("\nGenerating TypeScript code...\n");
|
|
105
106
|
instanceFilePath = path.join(outputPath, "instance.ts");
|
|
106
107
|
fs.writeFileSync(instanceFilePath, instanceSnippet);
|
|
@@ -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"}
|
|
@@ -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>;
|
|
@@ -38,9 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.lintProject = void 0;
|
|
40
40
|
// for use in node only
|
|
41
|
-
var fs = require("fs");
|
|
42
41
|
var Joi = require("joi");
|
|
43
|
-
var datasource_1 = require("../datasource");
|
|
44
42
|
var attributeSchema_1 = require("./attributeSchema");
|
|
45
43
|
var conditionSchema_1 = require("./conditionSchema");
|
|
46
44
|
var segmentSchema_1 = require("./segmentSchema");
|
|
@@ -49,14 +47,14 @@ var featureSchema_1 = require("./featureSchema");
|
|
|
49
47
|
var testSchema_1 = require("./testSchema");
|
|
50
48
|
var checkCircularDependency_1 = require("./checkCircularDependency");
|
|
51
49
|
var printJoiError_1 = require("./printJoiError");
|
|
52
|
-
function lintProject(
|
|
50
|
+
function lintProject(deps) {
|
|
53
51
|
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
-
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;
|
|
55
53
|
return __generator(this, function (_e) {
|
|
56
54
|
switch (_e.label) {
|
|
57
55
|
case 0:
|
|
56
|
+
projectConfig = deps.projectConfig, datasource = deps.datasource;
|
|
58
57
|
hasError = false;
|
|
59
|
-
datasource = new datasource_1.Datasource(projectConfig);
|
|
60
58
|
availableAttributeKeys = [];
|
|
61
59
|
availableSegmentKeys = [];
|
|
62
60
|
availableFeatureKeys = [];
|
|
@@ -181,9 +179,7 @@ function lintProject(projectConfig) {
|
|
|
181
179
|
case 27:
|
|
182
180
|
_b++;
|
|
183
181
|
return [3 /*break*/, 18];
|
|
184
|
-
case 28:
|
|
185
|
-
if (!fs.existsSync(projectConfig.groupsDirectoryPath)) return [3 /*break*/, 36];
|
|
186
|
-
return [4 /*yield*/, datasource.listGroups()];
|
|
182
|
+
case 28: return [4 /*yield*/, datasource.listGroups()];
|
|
187
183
|
case 29:
|
|
188
184
|
groups = _e.sent();
|
|
189
185
|
console.log("\nLinting ".concat(groups.length, " groups...\n"));
|
|
@@ -217,9 +213,7 @@ function lintProject(projectConfig) {
|
|
|
217
213
|
case 35:
|
|
218
214
|
_c++;
|
|
219
215
|
return [3 /*break*/, 30];
|
|
220
|
-
case 36:
|
|
221
|
-
if (!fs.existsSync(projectConfig.testsDirectoryPath)) return [3 /*break*/, 44];
|
|
222
|
-
return [4 /*yield*/, datasource.listTests()];
|
|
216
|
+
case 36: return [4 /*yield*/, datasource.listTests()];
|
|
223
217
|
case 37:
|
|
224
218
|
tests = _e.sent();
|
|
225
219
|
console.log("\nLinting ".concat(tests.length, " tests...\n"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"lintProject.js","sourceRoot":"","sources":["../../src/linter/lintProject.ts"],"names":[],"mappings":"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"}
|
package/lib/restore.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function restoreProject(
|
|
1
|
+
import { Dependencies } from "./dependencies";
|
|
2
|
+
export declare function restoreProject(deps: Dependencies): Promise<void>;
|
package/lib/restore.js
CHANGED
|
@@ -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 {
|
package/lib/restore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA6B;AAC7B,+CAAyC;AAIzC,SAAsB,cAAc,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../src/restore.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"}
|
|
@@ -37,7 +37,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.testFeature = void 0;
|
|
40
|
-
var fs = require("fs");
|
|
41
40
|
var sdk_1 = require("@featurevisor/sdk");
|
|
42
41
|
var builder_1 = require("../builder");
|
|
43
42
|
var config_1 = require("../config");
|
|
@@ -54,7 +53,7 @@ function testFeature(datasource, projectConfig, test) {
|
|
|
54
53
|
featureKey = test.feature;
|
|
55
54
|
console.log(cliFormat_1.CLI_FORMAT_BOLD, " Feature \"".concat(featureKey, "\":"));
|
|
56
55
|
_loop_1 = function (aIndex) {
|
|
57
|
-
var assertion, description, requiredChain, featuresToInclude, datafileContent, sdk, isEnabled, variation;
|
|
56
|
+
var assertion, description, requiredChain, featuresToInclude, existingState, datafileContent, sdk, isEnabled, variation;
|
|
58
57
|
return __generator(this, function (_b) {
|
|
59
58
|
switch (_b.label) {
|
|
60
59
|
case 0:
|
|
@@ -65,13 +64,16 @@ function testFeature(datasource, projectConfig, test) {
|
|
|
65
64
|
case 1:
|
|
66
65
|
requiredChain = _b.sent();
|
|
67
66
|
featuresToInclude = Array.from(requiredChain);
|
|
67
|
+
return [4 /*yield*/, datasource.readState(assertion.environment)];
|
|
68
|
+
case 2:
|
|
69
|
+
existingState = _b.sent();
|
|
68
70
|
return [4 /*yield*/, (0, builder_1.buildDatafile)(projectConfig, datasource, {
|
|
69
71
|
schemaVersion: config_1.SCHEMA_VERSION,
|
|
70
72
|
revision: "testing",
|
|
71
73
|
environment: assertion.environment,
|
|
72
74
|
features: featuresToInclude,
|
|
73
|
-
},
|
|
74
|
-
case
|
|
75
|
+
}, existingState)];
|
|
76
|
+
case 3:
|
|
75
77
|
datafileContent = _b.sent();
|
|
76
78
|
sdk = (0, sdk_1.createInstance)({
|
|
77
79
|
datafile: datafileContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testFeature.js","sourceRoot":"","sources":["../../src/tester/testFeature.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"testFeature.js","sourceRoot":"","sources":["../../src/tester/testFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
@@ -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,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAEhE,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"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import { Condition, AttributeKey, GroupSegment, SegmentKey } from "@featurevisor/types";
|
|
2
|
-
export declare function getYAMLFiles(directoryPath: string): string[];
|
|
3
|
-
export declare function parseYaml(content: string): unknown;
|
|
4
2
|
export declare function extractSegmentKeysFromGroupSegments(segments: GroupSegment | GroupSegment[]): Set<SegmentKey>;
|
|
5
3
|
export declare function extractAttributeKeysFromConditions(conditions: Condition | Condition[]): Set<AttributeKey>;
|
package/lib/utils.js
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractAttributeKeysFromConditions = exports.extractSegmentKeysFromGroupSegments =
|
|
4
|
-
var fs = require("fs");
|
|
5
|
-
var path = require("path");
|
|
6
|
-
var yaml = require("js-yaml");
|
|
7
|
-
function getYAMLFiles(directoryPath) {
|
|
8
|
-
var files = fs.readdirSync(directoryPath);
|
|
9
|
-
var yamlFiles = files.filter(function (file) { return file.endsWith(".yml"); });
|
|
10
|
-
return yamlFiles.map(function (file) { return path.join(directoryPath, file); });
|
|
11
|
-
}
|
|
12
|
-
exports.getYAMLFiles = getYAMLFiles;
|
|
13
|
-
function parseYaml(content) {
|
|
14
|
-
var parsed = yaml.load(content);
|
|
15
|
-
return parsed;
|
|
16
|
-
}
|
|
17
|
-
exports.parseYaml = parseYaml;
|
|
3
|
+
exports.extractAttributeKeysFromConditions = exports.extractSegmentKeysFromGroupSegments = void 0;
|
|
18
4
|
function extractSegmentKeysFromGroupSegments(segments) {
|
|
19
5
|
var result = new Set();
|
|
20
6
|
if (Array.isArray(segments)) {
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.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;KACF;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,kFAgCC;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,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,gFA8BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "0.53.
|
|
3
|
+
"version": "0.53.5",
|
|
4
4
|
"description": "Core package of Featurevisor for Node.js usage",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -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": "9f345e94bb7a49b8aa4e5085b7317e0c83b0b47a"
|
|
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,
|
|
@@ -20,37 +20,22 @@ export function getDatafilePath(
|
|
|
20
20
|
return path.join(projectConfig.outputDirectoryPath, environment, fileName);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export function getExistingStateFilePath(
|
|
24
|
-
projectConfig: ProjectConfig,
|
|
25
|
-
environment: EnvironmentKey,
|
|
26
|
-
): string {
|
|
27
|
-
return path.join(projectConfig.stateDirectoryPath, `existing-state-${environment}.json`);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
23
|
export interface BuildCLIOptions {
|
|
31
24
|
revision?: string;
|
|
32
25
|
}
|
|
33
26
|
|
|
34
|
-
export async function buildProject(
|
|
35
|
-
rootDirectoryPath,
|
|
36
|
-
|
|
37
|
-
cliOptions: BuildCLIOptions = {},
|
|
38
|
-
) {
|
|
27
|
+
export async function buildProject(deps: Dependencies, cliOptions: BuildCLIOptions = {}) {
|
|
28
|
+
const { rootDirectoryPath, projectConfig, datasource } = deps;
|
|
29
|
+
|
|
39
30
|
const tags = projectConfig.tags;
|
|
40
31
|
const environments = projectConfig.environments;
|
|
41
32
|
|
|
42
33
|
const pkg = require(path.join(rootDirectoryPath, "package.json"));
|
|
43
|
-
const datasource = new Datasource(projectConfig);
|
|
44
34
|
|
|
45
35
|
for (const environment of environments) {
|
|
46
36
|
console.log(`\nBuilding datafiles for environment: ${environment}`);
|
|
47
37
|
|
|
48
|
-
const
|
|
49
|
-
const existingState: ExistingState = fs.existsSync(existingStateFilePath)
|
|
50
|
-
? require(existingStateFilePath)
|
|
51
|
-
: {
|
|
52
|
-
features: {},
|
|
53
|
-
};
|
|
38
|
+
const existingState: ExistingState = await datasource.readState(environment);
|
|
54
39
|
|
|
55
40
|
for (const tag of tags) {
|
|
56
41
|
console.log(`\n => Tag: ${tag}`);
|
|
@@ -82,14 +67,6 @@ export async function buildProject(
|
|
|
82
67
|
}
|
|
83
68
|
|
|
84
69
|
// write state for environment
|
|
85
|
-
|
|
86
|
-
mkdirp.sync(projectConfig.stateDirectoryPath);
|
|
87
|
-
}
|
|
88
|
-
fs.writeFileSync(
|
|
89
|
-
existingStateFilePath,
|
|
90
|
-
projectConfig.prettyState
|
|
91
|
-
? JSON.stringify(existingState, null, 2)
|
|
92
|
-
: JSON.stringify(existingState),
|
|
93
|
-
);
|
|
70
|
+
await datasource.writeState(environment, existingState);
|
|
94
71
|
}
|
|
95
72
|
}
|