@featurevisor/core 1.31.0 → 1.32.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/CHANGELOG.md +11 -0
- package/coverage/clover.xml +11 -11
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/index.html +7 -7
- 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/revision.js.html +1 -1
- package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
- package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
- package/coverage/lcov-report/lib/tester/index.html +5 -5
- package/coverage/lcov-report/lib/tester/matrix.js.html +5 -5
- 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/revision.ts.html +1 -1
- package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
- package/coverage/lcov-report/src/tester/index.html +5 -5
- package/coverage/lcov-report/src/tester/matrix.ts.html +5 -5
- package/coverage/lcov.info +30 -22
- package/lib/assess-distribution/index.d.ts +1 -1
- package/lib/assess-distribution/index.js +2 -2
- package/lib/assess-distribution/index.js.map +1 -1
- package/lib/benchmark/index.d.ts +1 -1
- package/lib/benchmark/index.js +2 -2
- package/lib/benchmark/index.js.map +1 -1
- package/lib/builder/buildDatafile.d.ts +1 -1
- package/lib/builder/buildDatafile.js +53 -40
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/builder/buildProject.js +87 -50
- package/lib/builder/buildProject.js.map +1 -1
- package/lib/config/projectConfig.d.ts +1 -1
- package/lib/datasource/adapter.d.ts +3 -3
- package/lib/datasource/adapter.js.map +1 -1
- package/lib/datasource/datasource.d.ts +2 -2
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.d.ts +1 -1
- package/lib/datasource/filesystemAdapter.js +9 -3
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/evaluate/index.d.ts +1 -1
- package/lib/evaluate/index.js +2 -2
- package/lib/evaluate/index.js.map +1 -1
- package/lib/find-usage/index.js +60 -26
- package/lib/find-usage/index.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +194 -5
- package/lib/linter/featureSchema.js +70 -60
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/testSchema.d.ts +1 -1
- package/lib/linter/testSchema.js +16 -13
- package/lib/linter/testSchema.js.map +1 -1
- package/lib/site/generateSiteSearchIndex.js +65 -24
- package/lib/site/generateSiteSearchIndex.js.map +1 -1
- package/lib/tester/matrix.js +2 -2
- package/lib/tester/matrix.js.map +1 -1
- package/lib/tester/testFeature.d.ts +3 -4
- package/lib/tester/testFeature.js +1 -2
- package/lib/tester/testFeature.js.map +1 -1
- package/lib/tester/testProject.d.ts +1 -3
- package/lib/tester/testProject.js +28 -12
- package/lib/tester/testProject.js.map +1 -1
- package/package.json +5 -5
- package/src/assess-distribution/index.ts +3 -3
- package/src/benchmark/index.ts +3 -3
- package/src/builder/buildDatafile.ts +25 -8
- package/src/builder/buildProject.ts +72 -31
- package/src/config/projectConfig.ts +1 -1
- package/src/datasource/adapter.ts +6 -3
- package/src/datasource/datasource.ts +2 -2
- package/src/datasource/filesystemAdapter.ts +12 -4
- package/src/evaluate/index.ts +3 -3
- package/src/find-usage/index.ts +65 -29
- package/src/linter/featureSchema.ts +100 -82
- package/src/linter/testSchema.ts +21 -16
- package/src/site/generateSiteSearchIndex.ts +71 -24
- package/src/tester/matrix.ts +2 -2
- package/src/tester/testFeature.ts +3 -2
- package/src/tester/testProject.ts +27 -8
|
@@ -451,7 +451,7 @@ ranges) {
|
|
|
451
451
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
452
452
|
Code coverage generated by
|
|
453
453
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
454
|
-
at 2025-02-
|
|
454
|
+
at 2025-02-26T20:48:14.009Z
|
|
455
455
|
</div>
|
|
456
456
|
<script src="../../prettify.js"></script>
|
|
457
457
|
<script>
|
|
@@ -136,7 +136,7 @@ function checkIfObjectsAreEqual(a, b) {
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at 2025-02-
|
|
139
|
+
at 2025-02-26T20:48:14.009Z
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">36.2% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>21/
|
|
35
|
+
<span class='fraction'>21/58</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
</td>
|
|
101
101
|
<td data-value="27.9" class="pct low">27.9%</td>
|
|
102
102
|
<td data-value="86" class="abs low">24/86</td>
|
|
103
|
-
<td data-value="
|
|
104
|
-
<td data-value="
|
|
103
|
+
<td data-value="18.18" class="pct low">18.18%</td>
|
|
104
|
+
<td data-value="44" class="abs low">8/44</td>
|
|
105
105
|
<td data-value="25" class="pct low">25%</td>
|
|
106
106
|
<td data-value="12" class="abs low">3/12</td>
|
|
107
107
|
<td data-value="29.11" class="pct low">29.11%</td>
|
|
@@ -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 2025-02-
|
|
119
|
+
at 2025-02-26T20:48:14.009Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">18.18% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>8/
|
|
35
|
+
<span class='fraction'>8/44</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -417,7 +417,7 @@ function <span class="fstat-no" title="function not covered" >applyCombinationTo
|
|
|
417
417
|
function <span class="fstat-no" title="function not covered" >getFeatureAssertionsFromMatrix(</span>aIndex, assertionWithMatrix) {
|
|
418
418
|
<span class="cstat-no" title="statement not covered" > if (!assertionWithMatrix.matrix) {</span>
|
|
419
419
|
var assertion = <span class="cstat-no" title="statement not covered" >__assign({}, assertionWithMatrix);</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > assertion.description = "Assertion #".concat(aIndex + 1, ": ("
|
|
420
|
+
<span class="cstat-no" title="statement not covered" > assertion.description = "Assertion #".concat(aIndex + 1, ":").concat(assertion.environment ? " (".concat(assertion.environment, ")") : "", " ").concat(assertion.description || "at ".concat(assertion.at, "%"));</span>
|
|
421
421
|
<span class="cstat-no" title="statement not covered" > return [assertion];</span>
|
|
422
422
|
}
|
|
423
423
|
var assertions = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
@@ -425,7 +425,7 @@ function <span class="fstat-no" title="function not covered" >getFeatureAssertio
|
|
|
425
425
|
<span class="cstat-no" title="statement not covered" > for (var cIndex = <span class="cstat-no" title="statement not covered" >0;</span> cIndex < combinations.length; cIndex++) {</span>
|
|
426
426
|
var combination = <span class="cstat-no" title="statement not covered" >combinations[cIndex];</span>
|
|
427
427
|
var assertion = <span class="cstat-no" title="statement not covered" >applyCombinationToFeatureAssertion(combination, assertionWithMatrix);</span>
|
|
428
|
-
<span class="cstat-no" title="statement not covered" > assertion.description = "Assertion #".concat(aIndex + 1, ": ("
|
|
428
|
+
<span class="cstat-no" title="statement not covered" > assertion.description = "Assertion #".concat(aIndex + 1, ":").concat(assertion.environment ? " (".concat(assertion.environment, ")") : "", " ").concat(assertion.description || "at ".concat(assertion.at, "%"));</span>
|
|
429
429
|
<span class="cstat-no" title="statement not covered" > assertions.push(assertion);</span>
|
|
430
430
|
}
|
|
431
431
|
<span class="cstat-no" title="statement not covered" > return assertions;</span>
|
|
@@ -469,7 +469,7 @@ function <span class="fstat-no" title="function not covered" >getSegmentAssertio
|
|
|
469
469
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
470
470
|
Code coverage generated by
|
|
471
471
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
472
|
-
at 2025-02-
|
|
472
|
+
at 2025-02-26T20:48:14.009Z
|
|
473
473
|
</div>
|
|
474
474
|
<script src="../../prettify.js"></script>
|
|
475
475
|
<script>
|
|
@@ -205,7 +205,7 @@ export function getUpdatedAvailableRangesAfterFilling(
|
|
|
205
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
206
206
|
Code coverage generated by
|
|
207
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
208
|
-
at 2025-02-
|
|
208
|
+
at 2025-02-26T20:48:14.009Z
|
|
209
209
|
</div>
|
|
210
210
|
<script src="../../prettify.js"></script>
|
|
211
211
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at 2025-02-
|
|
134
|
+
at 2025-02-26T20:48:14.009Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at 2025-02-
|
|
139
|
+
at 2025-02-26T20:48:14.009Z
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -565,7 +565,7 @@ export function getTraffic(
|
|
|
565
565
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
566
566
|
Code coverage generated by
|
|
567
567
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
568
|
-
at 2025-02-
|
|
568
|
+
at 2025-02-26T20:48:14.009Z
|
|
569
569
|
</div>
|
|
570
570
|
<script src="../../prettify.js"></script>
|
|
571
571
|
<script>
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at 2025-02-
|
|
145
|
+
at 2025-02-26T20:48:14.009Z
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">31.57% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>12/
|
|
35
|
+
<span class='fraction'>12/38</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
</td>
|
|
101
101
|
<td data-value="27.02" class="pct low">27.02%</td>
|
|
102
102
|
<td data-value="74" class="abs low">20/74</td>
|
|
103
|
-
<td data-value="
|
|
104
|
-
<td data-value="
|
|
103
|
+
<td data-value="10.71" class="pct low">10.71%</td>
|
|
104
|
+
<td data-value="28" class="abs low">3/28</td>
|
|
105
105
|
<td data-value="20" class="pct low">20%</td>
|
|
106
106
|
<td data-value="10" class="abs low">2/10</td>
|
|
107
107
|
<td data-value="27.14" class="pct low">27.14%</td>
|
|
@@ -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 2025-02-
|
|
119
|
+
at 2025-02-26T20:48:14.009Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">10.71% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>3/
|
|
35
|
+
<span class='fraction'>3/28</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -540,7 +540,7 @@ export function <span class="fstat-no" title="function not covered" >getFeatureA
|
|
|
540
540
|
): FeatureAssertion[] {
|
|
541
541
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!assertionWithMatrix.matrix) {</span>
|
|
542
542
|
const assertion<span class="cstat-no" title="statement not covered" > = { ...assertionWithMatrix };</span>
|
|
543
|
-
<span class="cstat-no" title="statement not covered" > assertion.description = `Assertion #${aIndex + 1}
|
|
543
|
+
<span class="cstat-no" title="statement not covered" > assertion.description = `Assertion #${aIndex + 1}:${assertion.environment ? ` (${assertion.environment})` : ""} ${</span>
|
|
544
544
|
assertion.description || `at ${assertion.at}%`
|
|
545
545
|
}`;
|
|
546
546
|
|
|
@@ -553,7 +553,7 @@ export function <span class="fstat-no" title="function not covered" >getFeatureA
|
|
|
553
553
|
<span class="cstat-no" title="statement not covered" > for (let cIndex = <span class="cstat-no" title="statement not covered" >0;</span> cIndex < combinations.length; cIndex++) {</span>
|
|
554
554
|
const combination = <span class="cstat-no" title="statement not covered" >combinations[cIndex];</span>
|
|
555
555
|
const assertion = <span class="cstat-no" title="statement not covered" >applyCombinationToFeatureAssertion(combination, assertionWithMatrix);</span>
|
|
556
|
-
<span class="cstat-no" title="statement not covered" > assertion.description = `Assertion #${aIndex + 1}
|
|
556
|
+
<span class="cstat-no" title="statement not covered" > assertion.description = `Assertion #${aIndex + 1}:${assertion.environment ? ` (${assertion.environment})` : ""} ${</span>
|
|
557
557
|
assertion.description || `at ${assertion.at}%`
|
|
558
558
|
}`;
|
|
559
559
|
|
|
@@ -625,7 +625,7 @@ export function <span class="fstat-no" title="function not covered" >getSegmentA
|
|
|
625
625
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
626
626
|
Code coverage generated by
|
|
627
627
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
628
|
-
at 2025-02-
|
|
628
|
+
at 2025-02-26T20:48:14.009Z
|
|
629
629
|
</div>
|
|
630
630
|
<script src="../../prettify.js"></script>
|
|
631
631
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -396,17 +396,21 @@ BRDA:87,12,0,0
|
|
|
396
396
|
BRDA:87,12,1,0
|
|
397
397
|
BRDA:89,13,0,0
|
|
398
398
|
BRDA:89,13,1,0
|
|
399
|
-
BRDA:
|
|
400
|
-
BRDA:
|
|
401
|
-
BRDA:
|
|
402
|
-
BRDA:
|
|
403
|
-
BRDA:
|
|
404
|
-
BRDA:
|
|
405
|
-
BRDA:
|
|
406
|
-
BRDA:
|
|
407
|
-
BRDA:
|
|
408
|
-
BRDA:
|
|
409
|
-
|
|
399
|
+
BRDA:89,14,0,0
|
|
400
|
+
BRDA:89,14,1,0
|
|
401
|
+
BRDA:97,15,0,0
|
|
402
|
+
BRDA:97,15,1,0
|
|
403
|
+
BRDA:97,16,0,0
|
|
404
|
+
BRDA:97,16,1,0
|
|
405
|
+
BRDA:113,17,0,0
|
|
406
|
+
BRDA:113,17,1,0
|
|
407
|
+
BRDA:119,18,0,0
|
|
408
|
+
BRDA:119,18,1,0
|
|
409
|
+
BRDA:121,19,0,0
|
|
410
|
+
BRDA:121,19,1,0
|
|
411
|
+
BRDA:129,20,0,0
|
|
412
|
+
BRDA:129,20,1,0
|
|
413
|
+
BRF:44
|
|
410
414
|
BRH:8
|
|
411
415
|
end_of_record
|
|
412
416
|
TN:
|
|
@@ -752,16 +756,20 @@ BRDA:86,7,0,0
|
|
|
752
756
|
BRDA:86,7,1,0
|
|
753
757
|
BRDA:92,8,0,0
|
|
754
758
|
BRDA:106,9,0,0
|
|
755
|
-
BRDA:
|
|
756
|
-
BRDA:
|
|
757
|
-
BRDA:
|
|
758
|
-
BRDA:
|
|
759
|
-
BRDA:
|
|
760
|
-
BRDA:
|
|
761
|
-
BRDA:
|
|
762
|
-
BRDA:
|
|
763
|
-
BRDA:
|
|
764
|
-
BRDA:
|
|
765
|
-
|
|
759
|
+
BRDA:108,10,0,0
|
|
760
|
+
BRDA:108,10,1,0
|
|
761
|
+
BRDA:109,11,0,0
|
|
762
|
+
BRDA:109,11,1,0
|
|
763
|
+
BRDA:121,12,0,0
|
|
764
|
+
BRDA:121,12,1,0
|
|
765
|
+
BRDA:122,13,0,0
|
|
766
|
+
BRDA:122,13,1,0
|
|
767
|
+
BRDA:148,14,0,0
|
|
768
|
+
BRDA:162,15,0,0
|
|
769
|
+
BRDA:165,16,0,0
|
|
770
|
+
BRDA:165,16,1,0
|
|
771
|
+
BRDA:178,17,0,0
|
|
772
|
+
BRDA:178,17,1,0
|
|
773
|
+
BRF:28
|
|
766
774
|
BRH:3
|
|
767
775
|
end_of_record
|
|
@@ -2,7 +2,7 @@ import { FeatureKey, AttributeKey, Context } from "@featurevisor/types";
|
|
|
2
2
|
import { Dependencies } from "../dependencies";
|
|
3
3
|
import { Plugin } from "../cli";
|
|
4
4
|
export interface AssessDistributionOptions {
|
|
5
|
-
environment
|
|
5
|
+
environment?: string;
|
|
6
6
|
feature: FeatureKey;
|
|
7
7
|
context: Context;
|
|
8
8
|
n: number;
|
|
@@ -100,13 +100,13 @@ function assessDistribution(deps, options) {
|
|
|
100
100
|
console.log("\nAssessing distribution for feature: \"".concat(options.feature, "\"..."));
|
|
101
101
|
datafileBuildStart = Date.now();
|
|
102
102
|
console.log("\n\nBuilding datafile containing all features for \"".concat(options.environment, "\"..."));
|
|
103
|
-
return [4 /*yield*/, datasource.readState(options.environment)];
|
|
103
|
+
return [4 /*yield*/, datasource.readState(options.environment || false)];
|
|
104
104
|
case 1:
|
|
105
105
|
existingState = _a.sent();
|
|
106
106
|
return [4 /*yield*/, (0, builder_1.buildDatafile)(projectConfig, datasource, {
|
|
107
107
|
schemaVersion: options.schemaVersion || config_1.SCHEMA_VERSION,
|
|
108
108
|
revision: "include-all-features",
|
|
109
|
-
environment: options.environment,
|
|
109
|
+
environment: options.environment || false,
|
|
110
110
|
inflate: options.inflate,
|
|
111
111
|
}, existingState)];
|
|
112
112
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assess-distribution/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assess-distribution/index.ts"],"names":[],"mappings":"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"}
|
package/lib/benchmark/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare function benchmarkFeatureFlag(f: FeaturevisorInstance, featureKey
|
|
|
9
9
|
export declare function benchmarkFeatureVariation(f: FeaturevisorInstance, featureKey: string, context: Record<string, unknown>, n: number): BenchmarkOutput;
|
|
10
10
|
export declare function benchmarkFeatureVariable(f: FeaturevisorInstance, featureKey: string, variableKey: string, context: Record<string, unknown>, n: number): BenchmarkOutput;
|
|
11
11
|
export interface BenchmarkOptions {
|
|
12
|
-
environment
|
|
12
|
+
environment?: string;
|
|
13
13
|
feature: string;
|
|
14
14
|
n: number;
|
|
15
15
|
context: Record<string, unknown>;
|
package/lib/benchmark/index.js
CHANGED
|
@@ -93,13 +93,13 @@ function benchmarkFeature(deps, options) {
|
|
|
93
93
|
console.log("");
|
|
94
94
|
console.log("Building datafile containing all features for \"".concat(options.environment, "\"..."));
|
|
95
95
|
datafileBuildStart = Date.now();
|
|
96
|
-
return [4 /*yield*/, datasource.readState(options.environment)];
|
|
96
|
+
return [4 /*yield*/, datasource.readState(options.environment || false)];
|
|
97
97
|
case 1:
|
|
98
98
|
existingState = _a.sent();
|
|
99
99
|
return [4 /*yield*/, (0, builder_1.buildDatafile)(projectConfig, datasource, {
|
|
100
100
|
schemaVersion: options.schemaVersion || config_1.SCHEMA_VERSION,
|
|
101
101
|
revision: "include-all-features",
|
|
102
|
-
environment: options.environment,
|
|
102
|
+
environment: options.environment || false,
|
|
103
103
|
inflate: options.inflate,
|
|
104
104
|
}, existingState)];
|
|
105
105
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/benchmark/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,oDAmBC;AAED,8DAmBC;AAED,4DAoBC;AAaD,4CAwEC;AAhKD,yCAAyE;AAEzE,oCAA2C;AAC3C,sCAA2C;AAE3C,2DAA0D;AAQ1D,SAAgB,oBAAoB,CAClC,CAAuB,EACvB,UAAkB,EAClB,OAAgC,EAChC,CAAS;IAET,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,KAAU,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,OAAkB,CAAC,CAAC;IACtD,CAAC;IAED,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAEpC,OAAO;QACL,KAAK,OAAA;QACL,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CACvC,CAAuB,EACvB,UAAkB,EAClB,OAAgC,EAChC,CAAS;IAET,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,KAAU,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,OAAkB,CAAC,CAAC;IACzD,CAAC;IAED,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAEpC,OAAO;QACL,KAAK,OAAA;QACL,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,CAAuB,EACvB,UAAkB,EAClB,WAAmB,EACnB,OAAgC,EAChC,CAAS;IAET,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,KAAU,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,OAAkB,CAAC,CAAC;IACrE,CAAC;IAED,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAEpC,OAAO;QACL,KAAK,OAAA;QACL,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAaD,SAAsB,gBAAgB,CACpC,IAAkB,EAClB,OAAyB;;;;;;oBAEjB,UAAU,GAAoB,IAAI,WAAxB,EAAE,aAAa,GAAK,IAAI,cAAT,CAAU;oBAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,0CAAkC,OAAO,CAAC,OAAO,UAAM,CAAC,CAAC;oBAErE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEhB,OAAO,CAAC,GAAG,CAAC,0DAAkD,OAAO,CAAC,WAAW,UAAM,CAAC,CAAC;oBACnF,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChB,qBAAM,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAA;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/benchmark/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare function getCustomDatafile(options: CustomDatafileOptions): Promi
|
|
|
14
14
|
export interface BuildOptions {
|
|
15
15
|
schemaVersion: string;
|
|
16
16
|
revision: string;
|
|
17
|
-
environment: string;
|
|
17
|
+
environment: string | false;
|
|
18
18
|
tag?: string;
|
|
19
19
|
features?: FeatureKey[];
|
|
20
20
|
inflate?: number;
|
|
@@ -85,10 +85,10 @@ function getCustomDatafile(options) {
|
|
|
85
85
|
}
|
|
86
86
|
function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
87
87
|
return __awaiter(this, void 0, void 0, function () {
|
|
88
|
-
var datafileContent, segmentKeysUsedByTag, attributeKeysUsedByTag, _a, featureRanges, featureIsInGroup, features, featuresDirectory, featureFiles, _i, featureFiles_1, featureKey, parsedFeature, exposeTags, _b,
|
|
89
|
-
var
|
|
90
|
-
return __generator(this, function (
|
|
91
|
-
switch (
|
|
88
|
+
var datafileContent, segmentKeysUsedByTag, attributeKeysUsedByTag, _a, featureRanges, featureIsInGroup, features, featuresDirectory, featureFiles, _i, featureFiles_1, featureKey, parsedFeature, expose, rules, force, exposeTags, _b, rules_1, parsedRule, extractedSegmentKeys, feature, segments, segmentsDirectory, segmentFiles, _c, segmentFiles_1, segmentKey, parsedSegment, extractedAttributeKeys, segment, attributes, attributesDirectory, attributeFiles, _d, attributeFiles_1, attributeKey, parsedAttribute, attribute, allFeatureKeys, allSegmentKeys, allAttributeKeys, i, _loop_1, _e, allFeatureKeys_1, featureKey, _loop_2, _f, allSegmentKeys_1, segmentKey, _loop_3, _g, allAttributeKeys_1, attributeKey, datafileContentV2;
|
|
89
|
+
var _h;
|
|
90
|
+
return __generator(this, function (_j) {
|
|
91
|
+
switch (_j.label) {
|
|
92
92
|
case 0:
|
|
93
93
|
datafileContent = {
|
|
94
94
|
schemaVersion: options.schemaVersion,
|
|
@@ -101,21 +101,21 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
101
101
|
attributeKeysUsedByTag = new Set();
|
|
102
102
|
return [4 /*yield*/, (0, getFeatureRanges_1.getFeatureRanges)(projectConfig, datasource)];
|
|
103
103
|
case 1:
|
|
104
|
-
_a =
|
|
104
|
+
_a = _j.sent(), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
|
|
105
105
|
features = [];
|
|
106
106
|
featuresDirectory = projectConfig.featuresDirectoryPath;
|
|
107
107
|
if (!fs.existsSync(featuresDirectory)) return [3 /*break*/, 6];
|
|
108
108
|
return [4 /*yield*/, datasource.listFeatures()];
|
|
109
109
|
case 2:
|
|
110
|
-
featureFiles =
|
|
110
|
+
featureFiles = _j.sent();
|
|
111
111
|
_i = 0, featureFiles_1 = featureFiles;
|
|
112
|
-
|
|
112
|
+
_j.label = 3;
|
|
113
113
|
case 3:
|
|
114
114
|
if (!(_i < featureFiles_1.length)) return [3 /*break*/, 6];
|
|
115
115
|
featureKey = featureFiles_1[_i];
|
|
116
116
|
return [4 /*yield*/, datasource.readFeature(featureKey)];
|
|
117
117
|
case 4:
|
|
118
|
-
parsedFeature =
|
|
118
|
+
parsedFeature = _j.sent();
|
|
119
119
|
if (parsedFeature.archived === true) {
|
|
120
120
|
return [3 /*break*/, 5];
|
|
121
121
|
}
|
|
@@ -125,17 +125,30 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
125
125
|
if (options.features && options.features.indexOf(featureKey) === -1) {
|
|
126
126
|
return [3 /*break*/, 5];
|
|
127
127
|
}
|
|
128
|
-
|
|
128
|
+
expose = void 0;
|
|
129
|
+
rules = void 0;
|
|
130
|
+
force = void 0;
|
|
131
|
+
if (options.environment && parsedFeature.environments) {
|
|
132
|
+
expose = parsedFeature.environments[options.environment].expose;
|
|
133
|
+
rules = parsedFeature.environments[options.environment].rules;
|
|
134
|
+
force = parsedFeature.environments[options.environment].force;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
expose = parsedFeature.expose;
|
|
138
|
+
rules = parsedFeature.rules;
|
|
139
|
+
force = parsedFeature.force;
|
|
140
|
+
}
|
|
141
|
+
if (expose === false) {
|
|
129
142
|
return [3 /*break*/, 5];
|
|
130
143
|
}
|
|
131
|
-
if (Array.isArray(
|
|
132
|
-
exposeTags =
|
|
144
|
+
if (Array.isArray(expose)) {
|
|
145
|
+
exposeTags = expose;
|
|
133
146
|
if (options.tag && exposeTags.indexOf(options.tag) === -1) {
|
|
134
147
|
return [3 /*break*/, 5];
|
|
135
148
|
}
|
|
136
149
|
}
|
|
137
|
-
for (_b = 0,
|
|
138
|
-
parsedRule =
|
|
150
|
+
for (_b = 0, rules_1 = rules; _b < rules_1.length; _b++) {
|
|
151
|
+
parsedRule = rules_1[_b];
|
|
139
152
|
extractedSegmentKeys = (0, utils_1.extractSegmentKeysFromGroupSegments)(parsedRule.segments);
|
|
140
153
|
extractedSegmentKeys.forEach(function (segmentKey) { return segmentKeysUsedByTag.add(segmentKey); });
|
|
141
154
|
}
|
|
@@ -193,7 +206,7 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
193
206
|
return mappedVariation;
|
|
194
207
|
})
|
|
195
208
|
: undefined,
|
|
196
|
-
traffic: (0, traffic_1.getTraffic)(parsedFeature.variations,
|
|
209
|
+
traffic: (0, traffic_1.getTraffic)(parsedFeature.variations, rules, existingState.features[featureKey], featureRanges.get(featureKey) || []).map(function (t) {
|
|
197
210
|
return __assign(__assign({}, t), { segments: typeof t.segments !== "string" && projectConfig.stringify
|
|
198
211
|
? JSON.stringify(t.segments)
|
|
199
212
|
: t.segments });
|
|
@@ -235,9 +248,9 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
235
248
|
};
|
|
236
249
|
});
|
|
237
250
|
}
|
|
238
|
-
if (
|
|
239
|
-
feature.force =
|
|
240
|
-
(
|
|
251
|
+
if (force) {
|
|
252
|
+
feature.force = force;
|
|
253
|
+
(_h = feature.force) === null || _h === void 0 ? void 0 : _h.forEach(function (f) {
|
|
241
254
|
if (f.segments) {
|
|
242
255
|
var extractedSegmentKeys = (0, utils_1.extractSegmentKeysFromGroupSegments)(f.segments);
|
|
243
256
|
extractedSegmentKeys.forEach(function (segmentKey) { return segmentKeysUsedByTag.add(segmentKey); });
|
|
@@ -245,7 +258,7 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
245
258
|
});
|
|
246
259
|
}
|
|
247
260
|
features.push(feature);
|
|
248
|
-
|
|
261
|
+
_j.label = 5;
|
|
249
262
|
case 5:
|
|
250
263
|
_i++;
|
|
251
264
|
return [3 /*break*/, 3];
|
|
@@ -255,15 +268,15 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
255
268
|
if (!fs.existsSync(segmentsDirectory)) return [3 /*break*/, 11];
|
|
256
269
|
return [4 /*yield*/, datasource.listSegments()];
|
|
257
270
|
case 7:
|
|
258
|
-
segmentFiles =
|
|
259
|
-
|
|
260
|
-
|
|
271
|
+
segmentFiles = _j.sent();
|
|
272
|
+
_c = 0, segmentFiles_1 = segmentFiles;
|
|
273
|
+
_j.label = 8;
|
|
261
274
|
case 8:
|
|
262
|
-
if (!(
|
|
263
|
-
segmentKey = segmentFiles_1[
|
|
275
|
+
if (!(_c < segmentFiles_1.length)) return [3 /*break*/, 11];
|
|
276
|
+
segmentKey = segmentFiles_1[_c];
|
|
264
277
|
return [4 /*yield*/, datasource.readSegment(segmentKey)];
|
|
265
278
|
case 9:
|
|
266
|
-
parsedSegment =
|
|
279
|
+
parsedSegment = _j.sent();
|
|
267
280
|
if (parsedSegment.archived === true) {
|
|
268
281
|
return [3 /*break*/, 10];
|
|
269
282
|
}
|
|
@@ -279,9 +292,9 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
279
292
|
: parsedSegment.conditions,
|
|
280
293
|
};
|
|
281
294
|
segments.push(segment);
|
|
282
|
-
|
|
295
|
+
_j.label = 10;
|
|
283
296
|
case 10:
|
|
284
|
-
|
|
297
|
+
_c++;
|
|
285
298
|
return [3 /*break*/, 8];
|
|
286
299
|
case 11:
|
|
287
300
|
attributes = [];
|
|
@@ -289,15 +302,15 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
289
302
|
if (!fs.existsSync(attributesDirectory)) return [3 /*break*/, 16];
|
|
290
303
|
return [4 /*yield*/, datasource.listAttributes()];
|
|
291
304
|
case 12:
|
|
292
|
-
attributeFiles =
|
|
293
|
-
|
|
294
|
-
|
|
305
|
+
attributeFiles = _j.sent();
|
|
306
|
+
_d = 0, attributeFiles_1 = attributeFiles;
|
|
307
|
+
_j.label = 13;
|
|
295
308
|
case 13:
|
|
296
|
-
if (!(
|
|
297
|
-
attributeKey = attributeFiles_1[
|
|
309
|
+
if (!(_d < attributeFiles_1.length)) return [3 /*break*/, 16];
|
|
310
|
+
attributeKey = attributeFiles_1[_d];
|
|
298
311
|
return [4 /*yield*/, datasource.readAttribute(attributeKey)];
|
|
299
312
|
case 14:
|
|
300
|
-
parsedAttribute =
|
|
313
|
+
parsedAttribute = _j.sent();
|
|
301
314
|
if (parsedAttribute.archived === true) {
|
|
302
315
|
return [3 /*break*/, 15];
|
|
303
316
|
}
|
|
@@ -312,9 +325,9 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
312
325
|
attribute.capture = true;
|
|
313
326
|
}
|
|
314
327
|
attributes.push(attribute);
|
|
315
|
-
|
|
328
|
+
_j.label = 15;
|
|
316
329
|
case 15:
|
|
317
|
-
|
|
330
|
+
_d++;
|
|
318
331
|
return [3 /*break*/, 13];
|
|
319
332
|
case 16:
|
|
320
333
|
// inflate
|
|
@@ -328,8 +341,8 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
328
341
|
features.unshift(__assign(__assign({}, originalFeature), { key: "".concat(originalFeature.key, "-").concat(i) }));
|
|
329
342
|
};
|
|
330
343
|
// feature
|
|
331
|
-
for (
|
|
332
|
-
featureKey = allFeatureKeys_1[
|
|
344
|
+
for (_e = 0, allFeatureKeys_1 = allFeatureKeys; _e < allFeatureKeys_1.length; _e++) {
|
|
345
|
+
featureKey = allFeatureKeys_1[_e];
|
|
333
346
|
_loop_1(featureKey);
|
|
334
347
|
}
|
|
335
348
|
_loop_2 = function (segmentKey) {
|
|
@@ -337,8 +350,8 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
337
350
|
segments.unshift(__assign(__assign({}, originalSegment), { key: "".concat(originalSegment.key, "-").concat(i) }));
|
|
338
351
|
};
|
|
339
352
|
// segment
|
|
340
|
-
for (
|
|
341
|
-
segmentKey = allSegmentKeys_1[
|
|
353
|
+
for (_f = 0, allSegmentKeys_1 = allSegmentKeys; _f < allSegmentKeys_1.length; _f++) {
|
|
354
|
+
segmentKey = allSegmentKeys_1[_f];
|
|
342
355
|
_loop_2(segmentKey);
|
|
343
356
|
}
|
|
344
357
|
_loop_3 = function (attributeKey) {
|
|
@@ -346,8 +359,8 @@ function buildDatafile(projectConfig, datasource, options, existingState) {
|
|
|
346
359
|
attributes.unshift(__assign(__assign({}, originalAttribute), { key: "".concat(originalAttribute.key, "-").concat(i) }));
|
|
347
360
|
};
|
|
348
361
|
// attribute
|
|
349
|
-
for (
|
|
350
|
-
attributeKey = allAttributeKeys_1[
|
|
362
|
+
for (_g = 0, allAttributeKeys_1 = allAttributeKeys; _g < allAttributeKeys_1.length; _g++) {
|
|
363
|
+
attributeKey = allAttributeKeys_1[_g];
|
|
351
364
|
_loop_3(attributeKey);
|
|
352
365
|
}
|
|
353
366
|
}
|