@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.
Files changed (76) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/coverage/clover.xml +11 -11
  3. package/coverage/coverage-final.json +2 -2
  4. package/coverage/lcov-report/index.html +7 -7
  5. package/coverage/lcov-report/lib/builder/allocator.js.html +1 -1
  6. package/coverage/lcov-report/lib/builder/index.html +1 -1
  7. package/coverage/lcov-report/lib/builder/revision.js.html +1 -1
  8. package/coverage/lcov-report/lib/builder/traffic.js.html +1 -1
  9. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +1 -1
  10. package/coverage/lcov-report/lib/tester/index.html +5 -5
  11. package/coverage/lcov-report/lib/tester/matrix.js.html +5 -5
  12. package/coverage/lcov-report/src/builder/allocator.ts.html +1 -1
  13. package/coverage/lcov-report/src/builder/index.html +1 -1
  14. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  15. package/coverage/lcov-report/src/builder/traffic.ts.html +1 -1
  16. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +1 -1
  17. package/coverage/lcov-report/src/tester/index.html +5 -5
  18. package/coverage/lcov-report/src/tester/matrix.ts.html +5 -5
  19. package/coverage/lcov.info +30 -22
  20. package/lib/assess-distribution/index.d.ts +1 -1
  21. package/lib/assess-distribution/index.js +2 -2
  22. package/lib/assess-distribution/index.js.map +1 -1
  23. package/lib/benchmark/index.d.ts +1 -1
  24. package/lib/benchmark/index.js +2 -2
  25. package/lib/benchmark/index.js.map +1 -1
  26. package/lib/builder/buildDatafile.d.ts +1 -1
  27. package/lib/builder/buildDatafile.js +53 -40
  28. package/lib/builder/buildDatafile.js.map +1 -1
  29. package/lib/builder/buildProject.js +87 -50
  30. package/lib/builder/buildProject.js.map +1 -1
  31. package/lib/config/projectConfig.d.ts +1 -1
  32. package/lib/datasource/adapter.d.ts +3 -3
  33. package/lib/datasource/adapter.js.map +1 -1
  34. package/lib/datasource/datasource.d.ts +2 -2
  35. package/lib/datasource/datasource.js.map +1 -1
  36. package/lib/datasource/filesystemAdapter.d.ts +1 -1
  37. package/lib/datasource/filesystemAdapter.js +9 -3
  38. package/lib/datasource/filesystemAdapter.js.map +1 -1
  39. package/lib/evaluate/index.d.ts +1 -1
  40. package/lib/evaluate/index.js +2 -2
  41. package/lib/evaluate/index.js.map +1 -1
  42. package/lib/find-usage/index.js +60 -26
  43. package/lib/find-usage/index.js.map +1 -1
  44. package/lib/linter/featureSchema.d.ts +194 -5
  45. package/lib/linter/featureSchema.js +70 -60
  46. package/lib/linter/featureSchema.js.map +1 -1
  47. package/lib/linter/testSchema.d.ts +1 -1
  48. package/lib/linter/testSchema.js +16 -13
  49. package/lib/linter/testSchema.js.map +1 -1
  50. package/lib/site/generateSiteSearchIndex.js +65 -24
  51. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  52. package/lib/tester/matrix.js +2 -2
  53. package/lib/tester/matrix.js.map +1 -1
  54. package/lib/tester/testFeature.d.ts +3 -4
  55. package/lib/tester/testFeature.js +1 -2
  56. package/lib/tester/testFeature.js.map +1 -1
  57. package/lib/tester/testProject.d.ts +1 -3
  58. package/lib/tester/testProject.js +28 -12
  59. package/lib/tester/testProject.js.map +1 -1
  60. package/package.json +5 -5
  61. package/src/assess-distribution/index.ts +3 -3
  62. package/src/benchmark/index.ts +3 -3
  63. package/src/builder/buildDatafile.ts +25 -8
  64. package/src/builder/buildProject.ts +72 -31
  65. package/src/config/projectConfig.ts +1 -1
  66. package/src/datasource/adapter.ts +6 -3
  67. package/src/datasource/datasource.ts +2 -2
  68. package/src/datasource/filesystemAdapter.ts +12 -4
  69. package/src/evaluate/index.ts +3 -3
  70. package/src/find-usage/index.ts +65 -29
  71. package/src/linter/featureSchema.ts +100 -82
  72. package/src/linter/testSchema.ts +21 -16
  73. package/src/site/generateSiteSearchIndex.ts +71 -24
  74. package/src/tester/matrix.ts +2 -2
  75. package/src/tester/testFeature.ts +3 -2
  76. 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-13T21:59:24.440Z
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-13T21:59:24.440Z
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">38.88% </span>
33
+ <span class="strong">36.2% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>21/54</span>
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="20" class="pct low">20%</td>
104
- <td data-value="40" class="abs low">8/40</td>
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-13T21:59:24.440Z
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">20% </span>
33
+ <span class="strong">18.18% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/40</span>
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, ": (").concat(assertion.environment, ") ").concat(assertion.description || "at ".concat(assertion.at, "%"));</span>
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 &lt; 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, ": (").concat(assertion.environment, ") ").concat(assertion.description || "at ".concat(assertion.at, "%"));</span>
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-13T21:59:24.440Z
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-13T21:59:24.440Z
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-13T21:59:24.440Z
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-13T21:59:24.440Z
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-13T21:59:24.440Z
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-13T21:59:24.440Z
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">35.29% </span>
33
+ <span class="strong">31.57% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/34</span>
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="12.5" class="pct low">12.5%</td>
104
- <td data-value="24" class="abs low">3/24</td>
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-13T21:59:24.440Z
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">12.5% </span>
33
+ <span class="strong">10.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>3/24</span>
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}: (${assertion.environment}) ${</span>
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
  &nbsp;
@@ -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 &lt; 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}: (${assertion.environment}) ${</span>
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
  &nbsp;
@@ -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-13T21:59:24.440Z
628
+ at 2025-02-26T20:48:14.009Z
629
629
  </div>
630
630
  <script src="../../prettify.js"></script>
631
631
  <script>
@@ -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:97,14,0,0
400
- BRDA:97,14,1,0
401
- BRDA:113,15,0,0
402
- BRDA:113,15,1,0
403
- BRDA:119,16,0,0
404
- BRDA:119,16,1,0
405
- BRDA:121,17,0,0
406
- BRDA:121,17,1,0
407
- BRDA:129,18,0,0
408
- BRDA:129,18,1,0
409
- BRF:40
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:109,10,0,0
756
- BRDA:109,10,1,0
757
- BRDA:122,11,0,0
758
- BRDA:122,11,1,0
759
- BRDA:148,12,0,0
760
- BRDA:162,13,0,0
761
- BRDA:165,14,0,0
762
- BRDA:165,14,1,0
763
- BRDA:178,15,0,0
764
- BRDA:178,15,1,0
765
- BRF:24
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: string;
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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"}
@@ -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: string;
12
+ environment?: string;
13
13
  feature: string;
14
14
  n: number;
15
15
  context: Record<string, unknown>;
@@ -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":"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"}
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, _c, parsedRule, extractedSegmentKeys, feature, segments, segmentsDirectory, segmentFiles, _d, segmentFiles_1, segmentKey, parsedSegment, extractedAttributeKeys, segment, attributes, attributesDirectory, attributeFiles, _e, attributeFiles_1, attributeKey, parsedAttribute, attribute, allFeatureKeys, allSegmentKeys, allAttributeKeys, i, _loop_1, _f, allFeatureKeys_1, featureKey, _loop_2, _g, allSegmentKeys_1, segmentKey, _loop_3, _h, allAttributeKeys_1, attributeKey, datafileContentV2;
89
- var _j;
90
- return __generator(this, function (_k) {
91
- switch (_k.label) {
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 = _k.sent(), featureRanges = _a.featureRanges, featureIsInGroup = _a.featureIsInGroup;
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 = _k.sent();
110
+ featureFiles = _j.sent();
111
111
  _i = 0, featureFiles_1 = featureFiles;
112
- _k.label = 3;
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 = _k.sent();
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
- if (parsedFeature.environments[options.environment].expose === false) {
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(parsedFeature.environments[options.environment].expose)) {
132
- exposeTags = parsedFeature.environments[options.environment].expose;
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, _c = parsedFeature.environments[options.environment].rules; _b < _c.length; _b++) {
138
- parsedRule = _c[_b];
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, parsedFeature.environments[options.environment].rules, existingState.features[featureKey], featureRanges.get(featureKey) || []).map(function (t) {
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 (parsedFeature.environments[options.environment].force) {
239
- feature.force = parsedFeature.environments[options.environment].force;
240
- (_j = feature.force) === null || _j === void 0 ? void 0 : _j.forEach(function (f) {
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
- _k.label = 5;
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 = _k.sent();
259
- _d = 0, segmentFiles_1 = segmentFiles;
260
- _k.label = 8;
271
+ segmentFiles = _j.sent();
272
+ _c = 0, segmentFiles_1 = segmentFiles;
273
+ _j.label = 8;
261
274
  case 8:
262
- if (!(_d < segmentFiles_1.length)) return [3 /*break*/, 11];
263
- segmentKey = segmentFiles_1[_d];
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 = _k.sent();
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
- _k.label = 10;
295
+ _j.label = 10;
283
296
  case 10:
284
- _d++;
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 = _k.sent();
293
- _e = 0, attributeFiles_1 = attributeFiles;
294
- _k.label = 13;
305
+ attributeFiles = _j.sent();
306
+ _d = 0, attributeFiles_1 = attributeFiles;
307
+ _j.label = 13;
295
308
  case 13:
296
- if (!(_e < attributeFiles_1.length)) return [3 /*break*/, 16];
297
- attributeKey = attributeFiles_1[_e];
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 = _k.sent();
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
- _k.label = 15;
328
+ _j.label = 15;
316
329
  case 15:
317
- _e++;
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 (_f = 0, allFeatureKeys_1 = allFeatureKeys; _f < allFeatureKeys_1.length; _f++) {
332
- featureKey = allFeatureKeys_1[_f];
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 (_g = 0, allSegmentKeys_1 = allSegmentKeys; _g < allSegmentKeys_1.length; _g++) {
341
- segmentKey = allSegmentKeys_1[_g];
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 (_h = 0, allAttributeKeys_1 = allAttributeKeys; _h < allAttributeKeys_1.length; _h++) {
350
- attributeKey = allAttributeKeys_1[_h];
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
  }