@featurevisor/core 0.47.7 → 0.48.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 +11 -0
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/lib/allocator.js.html +1 -1
- package/coverage/lcov-report/lib/index.html +1 -1
- package/coverage/lcov-report/lib/traffic.js.html +1 -1
- package/coverage/lcov-report/src/allocator.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/traffic.ts.html +1 -1
- package/lib/builder.d.ts +3 -2
- package/lib/builder.js +20 -28
- package/lib/builder.js.map +1 -1
- package/lib/config.d.ts +3 -0
- package/lib/config.js +3 -1
- package/lib/config.js.map +1 -1
- package/lib/datasource/datasource.d.ts +32 -0
- package/lib/datasource/datasource.js +152 -0
- package/lib/datasource/datasource.js.map +1 -0
- package/lib/datasource/parsers.d.ts +15 -0
- package/lib/datasource/parsers.js +19 -0
- package/lib/datasource/parsers.js.map +1 -0
- package/lib/generate-code/index.js +3 -1
- package/lib/generate-code/index.js.map +1 -1
- package/lib/generate-code/typescript.d.ts +2 -1
- package/lib/generate-code/typescript.js +7 -10
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/init.d.ts +1 -1
- package/lib/init.js +1 -1
- package/lib/init.js.map +1 -1
- package/lib/linter.d.ts +2 -1
- package/lib/linter.js +44 -55
- package/lib/linter.js.map +1 -1
- package/lib/site.js +15 -28
- package/lib/site.js.map +1 -1
- package/lib/tester.js +9 -11
- package/lib/tester.js.map +1 -1
- package/package.json +5 -5
- package/src/builder.ts +22 -30
- package/src/config.ts +7 -0
- package/src/datasource/datasource.ts +185 -0
- package/src/datasource/parsers.ts +26 -0
- package/src/generate-code/index.ts +9 -1
- package/src/generate-code/typescript.ts +8 -12
- package/src/init.ts +1 -1
- package/src/linter.ts +46 -45
- package/src/site.ts +104 -127
- package/src/tester.ts +10 -12
package/.eslintcache
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.spec.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/config.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"
|
|
1
|
+
[{"/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.spec.ts":"1","/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.ts":"2","/home/runner/work/featurevisor/featurevisor/packages/core/src/builder.ts":"3","/home/runner/work/featurevisor/featurevisor/packages/core/src/config.ts":"4","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts":"5","/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/parsers.ts":"6","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts":"7","/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts":"8","/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts":"9","/home/runner/work/featurevisor/featurevisor/packages/core/src/init.ts":"10","/home/runner/work/featurevisor/featurevisor/packages/core/src/linter.ts":"11","/home/runner/work/featurevisor/featurevisor/packages/core/src/restore.ts":"12","/home/runner/work/featurevisor/featurevisor/packages/core/src/site.ts":"13","/home/runner/work/featurevisor/featurevisor/packages/core/src/tester.ts":"14","/home/runner/work/featurevisor/featurevisor/packages/core/src/traffic.spec.ts":"15","/home/runner/work/featurevisor/featurevisor/packages/core/src/traffic.ts":"16","/home/runner/work/featurevisor/featurevisor/packages/core/src/utils.ts":"17"},{"size":3214,"mtime":1695664147110,"results":"18","hashOfConfig":"19"},{"size":1014,"mtime":1695664147110,"results":"20","hashOfConfig":"19"},{"size":12226,"mtime":1695664147110,"results":"21","hashOfConfig":"19"},{"size":2966,"mtime":1695664147110,"results":"22","hashOfConfig":"19"},{"size":4829,"mtime":1695664147110,"results":"23","hashOfConfig":"19"},{"size":646,"mtime":1695664147110,"results":"24","hashOfConfig":"19"},{"size":1630,"mtime":1695664147110,"results":"25","hashOfConfig":"19"},{"size":5886,"mtime":1695664147110,"results":"26","hashOfConfig":"19"},{"size":213,"mtime":1695664147110,"results":"27","hashOfConfig":"19"},{"size":1308,"mtime":1695664147110,"results":"28","hashOfConfig":"19"},{"size":17487,"mtime":1695664147110,"results":"29","hashOfConfig":"19"},{"size":604,"mtime":1695664147110,"results":"30","hashOfConfig":"19"},{"size":14680,"mtime":1695664147110,"results":"31","hashOfConfig":"19"},{"size":6584,"mtime":1695664147110,"results":"32","hashOfConfig":"19"},{"size":12889,"mtime":1695664147110,"results":"33","hashOfConfig":"19"},{"size":4799,"mtime":1695664147110,"results":"34","hashOfConfig":"19"},{"size":2108,"mtime":1695664147110,"results":"35","hashOfConfig":"19"},{"filePath":"36","messages":"37","suppressedMessages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1u59miw",{"filePath":"39","messages":"40","suppressedMessages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","suppressedMessages":"44","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"45","messages":"46","suppressedMessages":"47","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","suppressedMessages":"50","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","suppressedMessages":"53","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"54","messages":"55","suppressedMessages":"56","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","suppressedMessages":"59","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"60","messages":"61","suppressedMessages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"63","messages":"64","suppressedMessages":"65","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"66","messages":"67","suppressedMessages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","suppressedMessages":"71","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"72","messages":"73","suppressedMessages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"75","messages":"76","suppressedMessages":"77","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"78","messages":"79","suppressedMessages":"80","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"81","messages":"82","suppressedMessages":"83","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"84","messages":"85","suppressedMessages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/allocator.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/builder.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/config.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/parsers.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts",[],["87"],"/home/runner/work/featurevisor/featurevisor/packages/core/src/index.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/init.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/linter.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/restore.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/site.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/tester.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/traffic.spec.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/traffic.ts",[],[],"/home/runner/work/featurevisor/featurevisor/packages/core/src/utils.ts",[],[],{"ruleId":"88","severity":2,"message":"89","line":41,"column":10,"nodeType":"90","messageId":"91","endLine":41,"endColumn":38,"suppressions":"92"},"@typescript-eslint/no-unused-vars","'getFeaturevisorTypeFromValue' is defined but never used.","Identifier","unusedVar",["93"],{"kind":"94","justification":"95"},"directive",""]
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.48.0](https://github.com/featurevisor/featurevisor/compare/v0.47.7...v0.48.0) (2023-09-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* custom parser API for going beyond just YAML files ([#158](https://github.com/featurevisor/featurevisor/issues/158)) ([3fb0352](https://github.com/featurevisor/featurevisor/commit/3fb0352e168d3f186bd54108eead789ec44da217))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [0.47.7](https://github.com/featurevisor/featurevisor/compare/v0.47.6...v0.47.7) (2023-09-19)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @featurevisor/core
|
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1695664345021" clover="3.2.0">
|
|
3
|
+
<project timestamp="1695664345021" name="All files">
|
|
4
4
|
<metrics statements="173" coveredstatements="165" conditionals="86" coveredconditionals="70" methods="28" coveredmethods="28" elements="287" coveredelements="263" complexity="0" loc="173" ncloc="173" packages="2" files="4" classes="4"/>
|
|
5
5
|
<package name="lib">
|
|
6
6
|
<metrics statements="90" coveredstatements="86" conditionals="48" coveredconditionals="39" methods="14" coveredmethods="14"/>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2023-09-
|
|
119
|
+
at 2023-09-25T17:52:25.000Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -175,7 +175,7 @@ exports.getUpdatedAvailableRangesAfterFilling = getUpdatedAvailableRangesAfterFi
|
|
|
175
175
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
176
176
|
Code coverage generated by
|
|
177
177
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
178
|
-
at 2023-09-
|
|
178
|
+
at 2023-09-25T17:52:25.000Z
|
|
179
179
|
</div>
|
|
180
180
|
<script src="../prettify.js"></script>
|
|
181
181
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2023-09-
|
|
119
|
+
at 2023-09-25T17:52:25.000Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -442,7 +442,7 @@ exports.getTraffic = getTraffic;
|
|
|
442
442
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
443
443
|
Code coverage generated by
|
|
444
444
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
445
|
-
at 2023-09-
|
|
445
|
+
at 2023-09-25T17:52:25.000Z
|
|
446
446
|
</div>
|
|
447
447
|
<script src="../prettify.js"></script>
|
|
448
448
|
<script>
|
|
@@ -193,7 +193,7 @@ export function getUpdatedAvailableRangesAfterFilling(
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at 2023-09-
|
|
196
|
+
at 2023-09-25T17:52:25.000Z
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../prettify.js"></script>
|
|
199
199
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2023-09-
|
|
119
|
+
at 2023-09-25T17:52:25.000Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -553,7 +553,7 @@ export function getTraffic(
|
|
|
553
553
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
554
554
|
Code coverage generated by
|
|
555
555
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
556
|
-
at 2023-09-
|
|
556
|
+
at 2023-09-25T17:52:25.000Z
|
|
557
557
|
</div>
|
|
558
558
|
<script src="../prettify.js"></script>
|
|
559
559
|
<script>
|
package/lib/builder.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DatafileContent, ExistingState, FeatureKey, EnvironmentKey, Range } from "@featurevisor/types";
|
|
2
2
|
import { ProjectConfig } from "./config";
|
|
3
|
+
import { Datasource } from "./datasource/datasource";
|
|
3
4
|
export interface BuildOptions {
|
|
4
5
|
schemaVersion: string;
|
|
5
6
|
revision: string;
|
|
@@ -15,8 +16,8 @@ interface FeatureRangesResult {
|
|
|
15
16
|
[key: string]: boolean;
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
export declare function getFeatureRanges(projectConfig: ProjectConfig): FeatureRangesResult;
|
|
19
|
-
export declare function buildDatafile(projectConfig: ProjectConfig, options: BuildOptions, existingState: ExistingState): DatafileContent;
|
|
19
|
+
export declare function getFeatureRanges(projectConfig: ProjectConfig, datasource: Datasource): FeatureRangesResult;
|
|
20
|
+
export declare function buildDatafile(projectConfig: ProjectConfig, datasource: Datasource, options: BuildOptions, existingState: ExistingState): DatafileContent;
|
|
20
21
|
export interface BuildCLIOptions {
|
|
21
22
|
revision?: string;
|
|
22
23
|
}
|
package/lib/builder.js
CHANGED
|
@@ -16,6 +16,7 @@ var fs = require("fs");
|
|
|
16
16
|
var path = require("path");
|
|
17
17
|
var mkdirp = require("mkdirp");
|
|
18
18
|
var config_1 = require("./config");
|
|
19
|
+
var datasource_1 = require("./datasource/datasource");
|
|
19
20
|
var traffic_1 = require("./traffic");
|
|
20
21
|
var utils_1 = require("./utils");
|
|
21
22
|
function getDatafilePath(projectConfig, environment, tag) {
|
|
@@ -27,18 +28,14 @@ function getExistingStateFilePath(projectConfig, environment) {
|
|
|
27
28
|
return path.join(projectConfig.stateDirectoryPath, "existing-state-".concat(environment, ".json"));
|
|
28
29
|
}
|
|
29
30
|
exports.getExistingStateFilePath = getExistingStateFilePath;
|
|
30
|
-
function getFeatureRanges(projectConfig) {
|
|
31
|
+
function getFeatureRanges(projectConfig, datasource) {
|
|
31
32
|
var featureRanges = new Map();
|
|
32
33
|
var featureIsInGroup = {}; // featureKey => boolean
|
|
33
34
|
var groups = [];
|
|
34
35
|
if (fs.existsSync(projectConfig.groupsDirectoryPath)) {
|
|
35
|
-
var groupFiles =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var _loop_1 = function (groupFile) {
|
|
39
|
-
var groupKey = path.basename(groupFile, ".yml");
|
|
40
|
-
var groupFilePath = path.join(projectConfig.groupsDirectoryPath, groupFile);
|
|
41
|
-
var parsedGroup = (0, utils_1.parseYaml)(fs.readFileSync(groupFilePath, "utf8"));
|
|
36
|
+
var groupFiles = datasource.listGroups();
|
|
37
|
+
var _loop_1 = function (groupKey) {
|
|
38
|
+
var parsedGroup = datasource.readGroup(groupKey);
|
|
42
39
|
groups.push(__assign(__assign({}, parsedGroup), { key: groupKey }));
|
|
43
40
|
var accumulatedPercentage = 0;
|
|
44
41
|
parsedGroup.slots.forEach(function (slot, slotIndex) {
|
|
@@ -58,14 +55,14 @@ function getFeatureRanges(projectConfig) {
|
|
|
58
55
|
});
|
|
59
56
|
};
|
|
60
57
|
for (var _i = 0, groupFiles_1 = groupFiles; _i < groupFiles_1.length; _i++) {
|
|
61
|
-
var
|
|
62
|
-
_loop_1(
|
|
58
|
+
var groupKey = groupFiles_1[_i];
|
|
59
|
+
_loop_1(groupKey);
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
return { featureRanges: featureRanges, featureIsInGroup: featureIsInGroup };
|
|
66
63
|
}
|
|
67
64
|
exports.getFeatureRanges = getFeatureRanges;
|
|
68
|
-
function buildDatafile(projectConfig, options, existingState) {
|
|
65
|
+
function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
69
66
|
var datafileContent = {
|
|
70
67
|
schemaVersion: options.schemaVersion,
|
|
71
68
|
revision: options.revision,
|
|
@@ -75,17 +72,15 @@ function buildDatafile(projectConfig, options, existingState) {
|
|
|
75
72
|
};
|
|
76
73
|
var segmentKeysUsedByTag = new Set();
|
|
77
74
|
var attributeKeysUsedByTag = new Set();
|
|
78
|
-
var _a = getFeatureRanges(projectConfig), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
|
|
75
|
+
var _a = getFeatureRanges(projectConfig, datasource), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
|
|
79
76
|
// features
|
|
80
77
|
var features = [];
|
|
81
78
|
var featuresDirectory = projectConfig.featuresDirectoryPath;
|
|
82
79
|
if (fs.existsSync(featuresDirectory)) {
|
|
83
|
-
var featureFiles =
|
|
80
|
+
var featureFiles = datasource.listFeatures();
|
|
84
81
|
for (var _i = 0, featureFiles_1 = featureFiles; _i < featureFiles_1.length; _i++) {
|
|
85
|
-
var
|
|
86
|
-
var
|
|
87
|
-
var featureFilePath = path.join(featuresDirectory, featureFile);
|
|
88
|
-
var parsedFeature = (0, utils_1.parseYaml)(fs.readFileSync(featureFilePath, "utf8"));
|
|
82
|
+
var featureKey = featureFiles_1[_i];
|
|
83
|
+
var parsedFeature = datasource.readFeature(featureKey);
|
|
89
84
|
if (parsedFeature.archived === true) {
|
|
90
85
|
continue;
|
|
91
86
|
}
|
|
@@ -192,12 +187,10 @@ function buildDatafile(projectConfig, options, existingState) {
|
|
|
192
187
|
var segments = [];
|
|
193
188
|
var segmentsDirectory = projectConfig.segmentsDirectoryPath;
|
|
194
189
|
if (fs.existsSync(segmentsDirectory)) {
|
|
195
|
-
var segmentFiles =
|
|
190
|
+
var segmentFiles = datasource.listSegments();
|
|
196
191
|
for (var _d = 0, segmentFiles_1 = segmentFiles; _d < segmentFiles_1.length; _d++) {
|
|
197
|
-
var
|
|
198
|
-
var
|
|
199
|
-
var segmentFilePath = path.join(segmentsDirectory, segmentFile);
|
|
200
|
-
var parsedSegment = (0, utils_1.parseYaml)(fs.readFileSync(segmentFilePath, "utf8"));
|
|
192
|
+
var segmentKey = segmentFiles_1[_d];
|
|
193
|
+
var parsedSegment = datasource.readSegment(segmentKey);
|
|
201
194
|
if (parsedSegment.archived === true) {
|
|
202
195
|
continue;
|
|
203
196
|
}
|
|
@@ -219,12 +212,10 @@ function buildDatafile(projectConfig, options, existingState) {
|
|
|
219
212
|
var attributes = [];
|
|
220
213
|
var attributesDirectory = projectConfig.attributesDirectoryPath;
|
|
221
214
|
if (fs.existsSync(attributesDirectory)) {
|
|
222
|
-
var attributeFiles =
|
|
215
|
+
var attributeFiles = datasource.listAttributes();
|
|
223
216
|
for (var _e = 0, attributeFiles_1 = attributeFiles; _e < attributeFiles_1.length; _e++) {
|
|
224
|
-
var
|
|
225
|
-
var
|
|
226
|
-
var attributeFilePath = path.join(attributesDirectory, attributeFile);
|
|
227
|
-
var parsedAttribute = (0, utils_1.parseYaml)(fs.readFileSync(attributeFilePath, "utf8"));
|
|
217
|
+
var attributeKey = attributeFiles_1[_e];
|
|
218
|
+
var parsedAttribute = datasource.readAttribute(attributeKey);
|
|
228
219
|
if (parsedAttribute.archived === true) {
|
|
229
220
|
continue;
|
|
230
221
|
}
|
|
@@ -252,6 +243,7 @@ function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
|
|
|
252
243
|
var tags = projectConfig.tags;
|
|
253
244
|
var environments = projectConfig.environments;
|
|
254
245
|
var pkg = require(path.join(rootDirectoryPath, "package.json"));
|
|
246
|
+
var datasource = new datasource_1.Datasource(projectConfig);
|
|
255
247
|
for (var _i = 0, environments_1 = environments; _i < environments_1.length; _i++) {
|
|
256
248
|
var environment = environments_1[_i];
|
|
257
249
|
console.log("\nBuilding datafiles for environment: ".concat(environment));
|
|
@@ -264,7 +256,7 @@ function buildProject(rootDirectoryPath, projectConfig, cliOptions) {
|
|
|
264
256
|
for (var _a = 0, tags_1 = tags; _a < tags_1.length; _a++) {
|
|
265
257
|
var tag = tags_1[_a];
|
|
266
258
|
console.log("\n => Tag: ".concat(tag));
|
|
267
|
-
var datafileContent = buildDatafile(projectConfig, {
|
|
259
|
+
var datafileContent = buildDatafile(projectConfig, datasource, {
|
|
268
260
|
schemaVersion: config_1.SCHEMA_VERSION,
|
|
269
261
|
revision: cliOptions.revision || pkg.version,
|
|
270
262
|
environment: environment,
|
package/lib/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/lib/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BucketBy } from "@featurevisor/types";
|
|
2
|
+
import { Parser } from "./datasource/parsers";
|
|
2
3
|
export declare const FEATURES_DIRECTORY_NAME = "features";
|
|
3
4
|
export declare const SEGMENTS_DIRECTORY_NAME = "segments";
|
|
4
5
|
export declare const ATTRIBUTES_DIRECTORY_NAME = "attributes";
|
|
@@ -14,6 +15,7 @@ export declare const DEFAULT_TAGS: string[];
|
|
|
14
15
|
export declare const DEFAULT_BUCKET_BY_ATTRIBUTE = "userId";
|
|
15
16
|
export declare const DEFAULT_PRETTY_STATE = false;
|
|
16
17
|
export declare const DEFAULT_PRETTY_DATAFILE = false;
|
|
18
|
+
export declare const DEFAULT_PARSER: Parser;
|
|
17
19
|
export declare const SCHEMA_VERSION = "1";
|
|
18
20
|
export interface ProjectConfig {
|
|
19
21
|
featuresDirectoryPath: string;
|
|
@@ -26,6 +28,7 @@ export interface ProjectConfig {
|
|
|
26
28
|
environments: string[];
|
|
27
29
|
tags: string[];
|
|
28
30
|
defaultBucketBy: BucketBy;
|
|
31
|
+
parser: Parser;
|
|
29
32
|
prettyState: boolean;
|
|
30
33
|
prettyDatafile: boolean;
|
|
31
34
|
siteExportDirectoryPath: string;
|
package/lib/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProjectConfig = exports.SCHEMA_VERSION = exports.DEFAULT_PRETTY_DATAFILE = exports.DEFAULT_PRETTY_STATE = exports.DEFAULT_BUCKET_BY_ATTRIBUTE = exports.DEFAULT_TAGS = exports.DEFAULT_ENVIRONMENTS = exports.ROOT_DIR_PLACEHOLDER = exports.CONFIG_MODULE_NAME = exports.SITE_EXPORT_DIRECTORY_NAME = exports.OUTPUT_DIRECTORY_NAME = exports.STATE_DIRECTORY_NAME = exports.TESTS_DIRECTORY_NAME = exports.GROUPS_DIRECTORY_NAME = exports.ATTRIBUTES_DIRECTORY_NAME = exports.SEGMENTS_DIRECTORY_NAME = exports.FEATURES_DIRECTORY_NAME = void 0;
|
|
3
|
+
exports.getProjectConfig = exports.SCHEMA_VERSION = exports.DEFAULT_PARSER = exports.DEFAULT_PRETTY_DATAFILE = exports.DEFAULT_PRETTY_STATE = exports.DEFAULT_BUCKET_BY_ATTRIBUTE = exports.DEFAULT_TAGS = exports.DEFAULT_ENVIRONMENTS = exports.ROOT_DIR_PLACEHOLDER = exports.CONFIG_MODULE_NAME = exports.SITE_EXPORT_DIRECTORY_NAME = exports.OUTPUT_DIRECTORY_NAME = exports.STATE_DIRECTORY_NAME = exports.TESTS_DIRECTORY_NAME = exports.GROUPS_DIRECTORY_NAME = exports.ATTRIBUTES_DIRECTORY_NAME = exports.SEGMENTS_DIRECTORY_NAME = exports.FEATURES_DIRECTORY_NAME = void 0;
|
|
4
4
|
var path = require("path");
|
|
5
5
|
exports.FEATURES_DIRECTORY_NAME = "features";
|
|
6
6
|
exports.SEGMENTS_DIRECTORY_NAME = "segments";
|
|
@@ -17,6 +17,7 @@ exports.DEFAULT_TAGS = ["all"];
|
|
|
17
17
|
exports.DEFAULT_BUCKET_BY_ATTRIBUTE = "userId";
|
|
18
18
|
exports.DEFAULT_PRETTY_STATE = false;
|
|
19
19
|
exports.DEFAULT_PRETTY_DATAFILE = false;
|
|
20
|
+
exports.DEFAULT_PARSER = "yml";
|
|
20
21
|
exports.SCHEMA_VERSION = "1";
|
|
21
22
|
// rootDirectoryPath: path to the root directory of the project (without ending with a slash)
|
|
22
23
|
function getProjectConfig(rootDirectoryPath) {
|
|
@@ -31,6 +32,7 @@ function getProjectConfig(rootDirectoryPath) {
|
|
|
31
32
|
environments: exports.DEFAULT_ENVIRONMENTS,
|
|
32
33
|
tags: exports.DEFAULT_TAGS,
|
|
33
34
|
defaultBucketBy: "userId",
|
|
35
|
+
parser: exports.DEFAULT_PARSER,
|
|
34
36
|
prettyState: exports.DEFAULT_PRETTY_STATE,
|
|
35
37
|
prettyDatafile: exports.DEFAULT_PRETTY_DATAFILE,
|
|
36
38
|
siteExportDirectoryPath: path.join(rootDirectoryPath, exports.SITE_EXPORT_DIRECTORY_NAME),
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAMhB,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,yBAAyB,GAAG,YAAY,CAAC;AACzC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,oBAAoB,GAAG,eAAe,CAAC;AACvC,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAC/B,QAAA,0BAA0B,GAAG,KAAK,CAAC;AAEnC,QAAA,kBAAkB,GAAG,wBAAwB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,WAAW,CAAC;AAEnC,QAAA,oBAAoB,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACjD,QAAA,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AAEvC,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAEhC,QAAA,cAAc,GAAW,KAAK,CAAC;AAE/B,QAAA,cAAc,GAAG,GAAG,CAAC;AAmBlC,6FAA6F;AAC7F,SAAgB,gBAAgB,CAAC,iBAAyB;IACxD,IAAM,UAAU,GAAkB;QAChC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,+BAAuB,CAAC;QAC5E,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,+BAAuB,CAAC;QAC5E,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,iCAAyB,CAAC;QAChF,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAAqB,CAAC;QACxE,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,4BAAoB,CAAC;QAEtE,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,4BAAoB,CAAC;QACtE,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAAqB,CAAC;QAExE,YAAY,EAAE,4BAAoB;QAClC,IAAI,EAAE,oBAAY;QAClB,eAAe,EAAE,QAAQ;QAEzB,MAAM,EAAE,sBAAc;QAEtB,WAAW,EAAE,4BAAoB;QACjC,cAAc,EAAE,+BAAuB;QAEvC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,kCAA0B,CAAC;KAClF,CAAC;IAEF,IAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,0BAAkB,CAAC,CAAC;IAC1E,IAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE/C,IAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;QAClC,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,KAAK,CAAC,CAAC,EAAE;YACjF,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,4BAAoB,EAAE,iBAAiB,CAAC,CAAC;SACtF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAA4B,CAAC;AACtC,CAAC;AArCD,4CAqCC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Tag, ParsedFeature, Segment, Attribute, Group, Spec } from "@featurevisor/types";
|
|
2
|
+
import { ProjectConfig } from "../config";
|
|
3
|
+
export type EntityType = "feature" | "group" | "segment" | "attribute" | "test";
|
|
4
|
+
export declare class Datasource {
|
|
5
|
+
private config;
|
|
6
|
+
private extension;
|
|
7
|
+
private parse;
|
|
8
|
+
constructor(config: ProjectConfig);
|
|
9
|
+
getExtension(): any;
|
|
10
|
+
/**
|
|
11
|
+
* Common methods
|
|
12
|
+
*/
|
|
13
|
+
listEntities(entityType: EntityType): string[];
|
|
14
|
+
getEntityDirectoryPath(entityType: EntityType): string;
|
|
15
|
+
getEntityPath(entityType: EntityType, entityKey: string): string;
|
|
16
|
+
entityExists(entityType: EntityType, entityKey: string): boolean;
|
|
17
|
+
readEntity(entityType: EntityType, entityKey: string): string;
|
|
18
|
+
parseEntity<T>(entityType: EntityType, entityKey: string): T;
|
|
19
|
+
/**
|
|
20
|
+
* Entity specific methods
|
|
21
|
+
*/
|
|
22
|
+
listFeatures(tag?: Tag): string[];
|
|
23
|
+
readFeature(featureKey: string): ParsedFeature;
|
|
24
|
+
listSegments(segmentsList?: string[]): string[];
|
|
25
|
+
readSegment(segmentKey: string): Segment;
|
|
26
|
+
listAttributes(attributesList?: string[]): string[];
|
|
27
|
+
readAttribute(attributeKey: string): Attribute;
|
|
28
|
+
listGroups(featuresList?: string[]): string[];
|
|
29
|
+
readGroup(groupKey: string): Group;
|
|
30
|
+
listTests(): string[];
|
|
31
|
+
readTest(testKey: string): Spec;
|
|
32
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Datasource = void 0;
|
|
4
|
+
var path = require("path");
|
|
5
|
+
var fs = require("fs");
|
|
6
|
+
var parsers_1 = require("./parsers");
|
|
7
|
+
var Datasource = /** @class */ (function () {
|
|
8
|
+
function Datasource(config) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
if (typeof config.parser === "string") {
|
|
11
|
+
// built-in parsers
|
|
12
|
+
if (typeof parsers_1.parsers[config.parser] !== "function") {
|
|
13
|
+
throw new Error("Invalid parser: ".concat(config.parser));
|
|
14
|
+
}
|
|
15
|
+
this.extension = config.parser;
|
|
16
|
+
this.parse = parsers_1.parsers[config.parser];
|
|
17
|
+
}
|
|
18
|
+
else if (typeof config.parser === "object") {
|
|
19
|
+
// custom parser
|
|
20
|
+
if (typeof config.parser.extension !== "string") {
|
|
21
|
+
throw new Error("Invalid parser extension: ".concat(config.parser.extension));
|
|
22
|
+
}
|
|
23
|
+
if (typeof config.parser.parse !== "function") {
|
|
24
|
+
throw new Error("Invalid parser parse function: ".concat(config.parser.parse));
|
|
25
|
+
}
|
|
26
|
+
this.extension = config.parser.extension;
|
|
27
|
+
this.parse = config.parser.parse;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
throw new Error("Invalid parser: ".concat(config.parser));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
Datasource.prototype.getExtension = function () {
|
|
34
|
+
return this.extension;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Common methods
|
|
38
|
+
*/
|
|
39
|
+
Datasource.prototype.listEntities = function (entityType) {
|
|
40
|
+
var _this = this;
|
|
41
|
+
var directoryPath = this.getEntityDirectoryPath(entityType);
|
|
42
|
+
return fs
|
|
43
|
+
.readdirSync(directoryPath)
|
|
44
|
+
.filter(function (fileName) { return fileName.endsWith(".".concat(_this.extension)); })
|
|
45
|
+
.map(function (fileName) { return fileName.replace(".".concat(_this.extension), ""); });
|
|
46
|
+
};
|
|
47
|
+
Datasource.prototype.getEntityDirectoryPath = function (entityType) {
|
|
48
|
+
if (entityType === "feature") {
|
|
49
|
+
return this.config.featuresDirectoryPath;
|
|
50
|
+
}
|
|
51
|
+
else if (entityType === "group") {
|
|
52
|
+
return this.config.groupsDirectoryPath;
|
|
53
|
+
}
|
|
54
|
+
else if (entityType === "segment") {
|
|
55
|
+
return this.config.segmentsDirectoryPath;
|
|
56
|
+
}
|
|
57
|
+
else if (entityType === "test") {
|
|
58
|
+
return this.config.testsDirectoryPath;
|
|
59
|
+
}
|
|
60
|
+
return this.config.attributesDirectoryPath;
|
|
61
|
+
};
|
|
62
|
+
Datasource.prototype.getEntityPath = function (entityType, entityKey) {
|
|
63
|
+
var basePath = this.getEntityDirectoryPath(entityType);
|
|
64
|
+
return path.join(basePath, "".concat(entityKey, ".").concat(this.extension));
|
|
65
|
+
};
|
|
66
|
+
Datasource.prototype.entityExists = function (entityType, entityKey) {
|
|
67
|
+
var entityPath = this.getEntityPath(entityType, entityKey);
|
|
68
|
+
return fs.existsSync(entityPath);
|
|
69
|
+
};
|
|
70
|
+
Datasource.prototype.readEntity = function (entityType, entityKey) {
|
|
71
|
+
var filePath = this.getEntityPath(entityType, entityKey);
|
|
72
|
+
return fs.readFileSync(filePath, "utf8");
|
|
73
|
+
};
|
|
74
|
+
Datasource.prototype.parseEntity = function (entityType, entityKey) {
|
|
75
|
+
var entityContent = this.readEntity(entityType, entityKey);
|
|
76
|
+
return this.parse(entityContent);
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Entity specific methods
|
|
80
|
+
*/
|
|
81
|
+
// features
|
|
82
|
+
Datasource.prototype.listFeatures = function (tag) {
|
|
83
|
+
var _this = this;
|
|
84
|
+
var features = this.listEntities("feature");
|
|
85
|
+
if (tag) {
|
|
86
|
+
return features.filter(function (feature) {
|
|
87
|
+
var featureContent = _this.parseEntity("feature", feature);
|
|
88
|
+
return featureContent.tags.indexOf(tag) !== -1;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return features;
|
|
92
|
+
};
|
|
93
|
+
Datasource.prototype.readFeature = function (featureKey) {
|
|
94
|
+
return this.parseEntity("feature", featureKey);
|
|
95
|
+
};
|
|
96
|
+
// segments
|
|
97
|
+
Datasource.prototype.listSegments = function (segmentsList) {
|
|
98
|
+
var segments = this.listEntities("segment");
|
|
99
|
+
if (segmentsList) {
|
|
100
|
+
return segments.filter(function (segment) {
|
|
101
|
+
return segmentsList.indexOf(segment) !== -1;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return segments;
|
|
105
|
+
};
|
|
106
|
+
Datasource.prototype.readSegment = function (segmentKey) {
|
|
107
|
+
return this.parseEntity("segment", segmentKey);
|
|
108
|
+
};
|
|
109
|
+
// attributes
|
|
110
|
+
Datasource.prototype.listAttributes = function (attributesList) {
|
|
111
|
+
var attributes = this.listEntities("attribute");
|
|
112
|
+
if (attributesList) {
|
|
113
|
+
return attributes.filter(function (segment) {
|
|
114
|
+
return attributesList.indexOf(segment) !== -1;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return attributes;
|
|
118
|
+
};
|
|
119
|
+
Datasource.prototype.readAttribute = function (attributeKey) {
|
|
120
|
+
return this.parseEntity("attribute", attributeKey);
|
|
121
|
+
};
|
|
122
|
+
// groups
|
|
123
|
+
Datasource.prototype.listGroups = function (featuresList) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
var groups = this.listEntities("group");
|
|
126
|
+
if (featuresList) {
|
|
127
|
+
return groups.filter(function (group) {
|
|
128
|
+
var groupContent = _this.parseEntity("group", group);
|
|
129
|
+
return groupContent.slots.some(function (slot) {
|
|
130
|
+
if (!slot.feature) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
return featuresList.indexOf(slot.feature) !== -1;
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return groups;
|
|
138
|
+
};
|
|
139
|
+
Datasource.prototype.readGroup = function (groupKey) {
|
|
140
|
+
return this.parseEntity("group", groupKey);
|
|
141
|
+
};
|
|
142
|
+
// tests
|
|
143
|
+
Datasource.prototype.listTests = function () {
|
|
144
|
+
return this.listEntities("test");
|
|
145
|
+
};
|
|
146
|
+
Datasource.prototype.readTest = function (testKey) {
|
|
147
|
+
return this.parseEntity("test", testKey);
|
|
148
|
+
};
|
|
149
|
+
return Datasource;
|
|
150
|
+
}());
|
|
151
|
+
exports.Datasource = Datasource;
|
|
152
|
+
//# sourceMappingURL=datasource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* If we want to add more built-in parsers,
|
|
3
|
+
* add them to this object with new file extension as the key,
|
|
4
|
+
* and a function that takes file content as string and returns parsed object as the value.
|
|
5
|
+
*/
|
|
6
|
+
export declare const parsers: {
|
|
7
|
+
yml(content: string): unknown;
|
|
8
|
+
json(content: string): any;
|
|
9
|
+
};
|
|
10
|
+
export type BuiltInParser = keyof typeof parsers;
|
|
11
|
+
export interface CustomParser {
|
|
12
|
+
extension: string;
|
|
13
|
+
parse: (content: string) => any;
|
|
14
|
+
}
|
|
15
|
+
export type Parser = BuiltInParser | CustomParser;
|